Calcolatore dell’equazione vis-viva
Con un μ di 398600,4418 km³/s², una distanza di 7000 km e un semiasse maggiore di 10000 km, la velocità orbitale è di 8,60382451787 km/s. Inserisca i tre valori nello stesso sistema di unità. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- Parametro gravitazionale
- 398.600,4418
- Raggio attuale
- 7000
- Semiasse maggiore
- 10.000
- Velocità orbitale
- 8,6038245179
- Velocità al quadrato
- 74,0257963343
Questo calcolatore ricava la velocità orbitale istantanea dal parametro gravitazionale del corpo primario, dalla distanza attuale rispetto al suo centro e dal semiasse maggiore dell’orbita. Funziona per traiettorie ellittiche, compresa l’orbita circolare come caso particolare, e per traiettorie iperboliche con semiasse maggiore negativo. Inserisca tutte le distanze in un sistema coerente: la velocità userà la corrispondente unità di distanza per tempo. Il calcolo è deterministico e segnala geometrie impossibili senza restituire velocità immaginarie.
Scelga unità coerenti
Esprima mu come distanza al cubo per tempo al quadrato e usi la stessa unità di distanza per raggio e semiasse maggiore. Con mu in km^3/s^2 e distanze in km, la velocità è in km/s. Il raggio parte dal centro del corpo primario, non dalla superficie.
Il semiasse maggiore descrive l’intera conica: positivo per un’ellisse, negativo per un’iperbole; nel cerchio coincide con il raggio. Il calcolatore non assegna né converte unità, perché un numero isolato non rivela il sistema adottato.
Interpreti la formula
Il calcolo usa v = sqrt(mu × (2/r − 1/a)), conseguenza della conservazione dell’energia orbitale specifica. Nell’ellisse la velocità è massima al periapside e minima all’apoapside. Se r coincide con a, resta sqrt(mu/r).
Nell’iperbole a è negativo e la velocità supera quella locale di fuga. È fornito soltanto il modulo, non direzione, inclinazione o angolo di traiettoria.
Riconosca dati non validi
Raggio zero e semiasse maggiore zero rendono indefinite le divisioni 2/r e 1/a, quindi sono rifiutati. Raggio e parametro gravitazionale devono essere positivi; il semiasse può invece essere negativo per un’iperbole. Se 2/r − 1/a è negativo, quel punto non appartiene all’orbita reale indicata e viene restituito un errore.
Il modello è kepleriano a due corpi. Schiacciamento, resistenza atmosferica, spinta, pressione di radiazione e terzi corpi richiedono un propagatore orbitale.
Casi d'uso
Verificare un’orbita ellittica
Confronti le velocità previste al periapside, all’apoapside o a un raggio intermedio.
Valutare una partenza iperbolica
Usi un semiasse negativo per una traiettoria di fuga o sorvolo.
Convalidare un’effemeride
Controlli indipendentemente la coerenza tra velocità, orbita e distanza.
Domande frequenti
Quali unità devo usare?
Usi un sistema coerente: km^3/s^2 e km producono km/s; le unità SI producono m/s.
Il raggio attuale è l’altitudine?
No. Si misura dal centro del primario; aggiunga all’altitudine il raggio di riferimento quando opportuno.
Il semiasse maggiore può essere negativo?
Sì, per un’iperbole. Zero non è valido perché compare al denominatore.
Perché alcuni raggi vengono rifiutati?
Possono produrre una velocità al quadrato negativa e quindi una geometria incompatibile.
Viene fornita la direzione?
No. Servono posizione, elementi orbitali o angolo di traiettoria.
Strumenti correlati
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/mech/vis-viva \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"gravitational_parameter":398600.4418,"current_radius":7000,"semi_major_axis":10000}'const res = await fetch("https://api.kit.forhosting.com/mech/vis-viva", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"gravitational_parameter": 398600.4418,
"current_radius": 7000,
"semi_major_axis": 10000
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/mech/vis-viva",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"gravitational_parameter": 398600.4418,
"current_radius": 7000,
"semi_major_axis": 10000
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/mech/vis-viva", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"gravitational_parameter":398600.4418,"current_radius":7000,"semi_major_axis":10000}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"gravitational_parameter":398600.4418,"current_radius":7000,"semi_major_axis":10000}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/mech/vis-viva", 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
{
"gravitational_parameter": 398600.4418,
"current_radius": 7000,
"semi_major_axis": 10000
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "mech.vis_viva",
"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. |
Note tecniche
Interpreti la formula
La risposta include velocità e velocità al quadrato, arrotondate a dodici cifre significative per un JSON stabile.
Domande tecniche
Quanto costa un calcolo API?
Ogni richiesta API costa $0.002. Nel browser lo stesso calcolo deterministico può essere eseguito localmente.