Intersezione cerchio-retta: 0, 1 o 2 punti da centro, raggio e retta
Trovi dove una retta attraversa un cerchio: un cerchio di raggio 5 nell'origine e la retta per (−10, 0) e (10, 0) si incontrano in (−5, 0) e (5, 0). Lo strumento indica se la retta taglia, tocca o manca il cerchio. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- Cx
- 0
- Cy
- 0
- Resistenza (Ω)
- 5
- X1
- -10
- Y1
- 0
- X2
- 10
- Quantità
- 2
- Discriminante
- 40.000
Un cerchio e una retta nel piano possono incontrarsi in due punti (secante), toccarsi in esattamente un punto (tangente) oppure non intersecarsi. La geometria analitica classica riduce la questione a un'equazione di secondo grado: si parametrizza la retta con due punti, si sostituisce nell'equazione del cerchio e si legge il discriminante. Studenti che controllano i compiti, sviluppatori di giochi che collocano contatti di collisione, assistenti CAD che verificano vincoli di schizzo, aiuti topografici che recuperano intersezioni di linea di vista e risolutori di gare hanno bisogno di quelle coordinate di contatto come numeri stabili da fissare nei test—non solo uno schizzo. Questa capacità accetta sette numeri—cx, cy, r per il cerchio e x1, y1, x2, y2 per due punti distinti della retta infinita—, valida che ogni campo sia finito e che il raggio sia positivo, quindi risolve la quadratica.
Cosa significa l'intersezione cerchio-retta e perché si cerca
Nella geometria euclidea del piano, un cerchio di centro C e raggio r è l'insieme dei punti a distanza fissa r da C. Una retta infinita per due punti distinti A e B è l'insieme dei punti A più un multiplo reale del vettore direzione B meno A. La loro intersezione è l'insieme dei punti che soddisfano entrambe le descrizioni.
Sostituendo la retta parametrica nell'equazione del cerchio si ottiene una quadratica nel parametro t il cui discriminante decide il caso: positivo per due radici reali distinte (secante), zero per radice doppia (tangente) e negativo per nessuna radice reale (nessun incontro). L'intento di ricerca si raggruppa intorno a frasi come intersezione cerchio retta, trovare intersezione di cerchio e retta, tangente a un cerchio da una retta e calcolatrice di punti di secante con coordinate.
Consegnare un array di punti ordinato facilita il diff nell'integrazione continua, alimenta una pipeline più ampia o si copia negli appunti. A differenza di aiuti cerchio-cerchio o solo segmento, questa pagina si concentra unicamente su una retta infinita contro un singolo cerchio e segnala quando la geometria non si incontra.
Uso pratico, limiti, prezzi e canali di consegna
Usi lo strumento del browser quando desidera un controllo di contatto immediato correggendo compiti, collocando un marcatore di collisione o verificando uno schizzo senza installare un sistema di algebra computazionale. Le coordinate possono essere qualsiasi numero finito entro un ampio bound assoluto adatto a figure CAD e di aula ordinarie; le coordinate di risposta condividono lo stesso sistema di unità che Lei già usa.
La retta è trattata come infinita: i punti di intersezione possono giacere fuori dal segmento tra i due punti definenti, che è il modello classico corretto per esercizi di geometria analitica e molte query di tipo raggio che si estendono oltre un secondo punto campione. I risultati sono pienamente deterministici: gli stessi sette numeri producono sempre gli stessi punti e campi di discriminante. Non c'è modello linguistico, né servizio geometrico esterno, né casualità, quindi la capacità è sicura da fissare in controlli di integrazione continua e materiali didattici riproducibili.
Se le serve intersezione cerchio-cerchio, clipping di segmenti o risolutori di triangoli, usi quelle pagine dedicate quando esistono—questa capacità si concentra unicamente su cerchio versus retta infinita.
Casi d'uso
Esercizi cerchio-retta per compiti ed esami
Studenti e valutatori confermano i punti di tangente o secante da centro, raggio e due punti della retta, con errore chiaro se la retta non incontra il cerchio.
Domande frequenti
Quale formula usa la calcolatrice?
Parametrizza la retta con i due punti, sostituisce in (x−cx)²+(y−cy)²=r² e risolve la quadratica con il discriminante.
La calcolatrice di intersezione cerchio-retta è gratuita?
Lo strumento del browser è gratuito sul Suo dispositivo.
Lo strumento usa il segmento finito tra i due punti?
No. I due punti definiscono solo la retta infinita. I punti di intersezione possono giacere fuori dal segmento; ciò corrisponde alla geometria analitica classica.
Come capisco se una retta è tangente a un cerchio?
Quando la retta tocca soltanto il cerchio, l'equazione di secondo grado del calcolo ha un'unica radice doppia. La calcolatrice restituisce allora un solo punto e lo segnala come tangente, invece di due intersezioni.
Cosa succede se la retta non incontra il cerchio?
In quel caso non ci sono punti di incontro reali, perché il discriminante è negativo. La calcolatrice la avvisa che retta e cerchio non si incontrano, invece di inventare coordinate.
Strumenti correlati
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo 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)Esempio di richiesta
{
"cx": 0,
"cy": 0,
"r": 5,
"x1": -10,
"y1": 0,
"x2": 10,
"y2": 0
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "geom.circle_line_intersection",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |
Note tecniche
Quando il discriminante è non negativo restituisce uno o due punti in un payload JSON strutturato; quando la retta non incontra il cerchio, o l'input è incompleto o degenere, fallisce subito con invalid_input così la validazione fallita non viene mai addebitata.
Come la calcolatrice valida l'input e risolve il discriminante
Il raggio deve essere strettamente positivo. I due punti della retta devono essere distinti: una direzione di lunghezza zero non definisce una retta infinita unica e viene rifiutata prima di qualsiasi radice. Dopo il parse, l'algoritmo forma la direzione D uguale a (x2 meno x1, y2 meno y1) e lo scostamento F uguale a (x1 meno cx, y1 meno cy), poi costruisce i coefficienti quadratici a uguale a D·D, b uguale a due volte F·D e c uguale a F·F meno r al quadrato. Il discriminante delta vale b al quadrato meno quattro a c. Se delta è negativo oltre un piccolo epsilon numerico, la richiesta fallisce con un messaggio chiaro di non intersezione perché la retta non incontra il cerchio. Se delta è essenzialmente zero, viene restituito un punto di tangenza con tangent a true. Invii un corpo JSON con i sette campi obbligatori cx, cy, r, x1, y1, x2 e y2. Ogni campo deve essere un numero finito (si accettano numeri JSON o stringhe numeriche). Il motore rifiuta campi mancanti, stringhe vuote, NaN e infiniti con invalid_input così tali chiamate fallite non vengono addebitate. I risultati sono arrotondati a una precisione decimale stabile affinché la stessa geometria produca sempre lo stesso JSON tra motori JavaScript. La risposta ripete i sette input, restituisce count, tangent, discriminant e points, e imposta method a quadratic_discriminant così i chiamanti possono affermare l'algoritmo nei test. Non c'è inversione di matrici né servizio geometrico esterno—solo aritmetica su un Worker.
Uso pratico, limiti, prezzi e canali di consegna
Usi l'API quando uno script, una piattaforma didattica, un editor di giochi, uno strumento di mesh o un notebook necessita di JSON stabile per molte coppie cerchio-retta sotto un unico contratto. Ogni richiesta riuscita è un elemento fatturabile a $0.002; la validazione fallita—incluso un discriminante negativo senza punto di incontro reale—non consuma il saldo.
Casi di integrazione
Fixture deterministiche per test di geometria e collisione
Le pipeline che seminano test unitari o demo di schizzo interattivo possono chiamare un oracolo puro di intersezione invece di reimplementare la quadratica in ogni linguaggio.
Ancoraggi di contatto in CAD, topografia e giochi
Strumenti che collocano marcatori, etichette o origini di collisione dove una linea di costruzione incontra un arco circolare recuperano i punti come JSON strutturato per l'importazione.
Domande tecniche
Come trovo i punti di intersezione cerchio-retta con questa API?
Invii un corpo JSON con cx, cy, r, x1, y1, x2 e y2 a geom.circle_line_intersection. La risposta restituisce uno o due punti quando la retta incontra il cerchio.
Cosa succede se la retta non interseca il cerchio?
La richiesta fallisce con invalid_input perché il discriminante è negativo (nessuna intersezione reale). Tali fallimenti di validazione non vengono addebitati.