Angolo di fase per finestre di lancio Hohmann
Questo calcolatore determina dove deve trovarsi il pianeta di destinazione rispetto a quello di origine all’inizio di un trasferimento di Hohmann.
Esegui gratis nel browser
Inserisca il tempo di trasferimento previsto e il periodo orbitale della destinazione nella stessa unità. Lo strumento calcola l’avanzamento del pianeta durante il volo, lo sottrae ai 180 gradi della geometria di arrivo e restituisce l’angolo normalizzato insieme ai passaggi intermedi.
Significato dell’angolo di fase al lancio
Un trasferimento di Hohmann non punta alla posizione occupata dal pianeta di destinazione al momento della partenza. Il veicolo percorre metà di un’orbita ellittica mentre la destinazione continua a muoversi attorno al corpo centrale; occorre quindi una precisa separazione angolare iniziale. Qui l’angolo è definito come longitudine eliocentrica della destinazione meno longitudine dell’origine, misurata nel verso del moto orbitale e normalizzata tra 0 e meno di 360 gradi. Un risultato vicino a 44 gradi indica che la destinazione deve precedere l’origine di circa 44 gradi. Un valore superiore a 180 gradi rappresenta la forma normalizzata di un angolo grezzo negativo: 300 gradi equivale in pratica a 60 gradi di ritardo. Il modello presume orbite circolari e complanari e una geometria ideale in cui il veicolo percorre 180 gradi attorno al corpo centrale. È una relazione preliminare, non una soluzione di traiettoria completa.
Procedimento di calcolo
Usi la stessa unità di tempo per entrambi i dati: giorni con giorni, anni con anni oppure secondi con secondi. Il rapporto fra tempo di trasferimento e periodo orbitale della destinazione è adimensionale. Il calcolatore moltiplica prima tale rapporto per 360 gradi per ricavare lo spostamento angolare della destinazione durante il viaggio. Sottrae poi questo valore da 180 gradi, la separazione fra gli estremi di partenza e arrivo dell’ellisse di Hohmann. Con valori ipotetici insoliti, l’angolo grezzo può essere negativo o superare un giro. Per confrontarlo agevolmente con le longitudini delle effemeridi viene fornita anche la forma normalizzata tra 0 e meno di 360 gradi. Restano visibili lo spostamento della destinazione, la frazione di orbita e l’angolo non normalizzato, così Lei può verificare i passaggi e riconoscere unità temporali incoerenti.
Ipotesi, interpretazione e passi successivi
La formula è utile per una prima stima di una finestra interplanetaria. Considera orbite circolari e complanari, velocità angolari costanti e un inserimento istantaneo nell’ellisse ideale. I pianeti reali hanno orbite eccentriche e inclinate, cambiano velocità e una missione può scegliere trasferimenti più rapidi o più lenti. Prima di considerare operativa una data servono effemeridi planetarie e un risolutore di Lambert. Il risultato descrive soltanto la geometria relativa: non converte l’angolo in una data, non ricava il tempo di volo dai raggi orbitali e non include ripetizione sinodica o orbita di parcheggio. Confronti le longitudini eliocentriche di origine e destinazione nello stesso sistema e alla stessa epoca, individui quando la differenza orientata coincide con l’angolo normalizzato e affini quindi la data con vincoli di traiettoria e sito di lancio.
Casi d'uso
Stimare la geometria di un lancio interplanetario
Converta un tempo di viaggio Hohmann e l’anno della destinazione nella separazione iniziale richiesta.
Verificare esercizi di meccanica orbitale
Controlli l’avanzamento della destinazione e l’angolo finale attraverso tutti i risultati intermedi.
Selezionare date candidate dalle effemeridi
Adoperi l’angolo ideale come primo filtro prima di Lambert e di vincoli di missione più accurati.
Domande frequenti
Quale equazione viene utilizzata?
Il calcolo esegue 180 gradi meno 360 gradi moltiplicati per transfer_time diviso target_orbital_period, quindi normalizza il risultato tra 0 e meno di 360 gradi.
Quale unità di tempo deve usare?
Qualsiasi unità va bene purché sia uguale per entrambi i valori. Mescolare giorni e anni altera il rapporto e l’angolo.
Perché vengono restituiti angolo grezzo e normalizzato?
Il valore grezzo mostra direttamente la formula; quello normalizzato esprime la stessa direzione con un angolo positivo entro un giro.
Perché un periodo orbitale pari a zero genera un errore?
Il periodo è il denominatore del moto angolare. La divisione per zero è indefinita e non ha significato fisico.
Quanto costa una richiesta API?
Ogni richiesta API costa $0.002. Il browser impiega la stessa logica analitica deterministica.
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/astro/launch-window-phase-angle \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"transfer_time":258.9,"target_orbital_period":686.98}'const res = await fetch("https://api.kit.forhosting.com/astro/launch-window-phase-angle", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"transfer_time": 258.9,
"target_orbital_period": 686.98
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/astro/launch-window-phase-angle",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"transfer_time": 258.9,
"target_orbital_period": 686.98
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/astro/launch-window-phase-angle", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"transfer_time":258.9,"target_orbital_period":686.98}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"transfer_time":258.9,"target_orbital_period":686.98}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/astro/launch-window-phase-angle", 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
{
"transfer_time": 258.9,
"target_orbital_period": 686.98
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "astro.launch_window_phase_angle",
"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. |