Conversor de cartesianas para polares
Transforme x e y em forma polar: o ponto (3, 4) fica a 5 unidades da origem, com ângulo de 0,927295218002 radiano. O ângulo sempre cai no quadrante correto e, quando sai negativo, o ponto está abaixo do eixo. Grátis no seu navegador.
- Grátis
- Funciona no seu navegador
- Sem cadastro
- Seus dados não saem do seu aparelho
Executar grátis
Exemplo resolvido
- X
- 3
- Y
- 4
- Raio
- 5
- Ângulo
- 0,927295218
- Unidade de ângulo
- rad
Este conversor de coordenadas cartesianas para polares pega um ponto dado pela coordenada horizontal x e pela coordenada vertical y e devolve o mesmo ponto em forma polar: o raio, que é a distância em linha reta até a origem, e o ângulo em radianos medido no sentido anti-horário a partir do eixo x positivo. O ângulo é calculado com o arco tangente de dois argumentos, portanto sempre cai no quadrante correto, e ângulos negativos indicam que o ponto está abaixo do eixo. As duas entradas devem ser números finitos; qualquer outra coisa é rejeitada com um erro de validação claro.
De x e y para raio e ângulo
As coordenadas cartesianas localizam um ponto caminhando por dois eixos perpendiculares: x passos para a direita e y passos para cima. As coordenadas polares localizam exatamente o mesmo ponto de outra forma: dizendo a que distância ele está da origem e em que direção. A distância é o raio, calculado como a hipotenusa do triângulo retângulo que x e y formam, então para o ponto (3, 4) o raio é exatamente 5.
A direção é o ângulo, medido em radianos no sentido anti-horário a partir do eixo x positivo, de modo que um ponto no eixo y positivo está em um ângulo de π/2, cerca de 1.5708. Enviar as duas coordenadas a este conversor de cartesianas para polares devolve os dois valores em uma única chamada, sem etapas intermediárias para você encadear.
Como o raio vem de um cálculo de hipotenusa e não de uma raiz quadrada ingênua da soma dos quadrados, o resultado permanece preciso e evita overflow mesmo quando as coordenadas são números finitos muito grandes, o que importa em pipelines científicos e de engenharia onde as coordenadas chegam rotineiramente aos milhões.
Por que o ângulo usa atan2 e vive em radianos
Um arco tangente simples de y dividido por x não consegue distinguir um ponto no primeiro quadrante de um no terceiro, porque a razão é idêntica, e quebra completamente quando x é zero. O arco tangente de dois argumentos, atan2, observa os sinais das duas coordenadas, então o ângulo retornado sempre aponta para o quadrante correto e é definido para todo ponto exceto a origem exata.
O resultado fica no intervalo semiaberto de -π a π: valores positivos significam que o ponto está acima do eixo x, valores negativos significam abaixo, exatamente π significa rumo à esquerda e zero significa rumo à direita. A origem é um caso especial: seu raio é zero e seu ângulo é matematicamente indefinido, então este conversor retorna um ângulo de zero por convenção em vez de falhar, o que mantém os pipelines totais e previsíveis sem deixar de documentar a escolha.
Validação, determinismo e onde ele se encaixa
Cada coordenada deve ser um número finito. Os resultados são arredondados em doze casas decimais para que as comparações fiquem estáveis entre máquinas e motores JavaScript. Os chamadores típicos são código de robótica e jogos que converte vetores de joystick ou sensores em rumo e magnitude, ferramentas de física que preferem a forma polar para problemas de rotação e trabalhos de visualização de dados que posicionam pontos em gráficos radiais.
Casos de uso
Rumo e distância para robótica
Transforme um vetor de joystick ou sensor (x, y) em magnitude e ângulo de rumo em radianos que controladores de motores e planejadores de rota consomem diretamente.
Matemática de física e engenharia
Passe um vetor para a forma polar para separar magnitude de direção antes de aplicar equações de rotação ou de ondas.
Gráficos radiais e visualização
Converta pontos de dados em raio e ângulo para posicioná-los em gráficos polares, radares e mapas de calor circulares.
Perguntas frequentes
Quanto custa?
A mesma conversão é grátis no seu navegador nesta página.
O que é retornado exatamente?
O raio (distância até a origem), o ângulo em radianos no intervalo (-π, π], o marcador de unidade "rad" e as entradas x e y originais.
Por que radianos e não graus?
Radianos são o que as funções trigonométricas de todas as linguagens importantes aceitam, então o resultado alimenta o próximo cálculo sem conversão. Multiplique por 180/π se precisar de graus.
O que acontece na origem (0, 0)?
O raio é 0 e o ângulo é matematicamente indefinido, então o conversor retorna um ângulo de 0 por convenção em vez de falhar.
Quais entradas são rejeitadas?
Tudo que não for um número finito: campos ausentes, null, booleanos, arrays, strings vazias ou não numéricas, NaN e Infinity. Strings numéricas como "3.5" são aceitas.
O ângulo está sempre no quadrante correto?
Sim. Ele é calculado com o arco tangente de dois argumentos atan2(y, x), que usa os sinais das duas coordenadas para posicionar o ângulo no quadrante correto.
Ferramentas relacionadas
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/math/cartesian-to-polar \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"x":3,"y":4}'const res = await fetch("https://api.kit.forhosting.com/math/cartesian-to-polar", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"x": 3,
"y": 4
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/math/cartesian-to-polar",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"x": 3,
"y": 4
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/math/cartesian-to-polar", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"x":3,"y":4}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"x":3,"y":4}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/math/cartesian-to-polar", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"x": 3,
"y": 4
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.cartesian_to_polar",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |
Notas técnicas
A mesma conversão roda grátis no seu navegador nesta página, e o mesmo código atende a API paga a US$ 0,002 por requisição.
Por que o ângulo usa atan2 e vive em radianos
Radianos são a unidade natural desta API porque as funções trigonométricas de toda linguagem de programação consomem radianos diretamente, de modo que a resposta alimenta seno, cosseno ou uma matriz de rotação sem etapa de conversão.
Validação, determinismo e onde ele se encaixa
O endpoint aceita números JSON e strings numéricas como "3.5" ou "-2", o que é conveniente quando os valores chegam como campos de formulário, mas rejeita nulos, strings vazias, booleanos, arrays, o texto NaN e qualquer valor infinito, respondendo com um erro de entrada inválida que nomeia o campo culpado em vez de produzir silenciosamente um ângulo sem sentido. Ele roda no edge em milissegundos, não guarda nada após a resposta e custa US$ 0,002 por requisição pela API, além de ser grátis de forma interativa no navegador.