Calculateur de l’équation vis-viva
Avec un μ de 398600,4418 km³/s², un éloignement de 7000 km et un demi-grand axe de 10000 km, la vitesse orbitale vaut 8,60382451787 km/s. Indiquez ces trois valeurs dans un même système d'unités. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- Paramètre gravitationnel
- 398 600,4418
- Rayon actuel
- 7 000
- Demi-grand axe
- 10 000
- Vitesse orbitale
- 8,6038245179
- Vitesse au carré
- 74,0257963343
Ce calculateur détermine la vitesse orbitale instantanée à partir du paramètre gravitationnel du corps principal, de la distance actuelle à son centre et du demi-grand axe. Il convient aux orbites elliptiques, dont le cercle est un cas particulier, ainsi qu’aux trajectoires hyperboliques lorsque le demi-grand axe est négatif. Utilisez des unités cohérentes pour toutes les distances : la vitesse adoptera l’unité distance-temps correspondante. Le calcul est déterministe et signale toute géométrie impossible au lieu de produire une vitesse imaginaire.
Choisissez des unités cohérentes
Exprimez mu en distance au cube par temps au carré, puis le rayon actuel et le demi-grand axe dans la même unité de distance. Avec mu en km^3/s^2 et les distances en km, la vitesse sort en km/s. Le rayon se mesure depuis le centre du corps principal, jamais depuis sa surface.
Le demi-grand axe décrit la conique entière : il est positif pour une ellipse et négatif pour une hyperbole. Dans un cercle, il égale le rayon. Le calculateur n’invente ni ne convertit les unités, car une valeur numérique seule ne permet pas de reconnaître le système employé.
Interprétez le calcul
La formule est v = sqrt(mu × (2/r − 1/a)). Elle traduit la conservation de l’énergie orbitale spécifique. Sur une ellipse, la vitesse augmente au périastre et diminue à l’apoastre.
Si r égale a, elle devient sqrt(mu/r), la formule circulaire. Pour une hyperbole, a est négatif et la vitesse dépasse le seuil local d’échappement. Elle donne uniquement une norme, sans direction, inclinaison ni angle de trajectoire.
Repérez les géométries impossibles
Un rayon nul rend 2/r indéfini et un demi-grand axe nul rend 1/a indéfini : ces deux entrées sont donc refusées. Le rayon et le paramètre gravitationnel doivent être positifs, tandis que le demi-grand axe peut être négatif pour une hyperbole. Si 2/r − 1/a devient négatif, le point indiqué ne peut appartenir à cette orbite réelle et une erreur est renvoyée.
Le modèle suppose deux corps et un primaire ponctuel ou sphérique. Aplatissement, traînée, poussée, pression radiative et corps tiers exigent un propagateur plus complet.
Cas d’usage
Contrôler une orbite elliptique
Comparez les vitesses au périastre, à l’apoastre ou à un rayon intermédiaire.
Étudier un départ hyperbolique
Employez un demi-grand axe négatif pour une trajectoire d’échappement ou de survol.
Valider une éphéméride
Vérifiez indépendamment la cohérence entre vitesse, orbite et distance actuelle.
Questions fréquentes
Quelles unités utiliser ?
Choisissez un système cohérent : km^3/s^2 et km donnent des km/s ; le SI donne des m/s.
Le rayon est-il l’altitude ?
Non. Il part du centre du corps principal ; ajoutez le rayon de référence à l’altitude si nécessaire.
Le demi-grand axe peut-il être négatif ?
Oui, pour une hyperbole. Zéro reste interdit puisque la formule divise par cette valeur.
Pourquoi certains rayons sont-ils refusés ?
Ils peuvent rendre la vitesse au carré négative, signe d’une géométrie incompatible.
La direction est-elle fournie ?
Non. Il faut aussi la position, les éléments orbitaux ou l’angle de trajectoire.
Outils associés
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre 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)Exemple de requête
{
"gravitational_parameter": 398600.4418,
"current_radius": 7000,
"semi_major_axis": 10000
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "mech.vis_viva",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |
Notes techniques
Interprétez le calcul
La réponse fournit la vitesse et son carré, arrondis à douze chiffres significatifs pour stabiliser le JSON.
Questions techniques
Quel est le prix d’un calcul API ?
Chaque requête API coûte $0.002. Le navigateur exécute aussi localement ce calcul déterministe.