Vitesse en mouvement harmonique simple
Ce calculateur de vitesse en mouvement harmonique simple détermine la valeur absolue de la vitesse instantanée d'un oscillateur pour un déplacement donné.
Lancer gratuitement
Saisissez l'amplitude, le déplacement signé par rapport à l'équilibre et la pulsation. L'outil applique v = omega multiplié par la racine carrée de l'amplitude au carré moins le déplacement au carré. Il contrôle également le domaine physique avant le calcul : un déplacement situé au-delà d'un point de rebroussement produit donc une erreur explicite, et non un résultat imaginaire ou trompeur lors d'un exercice de physique.
Comprenez la signification du résultat
Dans un mouvement harmonique simple idéal, un objet se déplace continuellement entre deux points de rebroussement placés à une amplitude de part et d'autre de l'équilibre. Sa vitesse n'est pas constante : elle est maximale au passage par l'équilibre et devient nulle à chaque extrémité. Ce calculateur renvoie la valeur absolue non négative de la vitesse instantanée avec v = omega sqrt(A squared minus x squared), où A désigne l'amplitude, x le déplacement et omega la pulsation. La formule fournissant une valeur absolue, elle ne précise pas si l'oscillateur se dirige vers les déplacements positifs ou négatifs à cet instant. Une même position est normalement franchie deux fois par cycle, dans des sens opposés. Pour obtenir une vitesse signée, vous devez aussi connaître la phase ou le sens du mouvement. Employez la même unité de longueur pour l'amplitude et le déplacement. Avec des mètres et une pulsation en radians par seconde, le résultat est en mètres par seconde ; avec des centimètres, il est en centimètres par seconde.
Saisissez des valeurs cohérentes pour un même oscillateur
L'amplitude représente la distance maximale à l'équilibre et doit donc être positive ou nulle. Le déplacement est signé : les positions situées de part et d'autre de l'équilibre peuvent recevoir des valeurs positives et négatives, même si la valeur absolue de la vitesse est identique pour x et moins x. La pulsation omega doit elle aussi être positive ou nulle. Elle se calcule souvent par omega = 2 pi f lorsque la fréquence ordinaire f est connue, ou par omega = 2 pi divisé par T lorsque la période T est connue. Les trois entrées doivent être des nombres finis. Surtout, la valeur absolue du déplacement ne peut pas dépasser l'amplitude. Une telle position se trouverait hors de la trajectoire autorisée et rendrait A squared minus x squared négatif. Le calculateur refuse explicitement ce cas. Un déplacement exactement égal à l'amplitude positive ou négative est valide et donne zéro, conformément à l'arrêt momentané au point de rebroussement. Une amplitude nulle n'accepte qu'un déplacement nul et décrit l'absence de mouvement.
Interprétez les contrôles et les cas numériques limites
Considérez le résultat comme la valeur d'un modèle idéal. L'équation suppose un mouvement harmonique simple non amorti, une pulsation constante et une force de rappel proportionnelle au déplacement. Un ressort réel peut subir des frottements, une variation d'amplitude, une raideur non linéaire ou des incertitudes de mesure ; un pendule ne suit bien ce modèle qu'aux petits angles. Le contrôle du domaine est donc mathématique et physique, mais il ne décide pas si le modèle convient à un appareil particulier. Près d'un point de rebroussement, la quantité sous la racine carrée devient très faible : l'incertitude sur l'amplitude ou le déplacement peut alors entraîner une forte incertitude relative sur la vitesse. Conservez une précision adaptée aux mesures sans attribuer une portée expérimentale à tous les chiffres. L'implémentation évalue la différence des carrés sous la forme (A minus absolute x) times (A plus absolute x), algébriquement équivalente et moins exposée à certains dépassements pour de grandes valeurs voisines. Si le résultat sort de l'intervalle numérique fini, la requête est refusée au lieu de renvoyer Infinity.
Cas d’usage
Contrôler une expérience masse-ressort
Comparez la vitesse prévue pour un déplacement mesuré avec une mesure de vitesse en laboratoire.
Résoudre un exercice de physique
Calculez la vitesse instantanée après avoir déterminé l'amplitude, la position et la pulsation.
Valider une simulation
Vérifiez une simulation d'oscillateur non amorti à l'aide de la relation analytique entre position et vitesse.
Questions fréquentes
Quel est le prix du calculateur ?
Vous pouvez l'utiliser gratuitement dans votre navigateur ou payer $0.002 par requête API.
Pourquoi la vitesse renvoyée est-elle toujours positive ou nulle ?
La formule fondée uniquement sur le déplacement détermine une valeur absolue. Le signe exige aussi la phase ou le sens du mouvement.
Que se passe-t-il lorsque le déplacement égale l'amplitude ?
Le résultat est nul, car l'oscillateur s'arrête momentanément à chaque point de rebroussement.
Pourquoi un déplacement supérieur à l'amplitude est-il refusé ?
Cette position se trouve hors de la trajectoire et rend négative l'expression placée sous la racine carrée.
Quelles unités faut-il employer ?
Utilisez la même unité de longueur pour l'amplitude et le déplacement. Avec omega par seconde, la sortie emploie cette unité par seconde.
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/shm-velocity \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"amplitude":5,"displacement":3,"omega":2}'const res = await fetch("https://api.kit.forhosting.com/mech/shm-velocity", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"amplitude": 5,
"displacement": 3,
"omega": 2
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/mech/shm-velocity",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"amplitude": 5,
"displacement": 3,
"omega": 2
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/mech/shm-velocity", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"amplitude":5,"displacement":3,"omega":2}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"amplitude":5,"displacement":3,"omega":2}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/mech/shm-velocity", 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
{
"amplitude": 5,
"displacement": 3,
"omega": 2
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "mech.shm_velocity",
"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. |