Centro do Círculo por Três Pontos
Reconstrua a circunferência por trás de três pontos medidos: (0, 0), (4, 0) e (0, 3) dão centro em (2; 1,5), raio de 2,5 e a equação (x − 2)² + (y − 1,5)² = 6,25, tudo de uma vez. Grátis no seu navegador.
- Grátis
- Funciona no seu navegador
- Sem cadastro
- Seus dados não saem do seu aparelho
Executar grátis
Exemplo resolvido
- X1
- 0
- Y1
- 0
- X2
- 4
- Y2
- 0
- X3
- 0
- Y3
- 3
- Raio
- 2,5
- Diâmetro
- 5
- Equação
- (x − 2)² + (y − 1.5)² = 6.25
É o primitivo geométrico por trás de verificações de ajuste, reconstrução de arcos, calibração e trabalho de layout, calculado de forma determinística a partir de um determinante em forma fechada, e não por aproximação. Envie seis coordenadas e receba o centro, o raio, o diâmetro e a equação do círculo em uma única chamada.
Um círculo, três pontos, sem iteração
Três pontos não colineares definem exatamente um círculo, e seu centro é o ponto equidistante dos três. Como a resposta é em forma fechada, não há solucionador iterativo, tolerância de convergência nem aquecimento: os mesmos seis números sempre produzem o mesmo centro e raio, até a última casa decimal arredondada. Você envia x1, y1, x2, y2, x3 e y3 como números ou strings numéricas, e recebe as coordenadas do centro, o raio, o diâmetro e a equação na forma padrão do círculo, arredondados na precisão que escolher.
A resposta também indica se a entrada era degenerada, para que um pipeline possa ramificar com base na geometria, em vez de interpretar texto de erro. Tudo roda em nosso edge worker em microssegundos, sem armazenar nada depois que a resposta sai, portanto coordenadas de desenhos, sensores ou levantamentos nunca são persistidas em lugar algum entre a sua solicitação e o seu resultado.
Quando três pontos não formam um círculo
Se os três pontos estiverem sobre uma linha reta — ou dois deles coincidirem — nenhum círculo finito passa por todos eles, e fingir o contrário é como geometria ruim se propaga para um projeto ou relatório. O determinante que detecta a colinearidade é o mesmo que produz o centro, portanto a verificação não custa nada extra e não pode divergir do resultado. Pontos quase colineares ainda são calculados, mas você deve tratar raios muito grandes como sinal de alerta na sua própria lógica.
A validação de entrada é rigorosa de propósito: cada coordenada deve ser um número finito, NaN e Infinity são rejeitados, e a opção de precisão é limitada de zero a quinze casas decimais. O rigor na fronteira é o que mantém um contrato determinístico determinístico em todos os runtimes que o executam.
Onde um centro de círculo vale o investimento
O uso óbvio é lição de geometria e ferramentas no estilo CAD, mas a maioria silenciosa das chamadas vem de pipelines de dados. Software de metrologia reconstrói um arco a partir de três toques de sonda e precisa do centro para calcular a circularidade; código de mapeamento ajusta um círculo de curva por três pontos de GPS; código de jogos e robótica deriva um centro de curvatura a partir de três waypoints para planejar um trajeto suave.
Em cada caso, o chamador quer um número em que possa confiar, não uma dependência de biblioteca. Se seus três pontos algum dia divergirem entre ambientes, isso é um relatório de bug que queremos receber, não um modo de arredondamento que você deva aceitar.
Casos de uso
Reconstrua um arco a partir de três sondas
Ajuste o círculo por trás de uma curva medida em metrologia ou engenharia reversa, e obtenha seu centro e raio em uma única chamada.
Ajuste um círculo de curva por waypoints
Derive a curvatura a partir de três pontos de GPS ou waypoints de trajeto para planejar movimento ou validar uma rota.
Perguntas frequentes
Quanto custa?
Também é gratuito executar no seu navegador nesta página, com o mesmo código.
Que entrada ele espera?
Seis coordenadas: x1, y1, x2, y2, x3, y3. Números ou strings numéricas funcionam, e um campo precision opcional define as casas decimais da resposta.
Algum dos meus dados é armazenado?
Não. As coordenadas são processadas em memória e descartadas; apenas o resultado calculado é retornado.
Qual é a precisão do resultado?
O centro vem de uma fórmula exata de determinante em precisão dupla, depois arredondada na precisão solicitada (0–15 casas decimais, padrão 10).
E se os três pontos estiverem em linha reta?
Nesse caso nenhuma circunferência passa pelos três, e a calculadora avisa com uma mensagem clara em vez de inventar uma. O mesmo acontece quando dois dos pontos coincidem.
Ferramentas relacionadas
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
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)Exemplo de requisição
{
"x1": 0,
"y1": 0,
"x2": 4,
"y2": 0,
"x3": 0,
"y3": 3
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.circle_center",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |
Notas técnicas
A API de centro do círculo recebe três pontos no plano e retorna o centro exato e o raio do único círculo que passa por todos eles.
Um círculo, três pontos, sem iteração
A construção clássica traça a mediatriz de duas cordas e lê a interseção; algebricamente, isso é uma pequena fórmula de determinante, e é exatamente o que este endpoint avalia.
Quando três pontos não formam um círculo
Esta capacidade recusa em vez de adivinhar: uma entrada colinear ou coincidente gera um erro invalid_input com uma mensagem que diz exatamente o que está errado, para que o chamador possa capturá-lo e pedir dados melhores, em vez de receber silenciosamente um círculo de raio absurdo.
Onde um centro de círculo vale o investimento
O preço é fixo: US$ 0,002 por solicitação, um item por chamada, sem sobretaxa para coordenadas de maior magnitude. O mesmo código que atende a API roda gratuitamente no seu navegador nesta página, então você pode verificar um resultado à mão antes de integrar o endpoint em produção.
Casos de integração
Proteja um pipeline de geometria
Rejeite triplas colineares ou coincidentes com um erro invalid_input claro, em vez de um raio silenciosamente enorme.
Perguntas técnicas
O que acontece se os pontos forem colineares?
A solicitação falha com um erro invalid_input explicando que nenhum círculo finito passa por três pontos colineares.