Portée à angles complémentaires
Saisissez 20 m/s et 30° et le calculateur affiche aussi le partenaire à 60° : les deux tirs retombent à la même distance, même si le plus redressé reste plus longtemps en l'air et monte plus haut. Idéal pour démontrer l'identité en classe. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- Vitesse
- 20
- Angle
- 30
- Gravité
- 9,80665
- Angle (degrés)
- 30
- Angle complémentaire (°)
- 60
- Image
- 35,3240058036
- Temps de vol a
- 2,039432426
Dans le mouvement idéal d'un projectile sur un sol plat, chaque angle de lancement a un complémentaire qui atterrit à la même distance horizontale. Ce calculateur de portée à angles complémentaires prend une seule vitesse de lancement et un angle d'élévation, forme l'angle complémentaire de quatre-vingt-dix degrés moins thêta, et renvoie la portée partagée ainsi que le temps de vol et la hauteur maximale des deux trajectoires. Les élèves s'en servent pour prouver l'identité classique selon laquelle le sinus du double de thêta égale le sinus du double du complément ; les entraîneurs, pour montrer qu'un tir plus plat et un tir plus pentu peuvent encore viser la même ligne cible ; et les scripts d'automatisation, comme oracle déterministe pour noter des devoirs ou préparer deux préréglages de lancement.
Pourquoi les angles de lancement complémentaires partagent la même portée
Le mouvement idéal d'un projectile sur un sol plat suppose une gravité constante, sans traînée de l'air, avec lancement et atterrissage à la même hauteur. Sous ces hypothèses, la portée horizontale se réduit à une formule compacte : la portée égale le carré de la vitesse de lancement multiplié par le sinus du double de l'angle d'élévation, le tout divisé par l'accélération gravitationnelle.
Comme le sinus d'un angle égale le sinus de cent quatre-vingts degrés moins cet angle, le sinus de deux thêta égale le sinus de deux fois quatre-vingt-dix moins thêta. Substituer l'angle complémentaire laisse donc l'expression de la portée inchangée. La trajectoire plus pentue reste plus longtemps en l'air et monte plus haut ; la plus plate parcourt le sol plus vite et culmine plus bas ; pourtant les deux touchent la même marque horizontale lorsque la traînée est ignorée.
Cette capacité rend opérationnelle cette identité de manuel : vous fournissez la vitesse et un angle en degrés, recevez l'angle complémentaire, la portée commune, ainsi que le temps de vol et la hauteur maximale de chaque trajectoire. À exactement quarante-cinq degrés les deux angles coïncident et la portée atteint son maximum pour la vitesse donnée. À zéro ou quatre-vingt-dix degrés la portée partagée est nulle faute de vitesse horizontale ou de temps avant l'atterrissage, ce qui constitue une vérification de bord utile plutôt qu'un cas particulier de la formule elle-même.
Contrat d'entrée, sorties et échecs de validation
L'angle doit appartenir à l'intervalle fermé de zéro à quatre-vingt-dix inclus ; toute valeur qui dépasse quatre-vingt-dix degrés est rejetée en entrée invalide, de même pour les angles négatifs, les champs manquants, les nombres non finis et une gravité non positive. La gravité est facultative et, si elle est omise, prend la valeur conventionnelle terrestre de neuf point huit zéro six six cinq mètres par seconde au carré, afin que les exercices de classe qui fixent g à dix ou les problèmes lunaires puissent la remplacer explicitement.
En cas de succès la réponse renvoie la vitesse et la gravité, indique angle deg et complementary angle deg, renvoie la portée partagée avec equal range à true, et liste time of flight a et max height a pour l'angle d'entrée plus time of flight b et max height b pour le complément. Une chaîne formula reformule l'identité pour l'affichage à côté du travail de l'élève, et un objet units étiquette mètres, secondes et degrés. L'arrondi à douze décimales maintient les goldens stables d'un runtime à l'autre.
Une validation échouée ne consomme pas le solde prépayé. Le modèle n'est que de la cinématique dans le vide : les balles réelles parcourent des distances plus courtes dès que traînée, spin et vent interviennent, traitez donc le résultat de portée égale comme référence idéale avant d'ajouter ces effets dans un simulateur distinct.
Où les contrôles de double trajectoire sont utiles
Les salles de physique et les plateformes de tutorat utilisent un calculateur de portée à angles complémentaires pour que les apprenants vérifient à la fois la distance partagée et les temps de vol différents sans double substitution manuelle. Les générateurs d'examens ont besoin d'un oracle déterministe qui ne valide les paires complémentaires que lorsque la portée concorde dans la tolérance, et qui rejette les angles au-dessus de quatre-vingt-dix au lieu de les envelopper.
Les carnets de sciences du sport comparent une trajectoire basse et une haute visant la même marque horizontale avant d'ajouter la traînée. Les concepteurs de jeux choisissent deux préréglages de lancement qui partagent la portée dans le vide pour une cible, puis ajustent les coefficients de traînée par rapport à cette base. Gardez les unités en mètres et en secondes partout, épinglez les champs arrondis dans les tests, et vous obtenez des trajectoires duales reproductibles sans déployer un moteur de physique complet pour une simple identité à deux angles.
Cas d’usage
Preuve en classe de la portée complémentaire
Laissez les élèves saisir la vitesse et un angle, puis confirmer que θ et 90°−θ partagent la portée tandis que le temps de vol et la hauteur d'apex diffèrent comme le prédit le manuel.
Préréglages de lancement jeux et sports
Préparez un arc bas et un arc haut qui partagent la portée dans le vide pour une distance cible avant d'ajouter traînée, spin ou vent dans un modèle plus complet.
Questions fréquentes
Pourquoi les angles complémentaires donnent-ils la même portée de projectile ?
En cinématique idéale sur sol plat, R = v² sin(2θ) / g. Comme sin(2θ) = sin(2(90°−θ)), les angles θ et 90°−θ produisent la même portée horizontale, tandis que le temps de vol et la hauteur maximale restent différents.
Quelles entrées le calculateur de portée à angles complémentaires demande-t-il ?
Vitesse de lancement positive obligatoire (m/s) et un angle en degrés de 0 à 90 inclus. La gravité facultative vaut par défaut 9.80665 m/s². L'angle complémentaire 90°−θ est calculé automatiquement.
Que se passe-t-il si l'angle de lancement dépasse quatre-vingt-dix degrés ?
Les angles hors de 0–90° ne sont pas valides pour un lancement au niveau du sol sur terrain plat, et l'entrée invalide n'est pas facturée.
Les deux trajectoires partagent-elles aussi le temps de vol et la hauteur ?
Non. Seule la portée horizontale est partagée. La trajectoire plus pentue a un temps de vol plus long et une hauteur maximale plus grande ; la plus plate est plus courte et plus basse. Les deux valeurs sont renvoyées pour chaque angle.
Que se passe-t-il avec un angle de lancement de quarante-cinq degrés ?
À quarante-cinq degrés exactement, l'angle et son complémentaire se confondent : il n'y a plus qu'une seule trajectoire, et la portée atteint son maximum pour cette vitesse de lancement.
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/projectile-range-two-angles \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"speed":20,"angle":30}'const res = await fetch("https://api.kit.forhosting.com/mech/projectile-range-two-angles", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"speed": 20,
"angle": 30
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/mech/projectile-range-two-angles",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"speed": 20,
"angle": 30
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/mech/projectile-range-two-angles", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"speed":20,"angle":30}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"speed":20,"angle":30}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/mech/projectile-range-two-angles", 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": 30
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "mech.projectile_range_two_angles",
"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
Le chemin gratuit du navigateur et l'API partagent le même module arithmétique pur, de sorte que les vérifications de carnet et les appels de production ne divergent jamais sur la portée dans le vide pour une paire donnée de vitesse et d'angle.
Contrat d'entrée, sorties et échecs de validation
Envoyez un corps JSON avec la vitesse de lancement positive obligatoire en mètres par seconde et l'angle obligatoire en degrés au-dessus de l'horizontale.
Où les contrôles de double trajectoire sont utiles
Chaque appel réussi coûte le prix de base publié de $0.002 ; l'entrée invalide n'est pas facturée.
Cas d'intégration
Notation d'examens et LMS à double trajectoire
Notez automatiquement les questions qui demandent les deux angles de lancement pour une portée donnée, en rejetant les angles au-dessus de quatre-vingt-dix comme invalid_input plutôt que de les envelopper en silence.
Questions techniques
Combien coûte le calculateur de portée à angles complémentaires ?
L'outil navigateur est gratuit. Les requêtes API utilisent le solde prépayé KIT à $0.002 par appel réussi ; une validation échouée ne consomme pas le solde.