Longueur d’une traînée d’étoile
Ce calculateur de longueur de traînée d’étoile estime le déplacement apparent d’un objet céleste pendant une pose lorsque l’appareil photo ou le télescope ne suit pas le ciel.
Lancer gratuitement
Saisissez la durée d’exposition en secondes et la déclinaison de l’objet pour obtenir la longueur angulaire idéale en degrés. Le calcul emploie la vitesse moyenne de rotation sidérale de la Terre et la projection par le cosinus de la déclinaison. Il aide à préparer des photos nocturnes, comparer des poses et vérifier le mouvement attendu sur un capteur.
Ce que représente la longueur calculée
La Terre effectue une rotation par rapport aux étoiles lointaines au cours d’un jour sidéral. Les étoiles semblent donc traverser le champ d’un appareil fixe pendant la pose. Le calculateur indique en degrés la longueur angulaire de ce mouvement apparent idéal. Une cible située sur l’équateur céleste décrit le plus grand cercle et conserve toute la vitesse de rotation sidérale. Lorsque la déclinaison se rapproche de l’un des pôles célestes, le cercle parcouru rétrécit et la traînée angulaire devient plus courte à durée égale. Des déclinaisons positive et négative de même valeur absolue donnent la même longueur, car la projection par le cosinus est symétrique. Le résultat décrit un mouvement angulaire dans le ciel, et non une distance en pixels ni le déplacement physique de l’objet dans l’espace. Pour obtenir une longueur sur le capteur, vous devez connaître l’échantillonnage de l’image, généralement exprimé en secondes d’arc par pixel. Le modèle suppose un instrument parfaitement fixe et un mouvement sidéral idéal. Il exclut le suivi, l’erreur de mise en station, la réfraction, la rotation de champ, la distorsion et le mouvement propre.
Rôle de l’exposition et de la déclinaison
Le calcul applique L = t × (360 / 86164.0905) × cos(δ). L désigne la longueur angulaire de la traînée en degrés, t la durée d’exposition en secondes, 86164.0905 secondes le jour sidéral moyen retenu et δ la déclinaison convertie des degrés en radians pour calculer le cosinus. L’exposition agit directement sur le résultat : si vous la doublez, la longueur idéale double. La déclinaison fournit la projection géométrique : 0 degré conserve la vitesse entière, 60 degrés la divise par deux et chaque pôle la ramène à zéro dans le modèle idéal. Le calculateur accepte toute déclinaison finie comprise entre -90 et +90 degrés, bornes incluses. L’exposition doit être finie et non négative, puisqu’une durée négative n’a aucun sens physique ; une valeur nulle est valide et produit une traînée nulle. Les résultats sont arrondis à douze décimales afin de garantir une sortie stable dans le navigateur et l’API. La vitesse de rotation est également fournie afin de rendre la constante adoptée explicite, vérifiable et réutilisable dans un calcul d’imagerie plus large.
Exploiter le résultat en astrophotographie
Utilisez la longueur angulaire pour comparer plusieurs durées avant une prise de vue sur trépied fixe ou pour composer volontairement des filés d’étoiles. Pour convertir la traînée en secondes d’arc, multipliez par 3,600 la valeur en degrés. Si vous connaissez l’échantillonnage du système en secondes d’arc par pixel, divisez cette longueur par l’échantillonnage afin d’estimer le nombre de pixels parcourus sur le capteur. Vous pouvez ainsi déterminer si le mouvement restera sous votre seuil de netteté ou deviendra visiblement allongé. La formule dépend uniquement de l’exposition et de la déclinaison : la focale, le pas des pixels et les dimensions du capteur ne modifient pas le déplacement angulaire, même s’ils influencent fortement son aspect dans l’image. Un objectif très grand-angle peut rendre une courte traînée discrète, tandis qu’une longue focale répartit le même déplacement sur davantage de pixels. Avec une monture motorisée, le résultat représente le mouvement que le suivi cherche à compenser, non la traînée résiduelle. Chaque calcul automatisé par API coûte $0.002; le calcul déterministe peut aussi s’exécuter localement dans votre navigateur.
Cas d’usage
Choisir une pose sur trépied fixe
Comparez les longueurs de traînée de plusieurs poses à la déclinaison de la cible avant une photographie nocturne sans suivi.
Préparer des filés d’étoiles volontaires
Estimez l’arc angulaire accumulé par les étoiles dans une seule image lors de la composition d’un filé intentionnel.
Convertir le mouvement en pixels
Associez le résultat angulaire à l’échantillonnage en secondes d’arc par pixel pour estimer la traînée sur le détecteur.
Questions fréquentes
Quelle formule le calculateur utilise-t-il ?
Il applique longueur de traînée = secondes d’exposition × (360 / 86164.0905) × cos(déclinaison), puis exprime la longueur angulaire en degrés.
Pourquoi la déclinaison modifie-t-elle la longueur ?
Les étoiles proches de l’équateur céleste décrivent des cercles apparents plus grands que celles proches d’un pôle ; le cosinus projette la vitesse sidérale sur ce trajet réduit.
La durée d’exposition peut-elle être nulle ?
Oui. Une pose de zéro seconde est valide et donne une longueur nulle ; une valeur négative provoque une erreur de saisie.
Comment convertir le résultat en secondes d’arc ou en pixels ?
Multipliez les degrés par 3,600 pour obtenir des secondes d’arc, puis divisez par l’échantillonnage de votre système en secondes d’arc par pixel.
Le calcul tient-il compte d’une monture motorisée ?
Non. Il fournit le mouvement sidéral apparent idéal d’un système fixe. La monture tente de l’annuler, et ses erreurs résiduelles nécessitent un autre modèle.
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/astro/star-trail-length \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"exposure_seconds":120,"declination_deg":30}'const res = await fetch("https://api.kit.forhosting.com/astro/star-trail-length", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"exposure_seconds": 120,
"declination_deg": 30
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/astro/star-trail-length",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"exposure_seconds": 120,
"declination_deg": 30
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/astro/star-trail-length", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"exposure_seconds":120,"declination_deg":30}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"exposure_seconds":120,"declination_deg":30}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/astro/star-trail-length", 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
{
"exposure_seconds": 120,
"declination_deg": 30
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "astro.star_trail_length",
"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. |