Conversor para coordenadas cilíndricas
O ponto (3, 4, 5) fica com raio 5, azimute de cerca de 0,9273 radiano e altura 5. O ângulo sempre cai no quadrante certo, mesmo quando x ou y são negativos. 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
- Z
- 5
- Raio
- 5
- Azimute
- 0,927295218
- Unidade do azimute
- rad
- Altura
- 5
O conversor de coordenadas cilíndricas pega um ponto no espaço tridimensional dado pelas suas coordenadas cartesianas x, y e z e devolve o mesmo ponto em forma cilíndrica: o raio, que é a distância do eixo vertical z até o ponto; o azimute, que é o ângulo em radianos medido no sentido anti-horário a partir do eixo x positivo no plano horizontal; e a altura, que é simplesmente a coordenada z mantida sem alteração. O azimute é calculado com o arco tangente de dois argumentos, portanto sempre cai no quadrante correto. As três entradas devem ser números finitos; qualquer outra coisa é rejeitada com um erro de validação claro que nomeia o campo culpado.
De x, y e z para raio, azimute e altura
As coordenadas cartesianas localizam um ponto no espaço caminhando por três eixos perpendiculares: x para a direita, y para a frente e z para cima. As coordenadas cilíndricas descrevem exatamente o mesmo ponto como faria uma tela de radar: a que distância o ponto está do eixo vertical, em que direção de bússola ao redor desse eixo ele se encontra e a que altura ele está.
O raio é a hipotenusa do triângulo retângulo que x e y formam no plano horizontal, então para o ponto (3, 4, 5) o raio é exatamente 5, o azimute é cerca de 0.9273 radianos e a altura é 5. A altura nunca muda na conversão, o que é exatamente o que torna as coordenadas cilíndricas tão convenientes: são apenas coordenadas polares no plano horizontal com a coordenada vertical acrescentada intacta. Enviar as três coordenadas a este conversor de coordenadas cilíndricas devolve os três valores em uma única chamada.
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 próprias coordenadas são números finitos muito grandes, o que importa em pipelines de engenharia onde as magnitudes chegam rotineiramente aos milhões.
Por que o azimute 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 azimute retornado sempre aponta para o quadrante correto e é definido para todo ponto exceto aqueles exatamente sobre o eixo z.
O resultado fica no intervalo semiaberto de -π a π: valores positivos significam que o ponto está na direção do y positivo, valores negativos na direção do y negativo, exatamente π significa rumo à esquerda ao longo do eixo x negativo e zero significa rumo à direita.
Pontos sobre o próprio eixo z, onde x e y são ambos zero, são um caso especial: o raio é zero e o azimute é matematicamente indefinido, então este conversor retorna um azimute 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 uma das três coordenadas 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 física e eletromagnetismo que prefere simetria cilíndrica ao redor de um fio ou tubo, ferramentas de robótica e jogos que convertem vetores de sensores em rumo, alcance e elevação, pipelines de computação gráfica que posicionam pontos ao redor de um eixo de revolução e trabalhos geoespaciais que pensam em direção e distância horizontal.
Casos de uso
Física com simetria cilíndrica
Passe um ponto para a forma de raio, azimute e altura antes de resolver equações de campo, escoamento ou ondas ao redor de um fio, tubo ou eixo de revolução.
Robótica e sensoriamento 3D
Transforme uma leitura de lidar ou sensor (x, y, z) em alcance horizontal, ângulo de rumo e elevação que controladores e planejadores de rota consomem diretamente.
Pipelines de gráficos e CAD
Converta vértices para a forma cilíndrica para posicioná-los, rotacioná-los ou torneá-los ao redor de um eixo vertical sem refazer a matemática em cada ferramenta.
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é o eixo z), o azimute em radianos no intervalo (-π, π], o marcador de unidade "rad", a altura (z inalterado) e as entradas x, y e z 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 quando x e y são ambos zero?
O ponto está sobre o eixo z: o raio é 0 e o azimute é matematicamente indefinido, então o conversor retorna um azimute 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 azimute está sempre no quadrante correto?
Sim. Ele é calculado com o arco tangente de dois argumentos atan2(y, x), que usa os sinais de x e y 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/cylindrical-coordinates \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"x":3,"y":4,"z":5}'const res = await fetch("https://api.kit.forhosting.com/math/cylindrical-coordinates", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"x": 3,
"y": 4,
"z": 5
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/math/cylindrical-coordinates",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"x": 3,
"y": 4,
"z": 5
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/math/cylindrical-coordinates", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"x":3,"y":4,"z":5}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"x":3,"y":4,"z":5}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/math/cylindrical-coordinates", 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,
"z": 5
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.cylindrical_coordinates",
"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 azimute 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; multiplique por 180 sobre π se precisar de graus.
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.