Déplacement MHS
Ce calculateur de mouvement harmonique simple détermine la position d’un oscillateur à l’instant choisi à partir de son amplitude, de sa pulsation et de sa constante de phase.
Lancer gratuitement
Il applique la forme cosinus classique de l’équation du MHS et fournit le déplacement en mètres. Vous pouvez vérifier un exercice de physique, évaluer un modèle vibratoire ou produire une position précise pour une simulation. Chaque entrée doit être un nombre fini afin que toute valeur incorrecte soit refusée plutôt que de donner un résultat trompeur.
Saisissez les grandeurs d’un même oscillateur
L’amplitude fixe la distance maximale à l’équilibre et doit être saisie en mètres. La pulsation décrit la vitesse d’avancement de la phase et s’exprime en radians par seconde, tandis que le temps est indiqué en secondes. La constante de phase est un angle en radians qui détermine la position de l’oscillateur dans son cycle au temps zéro. Veillez à la cohérence des unités : la fréquence ordinaire en hertz n’est pas la pulsation, mais vous pouvez la convertir en multipliant la fréquence par deux pi. Une amplitude négative reste mathématiquement valable, car la formule est définie, mais l’amplitude physique est généralement une grandeur positive ou nulle ; une valeur négative équivaut à décaler la phase de pi radians. Le temps peut être négatif pour prolonger le modèle idéal avant l’origine choisie. Le calculateur exige de véritables nombres JSON. Il refuse les textes d’apparence numérique, les champs vides, l’infini et les éléments non numériques afin qu’une erreur de format ne modifie pas discrètement l’interprétation physique.
Comprenez le calcul par cosinus
Le calculateur évalue le déplacement en multipliant l’amplitude par le cosinus de la pulsation multipliée par le temps, puis augmentée de la phase. Le produit de la pulsation et du temps donne d’abord la phase accumulée depuis l’origine temporelle. L’ajout de la constante de phase fournit la phase totale à l’instant demandé. Le cosinus ramène cette phase à une valeur comprise entre moins un et un, puis l’amplitude met le résultat à l’échelle en mètres. À la phase totale zéro, l’oscillateur atteint son déplacement positif maximal. À pi sur deux, il traverse l’équilibre ; à pi, il atteint le maximum négatif ; à deux pi, il revient au point initial. Cette convention correspond à la forme cosinus du mouvement harmonique simple. Une écriture avec le sinus n’est pas contradictoire : les deux formes diffèrent par un déphasage. Les résultats reposent sur l’arithmétique flottante de JavaScript ; un zéro théorique peut donc apparaître comme un résidu infime, car pi et les valeurs trigonométriques ne sont généralement pas représentables exactement en binaire.
Respectez les limites du modèle
Le déplacement renvoyé est une position instantanée signée par rapport à l’équilibre, et non la distance totale parcourue. Un résultat positif se trouve du côté déclaré positif dans votre repère, et un résultat négatif du côté opposé. Le calcul décrit un mouvement harmonique simple idéal : amplitude et pulsation sont constantes, sans amortissement, excitation extérieure, raideur non linéaire ni incertitude de mesure. Il convient aux systèmes masse-ressort pédagogiques, aux approximations des petits angles, aux contrôles de vibration idéale et aux données déterministes de simulation. Pour un oscillateur réel amorti, l’amplitude varie avec le temps et cette équation seule ne suffit pas. La vitesse et l’accélération nécessitent également leurs propres dérivées. Avant toute comparaison avec des mesures, vérifiez l’origine temporelle et la convention de phase. Chaque calcul par API coûte $0.002 ; la version pour navigateur exécute localement la même formule déterministe. Sans réseau, hasard ni horloge, des entrées numériques identiques suivent toujours le même calcul et produisent le même résultat sérialisé.
Cas d’usage
Vérifier un exercice de physique
Évaluez l’équation classique du MHS à un instant donné et comparez la position signée à une solution détaillée.
Échantillonner une vibration idéale
Calculez les positions à des instants choisis pour un modèle déterministe de masse-ressort ou de vibration.
Contrôler les conventions de phase
Observez comment une constante de phase choisie modifie la position initiale et les points suivants du cycle.
Questions fréquentes
Quelle équation le calculateur utilise-t-il ?
Il utilise x(t) = A cos(ωt + φ), où A désigne l’amplitude, ω la pulsation, t le temps et φ la constante de phase.
Quelles unités devez-vous saisir ?
Saisissez l’amplitude en mètres, la pulsation en radians par seconde, la phase en radians et le temps en secondes. Le résultat est exprimé en mètres.
Pouvez-vous saisir une fréquence en hertz ?
Pas directement. Convertissez la fréquence f en hertz en pulsation avec ω = 2πf avant d’envoyer la valeur.
Pourquoi un zéro attendu devient-il un nombre infime ?
L’arithmétique flottante approxime pi et les valeurs trigonométriques ; les zéros mathématiques peuvent donc laisser de très petits résidus numériques.
L’amortissement ou une force extérieure sont-ils inclus ?
Non. Le calcul porte sur un mouvement harmonique simple idéal, avec une amplitude et une pulsation constantes.
Combien coûte un calcul par API ?
Chaque calcul par API coûte $0.002. Vous pouvez aussi utiliser gratuitement le calculateur dans votre navigateur.
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-displacement \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"amplitude_m":0.5,"angular_frequency_rad_s":3.141592653589793,"phase_rad":0,"time_s":0.5}'const res = await fetch("https://api.kit.forhosting.com/mech/shm-displacement", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"amplitude_m": 0.5,
"angular_frequency_rad_s": 3.141592653589793,
"phase_rad": 0,
"time_s": 0.5
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/mech/shm-displacement",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"amplitude_m": 0.5,
"angular_frequency_rad_s": 3.141592653589793,
"phase_rad": 0,
"time_s": 0.5
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/mech/shm-displacement", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"amplitude_m":0.5,"angular_frequency_rad_s":3.141592653589793,"phase_rad":0,"time_s":0.5}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"amplitude_m":0.5,"angular_frequency_rad_s":3.141592653589793,"phase_rad":0,"time_s":0.5}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/mech/shm-displacement", 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_m": 0.5,
"angular_frequency_rad_s": 3.141592653589793,
"phase_rad": 0,
"time_s": 0.5
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "mech.shm_displacement",
"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. |