Intersection cercle-droite : 0, 1 ou 2 points centre, rayon et droite
Trouvez où une droite traverse un cercle : un cercle de rayon 5 centré à l'origine et la droite passant par (−10, 0) et (10, 0) se coupent en (−5, 0) et (5, 0). L'outil indique si la droite coupe, touche ou manque le cercle. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- Cx
- 0
- Cy
- 0
- Résistance (Ω)
- 5
- X1
- -10
- Y1
- 0
- X2
- 10
- Quantité
- 2
- Discriminant Δ
- 40 000
Un cercle et une droite du plan peuvent se rencontrer en deux points (sécante), se toucher en un seul point (tangente) ou ne pas se croiser. La géométrie analytique classique ramène la question à une équation du second degré : on paramètre la droite par deux points, on substitue dans l'équation du cercle et on lit le discriminant. Les élèves qui vérifient leurs devoirs, les développeurs de jeux qui placent des contacts de collision, les assistants CAO qui contrôlent des contraintes d'esquisse, les aides topographiques qui retrouvent des impacts de ligne de visée et les candidats aux concours ont besoin de ces coordonnées de contact comme nombres stables à figer dans des tests—pas seulement un croquis. Cette capacité accepte sept nombres—cx, cy, r pour le cercle et x1, y1, x2, y2 pour deux points distincts de la droite infinie—, valide que chaque champ est fini et que le rayon est positif, puis résout la quadratique.
Ce que signifie l'intersection cercle-droite et pourquoi on la cherche
En géométrie euclidienne du plan, un cercle de centre C et de rayon r est l'ensemble des points à distance fixe r de C. Une droite infinie passant par deux points distincts A et B est l'ensemble des points A plus un multiple réel du vecteur direction B moins A. Leur intersection est l'ensemble des points qui satisfont les deux descriptions à la fois.
En substituant la droite paramétrique dans l'équation du cercle, on obtient une quadratique en le paramètre t dont le discriminant décide du cas : positif pour deux racines réelles distinctes (sécante), nul pour une racine double (tangente) et négatif pour aucune racine réelle (pas de rencontre). L'intention de recherche se regroupe autour de phrases telles qu'intersection cercle droite, trouver l'intersection d'un cercle et d'une droite, tangente à un cercle depuis une droite et calculatrice de points de sécante avec coordonnées.
Livrer un tableau de points ordonné facilite le diff en intégration continue, alimente un pipeline plus large ou se copie dans des notes. Contrairement aux aides cercle-cercle ou segment seul, cette page se concentre uniquement sur une droite infinie face à un seul cercle et signale quand la géométrie ne se rencontre pas.
Usage pratique, limites, tarification et canaux de livraison
Utilisez l'outil navigateur lorsque vous voulez un contrôle de contact immédiat en corrigeant des devoirs, en plaçant un marqueur de collision ou en vérifiant une esquisse sans installer un système d'algèbre informatique. Les coordonnées peuvent être tout nombre fini dans une large borne absolue adaptée aux figures CAO et de classe ordinaires ; les coordonnées de réponse partagent le même système d'unités que vous utilisez déjà.
La droite est traitée comme infinie : les points d'intersection peuvent se situer hors du segment entre les deux points définissants, ce qui est le modèle classique correct pour les exercices de géométrie analytique et de nombreuses requêtes de type rayon qui se prolongent au-delà d'un second point d'échantillon. Les résultats sont pleinement déterministes : les mêmes sept nombres produisent toujours les mêmes points et champs de discriminant.
Il n'y a ni modèle de langage, ni service géométrique externe, ni aléatoire, donc la capacité est sûre à figer dans des contrôles d'intégration continue et des supports de cours reproductibles. Si vous avez besoin d'intersection cercle-cercle, de découpage de segments ou de solveurs de triangles, utilisez ces pages dédiées lorsqu'elles existent—cette capacité se concentre uniquement sur cercle versus droite infinie.
Cas d’usage
Exercices cercle-droite pour devoirs et examens
Élèves et correcteurs confirment les points de tangente ou de sécante à partir du centre, du rayon et de deux points de la droite, avec une erreur claire si la droite rate le cercle.
Questions fréquentes
Quelle formule la calculatrice utilise-t-elle ?
Elle paramètre la droite par les deux points, substitue dans (x−cx)²+(y−cy)²=r² et résout la quadratique avec le discriminant.
L'outil utilise-t-il le segment fini entre les deux points ?
Non. Les deux points ne font que définir la droite infinie. Les points d'intersection peuvent se situer hors du segment ; cela correspond à la géométrie analytique classique.
Comment savoir si une droite est tangente à un cercle ?
Quand la droite ne fait que toucher le cercle, l'équation du second degré du calcul a une seule racine double. Le calculateur renvoie alors un seul point et le signale comme tangent, au lieu de deux intersections.
Que se passe-t-il si la droite ne rencontre pas le cercle ?
Il n'y a alors aucun point d'intersection réel, car le discriminant est négatif. Le calculateur vous indique que la droite et le cercle ne se rencontrent pas, au lieu d'inventer des coordonnées.
Pourquoi les deux points de la droite doivent-ils être différents ?
Deux points identiques ne définissent aucune direction, donc aucune droite unique. Le calculateur refuse ce cas avant tout calcul : il faut deux points distincts pour tracer la droite.
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/geom/circle-line-intersection \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"cx":0,"cy":0,"r":5,"x1":-10,"y1":0,"x2":10,"y2":0}'const res = await fetch("https://api.kit.forhosting.com/geom/circle-line-intersection", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"cx": 0,
"cy": 0,
"r": 5,
"x1": -10,
"y1": 0,
"x2": 10,
"y2": 0
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/geom/circle-line-intersection",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"cx": 0,
"cy": 0,
"r": 5,
"x1": -10,
"y1": 0,
"x2": 10,
"y2": 0
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/geom/circle-line-intersection", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"cx":0,"cy":0,"r":5,"x1":-10,"y1":0,"x2":10,"y2":0}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"cx":0,"cy":0,"r":5,"x1":-10,"y1":0,"x2":10,"y2":0}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/geom/circle-line-intersection", 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
{
"cx": 0,
"cy": 0,
"r": 5,
"x1": -10,
"y1": 0,
"x2": 10,
"y2": 0
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "geom.circle_line_intersection",
"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
Lorsque le discriminant est non négatif, elle renvoie un ou deux points dans un payload JSON structuré ; lorsque la droite rate le cercle, ou que l'entrée est incomplète ou dégénérée, elle échoue immédiatement avec invalid_input afin que l'échec de validation ne soit jamais facturé.
Comment la calculatrice valide l'entrée et résout le discriminant
Le rayon doit être strictement positif. Les deux points de la droite doivent être distincts : une direction de longueur nulle ne définit pas une droite infinie unique et est rejetée avant toute racine. Après le parse, l'algorithme forme la direction D égale à (x2 moins x1, y2 moins y1) et le décalage F égal à (x1 moins cx, y1 moins cy), puis construit les coefficients quadratiques a égal à D·D, b égal à deux fois F·D et c égal à F·F moins r au carré. Le discriminant delta vaut b au carré moins quatre a c. Si delta est négatif au-delà d'un petit epsilon numérique, la requête échoue avec un message clair de non-intersection car la droite ne rencontre pas le cercle. Si delta est essentiellement nul, un point de tangence est renvoyé avec tangent à true. Envoyez un corps JSON avec les sept champs obligatoires cx, cy, r, x1, y1, x2 et y2. Chaque champ doit être un nombre fini (nombres JSON ou chaînes numériques acceptés). Le moteur rejette les champs manquants, chaînes vides, NaN et infinis avec invalid_input afin que ces appels échoués ne soient pas facturés. Les résultats sont arrondis à une précision décimale stable pour que la même géométrie produise toujours le même JSON entre moteurs JavaScript. La réponse répète les sept entrées, renvoie count, tangent, discriminant et points, et fixe method à quadratic_discriminant pour que les appelants puissent affirmer l'algorithme dans les tests. Il n'y a ni inversion de matrice ni service géométrique externe—seulement de l'arithmétique sur un Worker.
Usage pratique, limites, tarification et canaux de livraison
Utilisez l'API lorsqu'un script, une plateforme de cours, un éditeur de jeux, un outil de maillage ou un notebook a besoin de JSON stable pour de nombreuses paires cercle-droite sous un seul contrat. Chaque requête réussie est un élément facturable à $0.002 ; l'échec de validation—y compris un discriminant négatif sans point de rencontre réel—ne consomme pas le solde. Branchez le endpoint sur des vérificateurs de concours, des aides de collision de sprites, des démos de contraintes CAO ou des étapes de prétraitement où vous préférez déjà une quadratique explicite à des widgets opaques qui n'expliquent pas pourquoi un rayon manquant est rejeté.
Cas d'intégration
Fixtures déterministes pour tests de géométrie et de collision
Les pipelines qui alimentent des tests unitaires ou des démos d'esquisse interactive peuvent appeler un oracle pur d'intersection au lieu de réimplémenter la quadratique dans chaque langage.
Ancrages de contact en CAO, topographie et jeux
Les outils qui placent marqueurs, étiquettes ou origines de collision où une ligne de construction rencontre un arc circulaire récupèrent les points en JSON structuré pour l'import.
Questions techniques
Comment trouver les points d'intersection cercle-droite avec cette API ?
Envoyez un corps JSON avec cx, cy, r, x1, y1, x2 et y2 à geom.circle_line_intersection. La réponse renvoie un ou deux points lorsque la droite rencontre le cercle.
Que se passe-t-il si la droite n'intersecte pas le cercle ?
La requête échoue avec invalid_input car le discriminant est négatif (pas d'intersection réelle). Ces échecs de validation ne sont pas facturés.
La calculatrice d'intersection cercle-droite est-elle gratuite ?
L'outil navigateur s'exécute gratuitement sur votre appareil. Les appels API utilisent le solde KIT prépayé à $0.002 par élément réussi ; les échecs de validation ne sont pas facturés.