Ângulo entre dois rumos
A calculadora de ângulo entre dois rumos encontra a menor separação entre quaisquer duas direções da bússola.
Executar grátis
Informe os dois rumos em graus; cada direção é normalizada antes da comparação, portanto valores fora da faixa habitual de zero a 360 graus também são aceitos. O resultado é sempre um ângulo absoluto entre zero e 180 graus. Assim, a passagem pelo norte funciona corretamente: 350 graus e 10 graus estão separados por apenas 20 graus, e não por 340.
Como informar e interpretar dois rumos
Informe o primeiro e o segundo rumo como números medidos em graus no sentido horário a partir do norte. Um rumo de 0 graus aponta para o norte, 90 para o leste, 180 para o sul e 270 para o oeste. Valores decimais são aceitos, o que ajuda quando um instrumento de navegação ou outro cálculo fornece um curso com precisão maior que um grau inteiro. As entradas também podem ser negativas ou maiores que 360, pois a calculadora normaliza cada uma para a direção equivalente dentro de uma volta completa. Por exemplo, -10 graus indica a mesma direção que 350 graus, enquanto 725 graus equivale a 5 graus. O ângulo retornado é uma separação absoluta; por isso, trocar a ordem dos dois rumos não muda a resposta. Um resultado de 0 graus significa que ambos apontam para a mesma direção. Um resultado de 180 graus indica direções exatamente opostas. Qualquer outro valor representa o giro mais curto entre elas, sem classificá-lo como bombordo, estibordo, esquerda, direita, horário ou anti-horário.
Por que uma subtração comum pode dar o ângulo errado
Os rumos ficam sobre um círculo, portanto as extremidades da escala se encontram: 0 e 360 graus representam o norte. Subtrair um rumo do outro sem considerar isso ignora o limite circular. Com rumos de 350 e 10 graus, a subtração direta produz uma diferença absoluta de 340 graus, embora as direções estejam a apenas 20 graus uma da outra ao cruzar o norte. A calculadora primeiro ajusta as duas entradas ao intervalo que vai de 0 até imediatamente antes de 360. Em seguida, calcula a diferença direta absoluta. Quando ela supera 180, usa a parte complementar do círculo, obtida por 360 menos a diferença direta. Isso garante o menor ângulo possível e limita a resposta a 180 graus. O método também trata voltas equivalentes de forma consistente: 10 e 370 graus produzem zero, enquanto -90 e 90 graus produzem 180. Nenhuma aproximação trigonométrica é necessária; assim, entradas finitas em graus geram um resultado determinístico, apropriado para cálculos repetíveis e verificações automatizadas.
Como usar o resultado em navegação e planejamento
O menor ângulo é útil quando o tamanho de uma mudança de direção importa mais que o seu sinal. Uma pessoa responsável pela navegação pode comparar o curso planejado com o rumo informado, um profissional de topografia pode conferir a separação entre dois azimutes e quem planeja uma rota pode medir o quanto uma mudança será acentuada. O resultado, sozinho, não informa para que lado virar. Se um rumo for 20 graus e o outro 300, a menor separação será 80 graus, mas escolher o sentido horário ou anti-horário exige uma convenção de giro com sinal e a definição do rumo inicial. Esta calculadora evita essa ambiguidade e retorna somente o mínimo absoluto. Ela também não considera declinação magnética, desvio da bússola, vento, corrente ou a geometria do deslocamento sobre a Terra. Antes da comparação, converta as duas observações para a mesma referência, como ambas verdadeiras ou ambas magnéticas. Para automação, cada solicitação custa US$ 0,002; o mesmo cálculo determinístico pode ser executado gratuitamente no navegador.
Casos de uso
Comparar um rumo com um curso planejado
Meça a menor diferença entre o rumo da embarcação ou aeronave e a direção que deveria ser seguida.
Conferir a separação de azimutes topográficos
Descubra a separação angular aguda, reta, obtusa ou oposta entre duas direções medidas, inclusive ao cruzar o norte.
Avaliar mudanças de direção em uma rota
Calcule o tamanho do giro entre rumos consecutivos sem interpretar o limite de zero grau como um grande desvio.
Perguntas frequentes
Qual pode ser a faixa do resultado?
O resultado fica sempre entre 0 e 180 graus, incluindo os dois extremos.
Posso informar rumos negativos ou valores acima de 360 graus?
Sim. Toda entrada finita é normalizada para a direção equivalente antes do cálculo da diferença.
Por que 350 graus e 10 graus estão separados por apenas 20 graus?
As direções ficam em lados opostos do norte, onde a escala volta de 360 para 0. O caminho mais curto por esse limite mede 20 graus.
A resposta informa se devo virar à esquerda ou à direita?
Não. Ela representa o menor ângulo absoluto. Um giro com sinal exige um rumo inicial e uma convenção de sentido horário ou anti-horário.
Posso comparar um rumo verdadeiro com um rumo magnético?
Primeiro, converta ambos para a mesma referência. A calculadora não aplica declinação magnética nem desvio da bússola.
Quanto custa uma solicitação via API?
Cada solicitação via API custa US$ 0,002. O cálculo no navegador é gratuito.
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/trig/angle-between-bearings \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"first_bearing":350,"second_bearing":10}'const res = await fetch("https://api.kit.forhosting.com/trig/angle-between-bearings", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"first_bearing": 350,
"second_bearing": 10
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/trig/angle-between-bearings",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"first_bearing": 350,
"second_bearing": 10
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/trig/angle-between-bearings", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"first_bearing":350,"second_bearing":10}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"first_bearing":350,"second_bearing":10}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/trig/angle-between-bearings", 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
{
"first_bearing": 350,
"second_bearing": 10
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "trig.angle_between_bearings",
"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. |