Calculateur de vitesse relative 2D
Un corps à (10, 0), vu depuis un autre à (3, 4), a une vitesse relative de (7, −4) : 7 à l'horizontale et 4 vers le bas. Saisissez les deux vitesses en composantes et obtenez la vitesse relative et sa direction. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- V1x
- 10
- V1y
- 0
- V2x
- 3
- V2y
- 4
- Vitesse relative vx
- 7
- Vitesse relative vy
- -4
- Magnitude
- 8,0622577483
- Direction (°)
- -29,7448812969
La vitesse relative dans le plan est la différence vectorielle entre deux vecteurs de vitesse exprimés dans le même référentiel. Aucun appel réseau, aucun échantillonnage aléatoire, aucun raccourci dépendant de la date : uniquement une arithmétique vectorielle déterministe adaptée aux goldens de CI et aux corrigés de classe.
Où un calculateur de vitesse relative 2D trouve sa place
Les élèves rencontrent la vitesse relative dans les problèmes de bateau sur la rivière, les vitesses d'approche de deux voitures et les triangles de vent d'avion dans les manuels ; cette page transforme ces listes de composantes en module et cap sans papier millimétré. Les travaux pratiques qui suivent deux chariots avec des capteurs ultrasoniques peuvent alimenter des vitesses mesurées dans le même contrat et journaliser la célérité relative d'approche pour le minutage des collisions.
Les développeurs de jeux et de simulations ont besoin de vecteurs relatifs déterministes pour l'anticipation de missiles, les cônes d'interception et les tests unitaires qui affirment un hypot connu de différences de composantes sans redériver les conventions atan2. Les contrôles d'ingénierie de premier ordre utilisent le vecteur relatif lorsque deux plateformes rapportent des vitesses dans le référentiel du corps déjà tournées vers un plan horizontal commun.
Gardez les requêtes petites, figez le module et les angles arrondis dans les tests, et vous obtenez une cinématique relative reproductible pour les devoirs, plugins LMS et workers en périphérie sans dresser un moteur de physique complet de votre côté.
Cas d’usage
Devoirs et problèmes de bateau sur la rivière
Soustrayez les composantes cartésiennes de vitesse données pour obtenir la célérité de fermeture et le cap dans les exercices de mouvement relatif à deux corps.
Chariots de labo et pipelines de capteurs
Convertissez des vitesses appariées de chariots en célérité relative d'approche pour le minutage des collisions, les graphiques et les logiciels de tutorat.
Questions fréquentes
Que se passe-t-il si une composante n'est pas numérique ?
Les valeurs non finies, chaînes vides et jetons non numériques sont rejetés et ne sont pas facturés.
Les deux vitesses peuvent-elles être nulles ou égales ?
Oui. Des vitesses égales donnent un module zéro et une direction zéro. Les vecteurs nuls sont des entrées finies valides.
Comment calculer une vitesse relative en deux dimensions ?
Soustrayez la seconde vitesse de la première, composante par composante : horizontale moins horizontale et verticale moins verticale. La norme relative est la longueur de cette différence, obtenue avec Pythagore, et la direction est son angle.
Que signifie la vitesse de A par rapport à B ?
C'est la vitesse qu'un observateur voyageant avec B attribuerait à A. Si les deux se déplacent exactement de la même façon, A semble immobile et la vitesse relative est nulle.
À partir d'où l'angle de direction est-il mesuré ?
À partir de l'axe horizontal positif, dans le sens inverse des aiguilles d'une montre, et il est donné en degrés et en radians. Un angle négatif signifie que la vitesse relative pointe sous cet axe, dans le sens horaire.
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/relative-velocity-2d \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"v1x":10,"v1y":0,"v2x":3,"v2y":4}'const res = await fetch("https://api.kit.forhosting.com/mech/relative-velocity-2d", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"v1x": 10,
"v1y": 0,
"v2x": 3,
"v2y": 4
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/mech/relative-velocity-2d",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"v1x": 10,
"v1y": 0,
"v2x": 3,
"v2y": 4
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/mech/relative-velocity-2d", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"v1x":10,"v1y":0,"v2x":3,"v2y":4}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"v1x":10,"v1y":0,"v2x":3,"v2y":4}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/mech/relative-velocity-2d", 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
{
"v1x": 10,
"v1y": 0,
"v2x": 3,
"v2y": 4
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "mech.relative_velocity_2d",
"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
Avec les composantes cartésiennes du corps 1 et du corps 2, ce calculateur de vitesse relative 2D forme v_rel égal à v1 moins v2, puis renvoie les composantes relatives, le module euclidien et la direction polaire depuis l'axe x positif via atan2. Chaque composante doit être un nombre fini ; les valeurs non numériques échouent avec invalid_input et ne sont pas facturées.
Ce que signifie la vitesse relative 2D et ce que contient la réponse
En mécanique introductive et en cinématique plane, la vitesse de l'objet A par rapport à l'objet B est le vecteur qu'un observateur voyageant avec B attribuerait à A. La direction est l'angle du vecteur relatif mesuré dans le sens antihoraire depuis l'axe horizontal positif, renvoyé en radians et en degrés afin que les fiches qui préfèrent l'une ou l'autre convention copient un seul champ sans convertir à la main. Une vitesse relative nulle est autorisée et produit un module zéro avec une direction zéro à partir de atan2 de zéro et zéro, conforme au comportement habituel des bibliothèques. Lorsque les deux vitesses sont déjà résolues en composantes cartésiennes dans un référentiel inertiel partagé, cette vitesse relative est simplement la différence composante par composante : relative_vx égale v1x moins v2x et relative_vy égale v1y moins v2y. Le module de cette différence est la longueur euclidienne, la racine de relative_vx au carré plus relative_vy au carré, c'est-à-dire la célérité à laquelle A se rapproche ou s'éloigne de B le long de la trajectoire relative lorsque les positions sont aussi connues. Ce endpoint n'intègre pas les trajectoires, n'applique pas de corrections de Coriolis et ne change pas de référentiels en rotation ; il répond uniquement à la différence vectorielle statique de deux vitesses planes finies. La charge utile de succès répète les quatre composantes d'entrée après un arrondi stable, puis expose relative_vx, relative_vy, magnitude, direction_deg, direction_rad, une courte chaîne de formule, l'étiquette de méthode vector_difference_2d et un indice d'unité indiquant que toute unité cohérente de longueur par temps convient lorsque les entrées partagent cette unité. Associez cet outil aux aides de composantes de vitesse lorsque vous ne connaissez que la célérité et l'angle, ou aux endpoints de collision lorsque vous avez besoin des vitesses finales après un impact plutôt que du seul vecteur relatif avant impact.
Contrat d'entrée, validation numérique et comportement d'erreur
Les modules au-dessus du plafond absolu documenté sont rejetés pour garder finis les produits intermédiaires. En cas de succès le gestionnaire soustrait le second vecteur du premier, applique Math.hypot pour un module stable et utilise Math.atan2 pour une direction continue sur les quatre quadrants, y compris des composantes relatives négatives. L'échec de validation n'est pas facturé. Gardez vous-même les unités cohérentes : le calculateur ne convertit pas les kilomètres par heure en mètres par seconde ; il soustrait seulement des nombres que vous avez déjà exprimés dans un système cohérent. Envoyez un objet JSON avec quatre champs obligatoires : v1x et v1y pour la première vitesse, et v2x et v2y pour la seconde. Chaque champ peut être un nombre JSON ou une chaîne décimale numérique, y compris des signes initiaux optionnels et une notation scientifique qui se parsent comme valeurs finies. Les noms préférés sont les identifiants canoniques sûrs pour le DOM ; les alias vx1, vy1, vx2, vy2 et u_x, u_y, w_x, w_y sont acceptés pour que tableurs et formulaires typés réutilisent les symboles de manuel sans renommer les colonnes. Les champs manquants, chaînes vides, NaN, Infinity et jetons non numériques tels que lettres ou unités mélangées échouent avec invalid_input et un message qui nomme le champ en cause, de sorte qu'une mauvaise cellule ne devient jamais un zéro silencieux. Le chemin gratuit du navigateur et l'API payante partagent le même module pur, ce qui signifie qu'un exemple de fiche que vous vérifiez sur cette page coïncidera avec un pipeline automatisé qui envoie les mêmes quatre nombres à $0.002 par élément réussi.
Où un calculateur de vitesse relative 2D trouve sa place
Les enseignants pré-génèrent des corrigés pour des jeux modestes de composantes et rejettent les collages non numériques des élèves avec un signal clair invalid_input au lieu d'un graphique vide mystérieux. Les outils produit et éducation appellent l'endpoint lorsqu'un apprenant saisit quatre cases et que l'interface doit afficher des mètres par seconde de célérité de fermeture plus un badge de direction. Comme l'implémentation est pure parse de niveau A, chaque appel réussi coûte le prix de base publié $0.002 sans jetons de modèle et sans réseau sortant.
Cas d'intégration
Fixtures déterministes de physique
Générez des champs reproductibles relative_vx, relative_vy, magnitude et direction pour la CI de physique de jeu et les démos d'interception.
Questions techniques
Comment la vitesse relative est-elle définie ici ?
La vitesse relative du corps 1 par rapport au corps 2 est v_rel = v1 − v2 avec les quatre composantes cartésiennes que vous fournissez. Le module est √(relative_vx² + relative_vy²) ; la direction est atan2(relative_vy, relative_vx).
Quelle convention d'angle est utilisée ?
La direction est mesurée dans le sens antihoraire depuis l'axe x positif via atan2(vy, vx), renvoyée comme direction_rad et direction_deg. Les quatre quadrants sont couverts.
Combien coûte le calculateur de vitesse relative 2D ?
L'outil navigateur est gratuit. Les requêtes API utilisent le solde prépayé KIT à $0.002 par appel réussi ; une entrée invalide n'est pas facturée.