Angolo tra due rotte
Il calcolatore dell'angolo tra due rotte determina la separazione più piccola tra due direzioni della bussola.
Esegui gratis nel browser
Inserisca entrambe le rotte in gradi: ogni direzione viene normalizzata prima del confronto, quindi sono validi anche valori esterni al consueto intervallo da zero a 360 gradi. Il risultato è sempre un angolo assoluto compreso tra zero e 180 gradi. In questo modo il passaggio a nord viene gestito correttamente: 350 gradi e 10 gradi distano soltanto 20 gradi, non 340.
Come inserire e interpretare due rotte
Inserisca la prima e la seconda rotta come numeri espressi in gradi in senso orario a partire dal nord. Una rotta di 0 gradi punta a nord, 90 a est, 180 a sud e 270 a ovest. Sono ammessi valori decimali, utili quando uno strumento di navigazione o un calcolo fornisce una direzione con una precisione superiore al grado intero. Gli input possono anche essere negativi o maggiori di 360, perché il calcolatore normalizza ciascuno nella direzione equivalente entro un giro completo. Per esempio, -10 gradi indica la stessa direzione di 350 gradi, mentre 725 gradi equivale a 5 gradi. L'angolo restituito è una separazione assoluta, perciò invertire l'ordine delle due rotte non modifica la risposta. Un risultato di 0 gradi significa che entrambe indicano la stessa direzione. Un risultato di 180 gradi indica direzioni esattamente opposte. Ogni altro valore rappresenta la rotazione più breve tra esse, senza definirla babordo, tribordo, sinistra, destra, oraria o antioraria.
Perché una normale sottrazione può dare l'angolo sbagliato
Le rotte si trovano su un cerchio, quindi gli estremi numerici coincidono: 0 gradi e 360 gradi rappresentano entrambi il nord. Sottrarre semplicemente una rotta dall'altra ignora questo confine circolare. Con 350 e 10 gradi, la sottrazione diretta produce una differenza assoluta di 340 gradi, sebbene le direzioni distino solo 20 gradi attraversando il nord. Il calcolatore riporta prima entrambi gli input nell'intervallo che parte da 0 e termina appena prima di 360. Calcola poi la differenza diretta assoluta. Quando questa supera 180, usa la parte complementare del cerchio, ottenuta sottraendo la differenza diretta da 360. Il procedimento garantisce l'angolo più piccolo possibile e limita la risposta a 180 gradi. Gestisce inoltre in modo coerente i giri equivalenti: 10 e 370 gradi producono zero, mentre -90 e 90 producono 180. Non servono approssimazioni trigonometriche; ogni input finito in gradi genera quindi un risultato deterministico, adatto a calcoli ripetibili e controlli automatizzati.
Come usare il risultato nella navigazione e nella pianificazione
L'angolo minimo è utile quando conta l'ampiezza di un cambio di direzione più del suo segno. Lei può confrontare una rotta pianificata con una prua rilevata, verificare la separazione tra due azimut di rilievo oppure misurare quanto sarà marcato un cambio lungo un percorso. Il risultato da solo non indica in quale verso girare. Se una rotta è 20 gradi e l'altra 300, la separazione minima è 80 gradi, ma la scelta tra senso orario e antiorario richiede una convenzione di rotazione con segno e la conoscenza della direzione iniziale. Il calcolatore evita volutamente tale ambiguità restituendo solo il minimo assoluto. Inoltre non considera declinazione magnetica, deviazione della bussola, vento, corrente o geometria del moto sulla Terra. Prima del confronto, converta entrambe le osservazioni allo stesso riferimento, per esempio tutte e due vere oppure tutte e due magnetiche. Per l'uso automatizzato, ogni richiesta costa $0.002; lo stesso calcolo deterministico può essere eseguito gratuitamente nel browser.
Casi d'uso
Confrontare la prua con una rotta pianificata
Misuri la minore differenza tra la prua di un'imbarcazione o di un aeromobile e la direzione prevista.
Verificare la separazione tra azimut di rilievo
Determini la separazione acuta, retta, ottusa oppure opposta tra due direzioni rilevate, anche quando attraversano il nord.
Valutare i cambi di direzione di un percorso
Calcoli l'ampiezza della svolta tra rotte consecutive senza interpretare il confine di zero gradi come una grande deviazione.
Domande frequenti
Quale intervallo può avere il risultato?
Il risultato è sempre compreso tra 0 e 180 gradi, estremi inclusi.
Posso inserire rotte negative o valori superiori a 360 gradi?
Sì. Ogni input finito viene normalizzato nella direzione equivalente prima di calcolare la differenza.
Perché 350 gradi e 10 gradi distano soltanto 20 gradi?
Le direzioni si trovano ai lati del nord, dove la scala riparte da 0 dopo 360. Il percorso più breve attraverso quel confine misura 20 gradi.
La risposta indica se devo girare a sinistra o a destra?
No. È il più piccolo angolo assoluto. Una rotazione con segno richiede una direzione iniziale e una convenzione oraria o antioraria.
Posso confrontare una rotta vera con una magnetica?
Le converta prima allo stesso riferimento. Il calcolatore non applica la declinazione magnetica né la deviazione della bussola.
Quanto costa una richiesta API?
Ogni richiesta API costa $0.002. Il calcolo nel browser è gratuito.
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo stack
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)Esempio di richiesta
{
"first_bearing": 350,
"second_bearing": 10
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "trig.angle_between_bearings",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |