Temps d’un projectile à une hauteur
Ce calculateur détermine les deux instants auxquels un projectile atteint une hauteur donnée au-dessus de son point de départ.
Lancer gratuitement
Indiquez la vitesse et l’angle de lancement, la hauteur cible et, si nécessaire, l’accélération gravitationnelle locale. Le résultat distingue le passage en phase ascendante du passage en phase descendante et fournit également la hauteur maximale de la trajectoire. Si l’élévation demandée dépasse le sommet, le calculateur renvoie une erreur explicite plutôt que des temps imaginaires ou trompeurs. Cet outil convient à l’étude de la physique, au contrôle des trajectoires et aux calculs d’ingénierie reproductibles.
Saisissez un scénario de lancement cohérent
Indiquez la vitesse de lancement en mètres par seconde, l’angle en degrés au-dessus de l’horizontale et la hauteur cible en mètres au-dessus du point de lancement. La position initiale constitue donc le niveau zéro ; la valeur ne correspond pas à une altitude au-dessus du niveau de la mer, sauf si le lancement a précisément lieu à ce niveau. La gravité s’exprime en mètres par seconde carrée et prend par défaut la valeur conventionnelle de la gravité terrestre, 9.80665. Vous pouvez la remplacer si un exercice impose une autre valeur ou si vous modélisez un environnement différent. Conservez toutes les grandeurs dans les unités indiquées, car le calculateur ne convertit pas discrètement les kilomètres par heure, les pieds, les radians ou d’autres conventions. L’angle doit être strictement positif et inférieur ou égal à quatre-vingt-dix degrés ; la vitesse et la gravité doivent également être positives. Une hauteur cible nulle est valide et renvoie l’instant du lancement comme premier passage. Ces définitions rendent les données sans ambiguïté et rattachent les deux temps au même référentiel physique. La résistance de l’air, la portance, le vent, la courbure terrestre et une gravité variable ne sont pas pris en compte dans ce modèle idéal.
Comprenez le calcul des deux temps de passage
Le calcul commence par la décomposition de la vitesse de lancement afin d’obtenir sa composante verticale grâce au sinus de l’angle. La position verticale suit ensuite l’équation d’un mouvement à accélération constante : la hauteur est égale à la vitesse verticale multipliée par le temps, moins la moitié de la gravité multipliée par le carré du temps. En égalant cette position à la hauteur demandée, on obtient une équation du second degré. Sa plus petite racine réelle correspond au temps de montée, lorsque le projectile atteint le niveau pour la première fois en s’élevant. La plus grande racine réelle correspond au temps de descente, lorsqu’il repasse par ce niveau après le sommet. À la hauteur maximale exacte, les racines coïncident, car le projectile touche cette élévation à un seul instant ; les deux champs affichent donc le même temps. La hauteur maximale indiquée est calculée avec la même composante verticale et la même gravité, ce qui permet de contrôler utilement la demande. Les résultats sont arrondis avec une précision stable afin de produire une sortie JSON reproductible, tandis que le calcul interne conserve la précision habituelle en virgule flottante. Dans ce modèle idéal, la vitesse horizontale ne modifie pas l’instant du franchissement d’un niveau vertical donné.
Interprétez une hauteur inaccessible et exploitez le résultat
Un passage réel n’existe que si le discriminant de l’équation du second degré est positif ou nul. Lorsque la hauteur cible dépasse l’élévation maximale permise par la vitesse, l’angle et la gravité choisis, le discriminant devient négatif et les temps demandés seraient complexes plutôt que physiques. Le calculateur considère cette situation comme une saisie incorrecte et indique la hauteur maximale accessible, afin que vous puissiez modifier le scénario en connaissance de cause. Vous pouvez augmenter la vitesse, choisir un angle plus prononcé, abaisser la hauteur demandée ou appliquer la gravité précisée dans votre problème. Une fois des temps valides obtenus, utilisez la valeur ascendante pour les événements précédant le sommet et la valeur descendante pour ceux qui le suivent, par exemple pour déclencher un capteur, comparer des images vidéo ou vérifier la solution d’un manuel. Gardez à l’esprit que ces temps décrivent le centre de masse du projectile sous une gravité descendante constante. Une balle soumise à une forte traînée, une fusée propulsée ou un objet lancé depuis une plateforme vers un niveau inférieur exige un modèle de mouvement plus complet. Par l’API, chaque calcul coûte $0.002 ; la réponse déterministe facilite les feuilles d’exercices automatisées et les contrôles de simulation.
Cas d’usage
Vérifier un exercice de physique
Comparez les deux racines de l’équation à une solution détaillée et confirmez que le niveau demandé se situe sous le sommet.
Programmer un capteur de hauteur
Estimez les instants de montée et de descente auxquels un projectile idéal traverse l’élévation du capteur.
Valider une simulation simple
Employez des temps de passage analytiques et déterministes comme références pour une simulation discrète du mouvement d’un projectile.
Questions fréquentes
Pourquoi obtient-on deux temps ?
Sous le sommet, le projectile traverse la même hauteur une fois en montant et une fois en descendant.
Que se passe-t-il à la hauteur maximale ?
Les deux racines sont égales, car le projectile atteint le sommet à un seul instant.
Pourquoi la hauteur cible est-elle inaccessible ?
La vitesse verticale initiale choisie ne suffit pas pour atteindre cette hauteur sous la gravité indiquée.
Le calcul tient-il compte de la résistance de l’air ?
Non. Il repose sur un mouvement idéal à gravité descendante constante, sans traînée, vent, portance ni propulsion.
Puis-je utiliser la gravité d’une autre planète ?
Oui. Indiquez toute accélération gravitationnelle positive en mètres par seconde carrée adaptée au scénario idéalisé.
Combien coûte un calcul par l’API ?
Chaque requête coûte $0.002.
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/projectile-time-at-height \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"speed":20,"angle_degrees":60,"height":10}'const res = await fetch("https://api.kit.forhosting.com/mech/projectile-time-at-height", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"speed": 20,
"angle_degrees": 60,
"height": 10
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/mech/projectile-time-at-height",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"speed": 20,
"angle_degrees": 60,
"height": 10
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/mech/projectile-time-at-height", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"speed":20,"angle_degrees":60,"height":10}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"speed":20,"angle_degrees":60,"height":10}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/mech/projectile-time-at-height", 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
{
"speed": 20,
"angle_degrees": 60,
"height": 10
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "mech.projectile_time_at_height",
"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. |