Forme standard de l'ellipse : centre, demi-axes et rotation en ligne
4x² + 9y² − 8x − 18y − 23 = 0 est une ellipse de centre (1, 1), de demi-axes 3 et 2, sans rotation. Saisissez les six coefficients d'une équation générale et obtenez son centre, ses demi-axes et son inclinaison. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- A
- 4
- B
- 0
- C
- 9
- D
- -8
- E
- -18
- F
- -23
- Demi-grand axe
- 3
- Demi-petit axe
- 2
- Rotation (°)
- 0
Si les coefficients décrivent une hyperbole, une parabole, un point unique ou aucune courbe réelle, la requête est rejetée avec une erreur claire plutôt qu'une réponse dénuée de sens. La conversion repose sur une algèbre exacte : complétion du carré pour le centre, et décomposition en valeurs propres de la forme quadratique pour les axes. Le même code s'exécute gratuitement dans votre navigateur sur cette page.
De l'équation générale à la forme standard
Passer de l'une à l'autre se fait en deux étapes. D'abord, trouver le centre en résolvant le système linéaire 2A·h + B·k = −D et B·h + 2C·k = −E — c'est le point où les deux dérivées partielles s'annulent, et compléter le carré autour de lui élimine les termes linéaires. Ensuite, éliminer le terme croisé B·x·y.
Quand B vaut zéro, l'ellipse est déjà alignée sur les axes et les demi-axes s'obtiennent directement en divisant la constante restante ; quand B est non nul, la partie quadratique est une matrice symétrique 2×2 dont les valeurs propres donnent les dénominateurs au carré et dont les vecteurs propres donnent l'angle de rotation.
Ce point de terminaison effectue les deux étapes en arithmétique exacte à forme close — sans itération ni recherche numérique — donc le résultat est exact à l'arrondi flottant près, fixé à six décimales pour garantir des réponses stables d'une machine et d'une exécution à l'autre.
Comment le point de terminaison vérifie qu'il s'agit bien d'une ellipse
La même équation à six coefficients peut décrire n'importe quelle conique, la validation précède donc la conversion. La grandeur clé est le discriminant B² − 4AC. Un discriminant négatif est nécessaire mais pas suffisant : après translation au centre, le terme constant doit être non nul — sinon l'équation n'est vérifiée qu'au centre lui-même, une ellipse dégénérée réduite à un point — et il doit être de signe opposé à la partie quadratique, sinon aucun point réel ne satisfait l'équation, c'est la fameuse ellipse imaginaire.
Ces deux cas sont rejetés avec un message qui nomme la cause de l'échec. Ce n'est que lorsque les trois contrôles passent que la réponse fournit le centre, les demi-axes majeur et mineur, et la rotation du grand axe en degrés, normalisée dans l'intervalle semi-ouvert de 0 à 180 car une direction d'axe n'a pas d'orientation. Des demi-axes égaux signifient que l'ellipse est un cercle, ce que la réponse indique explicitement.
Où l'utiliser et combien cela coûte
Les coniques sous forme générale apparaissent partout où des courbes sont ajustées ou intersectées algébriquement : l'ajustement d'ellipses par moindres carrés en vision par ordinateur renvoie exactement ces six coefficients, tout comme les formes de collision des moteurs physiques, les empreintes d'antennes dans les bilans de liaison satellite, ou les ellipses de confiance d'une matrice de covariance en statistiques.
Dans chaque cas, c'est la forme standard dont vous avez réellement besoin en aval — pour tracer la courbe, tester si un point est contenu, calculer l'aire ou l'excentricité — et faire la conversion à la main impose de refaire soigneusement le calcul des valeurs propres à chaque fois. L'appel s'exécute sur notre réseau edge mondial, ne conserve rien et ne comporte ni aléa ni dépendance à l'horloge, il peut donc être mis en cache et mémoïsé en toute sécurité.
Prototypez gratuitement et ne payez que lorsque vous automatisez — conversion par lots de coniques ajustées, validation dans un pipeline graphique, ou application qui a besoin de la forme standard à la demande.
Cas d’usage
Lire la géométrie d'une conique ajustée
Les algorithmes d'ajustement d'ellipses en vision et en métrologie renvoient les six coefficients généraux ; convertissez-les en centre, axes et rotation en un seul appel.
Classifier une conique en toute sécurité
Soumettez n'importe quelle quadratique et apprenez s'il s'agit d'une ellipse réelle, d'une hyperbole, d'une parabole ou d'un cas dégénéré — via une erreur claire, pas un NaN.
Questions fréquentes
Combien cela coûte-t-il ?
Le même calcul est gratuit dans votre navigateur sur cette page.
Quelle forme d'équation accepte-t-il ?
Envoyez les six coefficients dans les champs a à f.
Comment l'angle de rotation est-il défini ?
C'est l'angle en degrés du grand axe mesuré depuis l'axe des x positifs, normalisé sur [0, 180) car une direction d'axe n'est pas orientée. Pour un cercle, l'angle est arbitraire et la réponse l'indique.
Quelle est la précision du résultat ?
La conversion est une algèbre à forme close — complétion du carré plus une décomposition en valeurs propres 2×2 — exacte à la précision flottante près, avec une sortie arrondie à six décimales pour des réponses stables.
Quelque chose est-il stocké ?
Non. Les coefficients sont traités puis supprimés ; seul le résultat est renvoyé.
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/math/ellipse-standard-form \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"a":4,"b":0,"c":9,"d":-8,"e":-18,"f":-23}'const res = await fetch("https://api.kit.forhosting.com/math/ellipse-standard-form", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"a": 4,
"b": 0,
"c": 9,
"d": -8,
"e": -18,
"f": -23
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/math/ellipse-standard-form",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"a": 4,
"b": 0,
"c": 9,
"d": -8,
"e": -18,
"f": -23
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/math/ellipse-standard-form", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"a":4,"b":0,"c":9,"d":-8,"e":-18,"f":-23}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"a":4,"b":0,"c":9,"d":-8,"e":-18,"f":-23}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/math/ellipse-standard-form", 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
{
"a": 4,
"b": 0,
"c": 9,
"d": -8,
"e": -18,
"f": -23
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.ellipse_standard_form",
"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
L'API de forme standard de l'ellipse prend les six coefficients d'une équation quadratique générale — A·x² plus B·x·y plus C·y² plus D·x plus E·y plus F égal à zéro — et renvoie l'ellipse qu'elle décrit sous forme standard : le centre, les demi-axes majeur et mineur, ainsi que l'angle de rotation du grand axe.
De l'équation générale à la forme standard
Toute ellipse du plan, quelle que soit sa rotation ou sa translation, peut s'écrire A·x² + B·x·y + C·y² + D·x + E·y + F = 0, et tout manuel préfère la forme standard (x−h)²/a² + (y−k)²/b² = 1 parce que la géométrie s'y lit d'un coup d'œil : le centre (h, k), les demi-axes a et b.
Comment le point de terminaison vérifie qu'il s'agit bien d'une ellipse
Une valeur négative signifie que la forme quadratique est définie et que la courbe appartient à la famille des ellipses ; zéro indique une parabole, une valeur positive une hyperbole, et les deux sont rejetées avec une erreur invalid_input qui précise le discriminant pour que vous compreniez pourquoi.
Où l'utiliser et combien cela coûte
Ici, c'est un seul POST avec six nombres.
Cas d'intégration
Convertir des catalogues de coniques par lots
Parcourez des ensembles de coefficients issus d'une simulation ou d'une étude et associez centre et demi-axes à chaque enregistrement pour $0.002 par appel.
Questions techniques
Et si l'équation n'est pas une ellipse ?
Elle est rejetée avec une erreur invalid_input : un discriminant B²−4AC non négatif signifie hyperbole ou parabole, et une ellipse dégénérée ou imaginaire est également refusée, avec un message nommant la cause.