Calculateur de centre de cercle par 3 points
Retrouvez le cercle derrière trois points mesurés : (0, 0), (4, 0) et (0, 3) donnent un centre en (2 ; 1,5), un rayon de 2,5 et l'équation (x − 2)² + (y − 1,5)² = 6,25, le tout d'un coup. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- X1
- 0
- Y1
- 0
- X2
- 4
- Y2
- 0
- X3
- 0
- Y3
- 3
- Rayon
- 2,5
- Diamètre
- 5
- Équation
- (x − 2)² + (y − 1.5)² = 6.25
C'est la primitive géométrique derrière les contrôles d'ajustement, la reconstruction d'arcs, l'étalonnage et la mise en page, calculée de façon déterministe par un déterminant en forme close plutôt que par approximation. Envoyez six coordonnées, recevez le centre, le rayon, le diamètre et l'équation du cercle en un seul appel.
Un cercle, trois points, aucune itération
Trois points non alignés définissent exactement un cercle, et son centre est le point équidistant des trois. La construction classique trace la médiatrice de deux cordes et lit l'intersection ; algébriquement, il s'agit d'une petite formule de déterminant, et c'est ce que ce point de terminaison évalue. Parce que la réponse est en forme close, il n'y a ni solveur itératif, ni tolérance de convergence, ni temps de chauffe : les mêmes six nombres produisent toujours le même centre et le même rayon, jusqu'à la dernière décimale arrondie.
Vous envoyez x1, y1, x2, y2, x3 et y3 sous forme de nombres ou de chaînes numériques, et vous recevez les coordonnées du centre, le rayon, le diamètre et l'équation du cercle sous forme standard, arrondis à la précision choisie. La réponse indique aussi si l'entrée était dégénérée, si bien qu'un pipeline peut brancher sur la géométrie au lieu d'analyser un texte d'erreur.
Tout s'exécute sur notre worker edge en quelques microsecondes, sans rien conserver après l'envoi de la réponse : les coordonnées issues de plans, de capteurs ou de relevés ne sont jamais persistées entre votre requête et votre résultat.
Quand trois points ne forment pas de cercle
Si les trois points sont sur une même droite — ou si deux d'entre eux coïncident — aucun cercle fini ne passe par les trois, et prétendre le contraire est la façon dont une mauvaise géométrie se propage dans une conception ou un rapport. Le déterminant qui détecte l'alignement est le même que celui qui produit le centre, si bien que la vérification ne coûte rien de plus et ne peut pas contredire le résultat.
Des points presque alignés se calculent quand même, mais vous devriez traiter les rayons très grands comme un signal d'alerte dans votre propre logique. La validation des entrées est volontairement stricte : chaque coordonnée doit être un nombre fini, NaN et Infinity sont rejetés, et l'option de précision est bornée de zéro à quinze décimales. C'est la rigueur à la frontière qui garde un contrat déterministe déterministe sur chaque environnement d'exécution qui l'exécute.
Où un centre de cercle se rentabilise
L'usage évident est le devoir de géométrie et l'outillage de type CAO, mais la majorité discrète des appels vient de pipelines de données. Un logiciel de métrologie reconstruit un arc à partir de trois palpages et a besoin de son centre pour calculer la circularité ; un code cartographique ajuste un cercle de virage à travers trois points GPS ; un code de jeu ou de robotique déduit un centre de courbure de trois points de passage pour planifier une trajectoire fluide.
Dans chaque cas, l'appelant veut un nombre fiable, pas une dépendance de bibliothèque. Si vos trois points divergent un jour entre environnements, c'est un rapport de bogue que nous voulons, pas un mode d'arrondi que vous devriez accepter.
Cas d’usage
Reconstruire un arc à partir de trois palpages
Ajustez le cercle derrière une courbe mesurée en métrologie ou en rétro-ingénierie, et obtenez son centre et son rayon en un seul appel.
Ajuster un cercle de virage sur des points de passage
Déduisez la courbure de trois points GPS ou de points de trajectoire pour planifier un mouvement ou valider un itinéraire.
Questions fréquentes
Combien cela coûte-t-il ?
L'exécution est aussi gratuite dans votre navigateur sur cette page avec le même code.
Quelle entrée est attendue ?
Six coordonnées : x1, y1, x2, y2, x3, y3. Les nombres et les chaînes numériques fonctionnent, et un champ precision facultatif règle les décimales de la réponse.
Mes données sont-elles conservées ?
Non. Les coordonnées sont traitées en mémoire puis écartées ; seul le résultat calculé est renvoyé.
Quelle est la précision du résultat ?
Le centre provient d'une formule de déterminant exacte en double précision, puis est arrondi à la précision demandée (0 à 15 décimales, 10 par défaut).
Que se passe-t-il si les trois points sont alignés ?
Aucun cercle ne passe alors par les trois, et le calculateur le signale par un message clair au lieu d'en inventer un. Il en va de même lorsque deux des points sont confondus.
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/circle-center \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"x1":0,"y1":0,"x2":4,"y2":0,"x3":0,"y3":3}'const res = await fetch("https://api.kit.forhosting.com/math/circle-center", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"x1": 0,
"y1": 0,
"x2": 4,
"y2": 0,
"x3": 0,
"y3": 3
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/math/circle-center",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"x1": 0,
"y1": 0,
"x2": 4,
"y2": 0,
"x3": 0,
"y3": 3
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/math/circle-center", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"x1":0,"y1":0,"x2":4,"y2":0,"x3":0,"y3":3}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"x1":0,"y1":0,"x2":4,"y2":0,"x3":0,"y3":3}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/math/circle-center", 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
{
"x1": 0,
"y1": 0,
"x2": 4,
"y2": 0,
"x3": 0,
"y3": 3
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.circle_center",
"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 centre de cercle prend trois points du plan et renvoie le centre exact et le rayon du cercle unique qui passe par les trois.
Quand trois points ne forment pas de cercle
Cette capacité refuse au lieu de deviner : une entrée alignée ou coïncidente lève une erreur invalid_input avec un message qui dit exactement ce qui ne va pas, si bien que votre appelant peut l'intercepter et demander de meilleures données plutôt que de recevoir silencieusement un cercle de rayon absurde.
Où un centre de cercle se rentabilise
La tarification est forfaitaire : $0.002 par requête, un élément par appel, sans surcoût pour des coordonnées de grande amplitude. Le même code qui répond à l'API s'exécute gratuitement dans votre navigateur sur cette page, si bien que vous pouvez vérifier un résultat à la main avant de brancher le point de terminaison en production.
Cas d'intégration
Protéger un pipeline de géométrie
Rejetez les triplets alignés ou coïncidents avec une erreur invalid_input claire plutôt qu'un rayon silencieusement énorme.
Questions techniques
Que se passe-t-il si les points sont alignés ?
La requête échoue avec une erreur invalid_input expliquant qu'aucun cercle fini ne passe par trois points alignés.