Centro del cerchio da tre punti: calcola centro e raggio online
Ricostruisca la circonferenza dietro tre punti misurati: (0, 0), (4, 0) e (0, 3) danno un centro in (2; 1,5), un raggio di 2,5 e l'equazione (x − 2)² + (y − 1,5)² = 6,25, tutto insieme. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- X1
- 0
- Y1
- 0
- X2
- 4
- Y2
- 0
- X3
- 0
- Y3
- 3
- Raggio
- 2,5
- Diametro
- 5
- Equazione
- (x − 2)² + (y − 1.5)² = 6.25
È la primitiva geometrica alla base di verifiche di adattamento, ricostruzione di archi, calibrazione e lavoro di layout, calcolata in modo deterministico con un determinante in forma chiusa anziché per approssimazione. Invii sei coordinate e riceva centro, raggio, diametro ed equazione del cerchio in una sola chiamata.
Un cerchio, tre punti, nessuna iterazione
Tre punti non allineati definiscono esattamente un cerchio, e il suo centro è il punto equidistante da tutti e tre. Poiché la risposta è in forma chiusa, non c'è alcun risolutore iterativo, nessuna tolleranza di convergenza e nessun riscaldamento: gli stessi sei numeri producono sempre lo stesso centro e lo stesso raggio, fino all'ultimo decimale arrotondato.
Invii x1, y1, x2, y2, x3 e y3 come numeri o stringhe numeriche, e riceva le coordinate del centro, il raggio, il diametro e l'equazione in forma standard del cerchio, arrotondati alla precisione che sceglie. La risposta segnala anche se l'input era degenere, così una pipeline può diramare sulla geometria invece di analizzare il testo di un errore.
Tutto viene eseguito sul nostro edge worker in microsecondi, senza che nulla venga memorizzato dopo l'invio della risposta, quindi le coordinate provenienti da disegni, sensori o rilievi non vengono mai conservate da nessuna parte tra la Sua richiesta e il Suo risultato.
Quando tre punti non formano un cerchio
Se i tre punti giacciono su una retta — o due di essi coincidono — nessun cerchio finito passa per tutti e tre, e fingere il contrario è il modo in cui una cattiva geometria si propaga in un progetto o in un rapporto. Il determinante che rileva l'allineamento è lo stesso che produce il centro, quindi il controllo non costa nulla in più e non può contraddire il risultato.
Punti quasi allineati vengono comunque calcolati, ma Lei dovrebbe trattare i raggi molto grandi come un segnale di avvertimento nella Sua logica. La convalida dell'input è volutamente rigorosa: ogni coordinata deve essere un numero finito, NaN e Infinity vengono rifiutati, e l'opzione di precisione è limitata da zero a quindici cifre decimali. Il rigore al confine è ciò che mantiene deterministico un contratto deterministico in ogni runtime che lo esegue.
Dove un centro del cerchio si ripaga
L'uso ovvio è i compiti di geometria e gli strumenti in stile CAD, ma la maggioranza silenziosa delle chiamate proviene da pipeline di dati. Il software di metrologia ricostruisce un arco da tre tocchi di sonda e ne ha bisogno del centro per calcolare la rotondità; il codice cartografico adatta un cerchio di svolta attraverso tre fix GPS; il codice di giochi e robotica deriva un centro di curvatura da tre waypoint per pianificare un percorso fluido.
In ogni caso il chiamante vuole un numero di cui fidarsi, non una dipendenza di libreria. Se i Suoi tre punti dovessero mai dare risultati diversi tra ambienti, quella è una segnalazione di bug che vogliamo, non una modalità di arrotondamento che Lei dovrebbe accettare.
Casi d'uso
Ricostruisca un arco da tre sonde
Adatti il cerchio dietro una curva misurata in metrologia o reverse engineering, e ottenga centro e raggio in una sola chiamata.
Adatti un cerchio di svolta ai waypoint
Derivi la curvatura da tre fix GPS o waypoint di percorso per pianificare il movimento o convalidare un itinerario.
Domande frequenti
Quanto costa?
È anche gratuito da eseguire nel Suo browser su questa pagina con lo stesso codice.
Quale input si aspetta?
Sei coordinate: x1, y1, x2, y2, x3, y3. Numeri e stringhe numeriche funzionano entrambi, e un campo precision opzionale imposta le cifre decimali della risposta.
Qualcuno dei miei dati viene memorizzato?
No. Le coordinate vengono elaborate in memoria e scartate; viene restituito solo il risultato calcolato.
Quanto è accurato il risultato?
Il centro deriva da una formula esatta del determinante in doppia precisione, poi arrotondato alla precisione che richiede (0–15 decimali, predefinito 10).
Cosa succede se i tre punti sono allineati?
In quel caso nessuna circonferenza passa per tutti e tre, e il calcolatore lo segnala con un messaggio chiaro invece di inventarne una. Lo stesso accade quando due dei punti coincidono.
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/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)Esempio di richiesta
{
"x1": 0,
"y1": 0,
"x2": 4,
"y2": 0,
"x3": 0,
"y3": 3
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.circle_center",
"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
L'API del centro del cerchio accetta tre punti del piano e restituisce il centro esatto e il raggio dell'unico cerchio che passa per tutti e tre.
Un cerchio, tre punti, nessuna iterazione
La costruzione classica traccia l'asse di due corde e ne legge l'intersezione; algebricamente è una piccola formula del determinante, ed è ciò che questo endpoint valuta.
Quando tre punti non formano un cerchio
Questa capability rifiuta invece di indovinare: un input allineato o coincidente solleva un errore invalid_input con un messaggio che dice esattamente cosa non va, così il chiamante può gestirlo e chiedere dati migliori anziché ricevere silenziosamente un cerchio di raggio assurdo.
Dove un centro del cerchio si ripaga
Il prezzo è fisso: $0.002 a richiesta, un elemento per chiamata, senza supplementi per coordinate di grandezza maggiore. Lo stesso codice che risponde all'API viene eseguito gratuitamente nel Suo browser su questa pagina, così può verificare un risultato a mano prima di collegare l'endpoint alla produzione.
Casi di integrazione
Protegga una pipeline geometrica
Rifiuti terne allineate o coincidenti con un chiaro errore invalid_input invece di un raggio silenziosamente enorme.
Domande tecniche
Cosa succede se i punti sono allineati?
La richiesta fallisce con un errore invalid_input che spiega che nessun cerchio finito passa per tre punti allineati.