Calculadora de extremidade
Se uma extremidade está em (0, 0) e o ponto médio em (2, 3), a outra extremidade está em (4, 6). Digite a extremidade conhecida e o ponto médio e receba a que falta, espelhada pelo centro. 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
- Mx
- 2
- My
- 3
- X2
- 4
- Y2
- 6
A calculadora de extremidades resolve em uma única chamada um dos problemas mais comuns da geometria de coordenadas: você conhece uma extremidade de um segmento de reta e conhece o ponto médio, e precisa da outra extremidade. É o inverso exato de uma calculadora de ponto médio: em vez de tirar a média de duas extremidades para achar o centro, ela dobra o centro e subtrai a extremidade conhecida para recuperar a que falta. Cada coordenada é validada como número finito antes de qualquer aritmética, de modo que uma entrada malformada é rejeitada com um erro claro em vez de produzir um NaN silencioso.
A fórmula do ponto médio, rearranjada
O ponto médio M de um segmento que liga A=(x1, y1) e B=(x2, y2) é a média das extremidades: mx = (x1 + x2) / 2 e my = (y1 + y2) / 2. Quando a peça que falta é B e não M, as mesmas duas equações são simplesmente resolvidas para x2 e y2. Geometricamente, trata-se de uma reflexão: o ponto médio é o centro de simetria do segmento, portanto a extremidade que falta é a imagem espelhada da extremidade conhecida através de M.
É por isso que a operação às vezes é chamada de refletir um ponto através de outro ponto, e por isso o resultado fica sempre exatamente à mesma distância de M que a extremidade conhecida, do lado oposto. A calculadora executa os dois rearranjos em uma única passagem e retorna a extremidade conhecida, o ponto médio e a extremidade recuperada juntos, para que a entrada e a resposta possam ser conferidas lado a lado sem uma segunda chamada.
Validação e comportamento numérico
Cada uma das quatro coordenadas — x1, y1, mx e my — deve estar presente e deve ser um número finito. Os resultados são arredondados para dez casas decimais, de modo que a saída seja estável byte a byte entre máquinas e runtimes; um artefato de ponto flutuante como 0.1 + 0.2 nunca vaza para a resposta. As coordenadas são aceitas até uma magnitude absoluta de 1e15, muito além de qualquer carga prática de geometria, e a extremidade calculada é ela mesma verificada quanto à finitude antes de ser retornada.
Como todo o cálculo consiste em quatro multiplicações e subtrações de números validados, o resultado é totalmente determinístico: a mesma entrada sempre produz a mesma saída, sem aleatoriedade, sem relógio e sem serviço externo.
Onde se encaixa no trabalho real
Problemas de extremidade que falta aparecem onde quer que simetria ou centralização importem. Em computação gráfica e CAD, um objeto espelhado em torno de um ponto pivô precisa de seus vértices refletidos, e refletir através de um ponto é exatamente esta operação. Em topografia e mapeamento, uma estação medida a partir de um ponto de controle conhecido com um ponto médio registrado permite recuperar a estação distante sem uma segunda visita.
Na educação, é o companheiro clássico da fórmula do ponto médio: os alunos recebem A e M e precisam achar B, e esta ferramenta funciona também como verificador de respostas. Em desenvolvimento de jogos e animação, ela posiciona a contraparte de uma entidade do outro lado de um centro de rotação, e em motores de layout completa um par simétrico de pontos de âncora.
Casos de uso
Espelhar um ponto através de um pivô
Reflita um vértice ou sprite em torno de um ponto central em gráficos, CAD ou código de jogos: o pivô é o ponto médio e o vértice espelhado é a extremidade que falta.
Conferir lição de ponto médio
Dada uma extremidade e o ponto médio, os alunos recuperam a outra extremidade e verificam seu rearranjo manual da fórmula do ponto médio.
Completar uma medição simétrica
Recupere uma estação distante ou uma âncora a partir de um ponto de controle conhecido e de um ponto médio registrado, quando apenas um lado do segmento foi medido diretamente.
Perguntas frequentes
Quanto custa?
Também é grátis executar no seu navegador nesta página.
Qual fórmula ela usa?
A extremidade que falta é a reflexão da extremidade conhecida através do ponto médio.
Que entrada ela espera?
Quatro coordenadas: x1 e y1 para a extremidade conhecida, mx e my para o ponto médio. Números comuns ou strings numéricas são aceitos.
Qual a diferença para uma calculadora de ponto médio?
Uma calculadora de ponto médio tira a média de duas extremidades para achar o centro. Esta é o inverso: pega uma extremidade e o centro e recupera a outra extremidade.
Algo é armazenado?
Não. As coordenadas são processadas e descartadas; apenas a extremidade calculada é retornada.
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/endpoint \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"x1":0,"y1":0,"mx":2,"my":3}'const res = await fetch("https://api.kit.forhosting.com/math/endpoint", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"x1": 0,
"y1": 0,
"mx": 2,
"my": 3
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/math/endpoint",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"x1": 0,
"y1": 0,
"mx": 2,
"my": 3
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/math/endpoint", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"x1":0,"y1":0,"mx":2,"my":3}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"x1":0,"y1":0,"mx":2,"my":3}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/math/endpoint", 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,
"mx": 2,
"my": 3
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.endpoint",
"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
Envie a extremidade conhecida A=(x1, y1) e o ponto médio M=(mx, my), e a API retorna a extremidade que falta B=(x2, y2) refletindo A através de M com a fórmula do ponto médio rearranjada, x2 = 2·mx − x1 e y2 = 2·my − y1.
A fórmula do ponto médio, rearranjada
Multiplicando ambos os lados por dois obtém-se x1 + x2 = 2·mx, e subtraindo x1 isola-se a incógnita: x2 = 2·mx − x1. O mesmo passo no eixo y dá y2 = 2·my − y1.
Validação e comportamento numérico
Números JSON comuns são aceitos, assim como strings numéricas como "3.5", o que é conveniente quando o valor vem direto de um campo de formulário ou de uma célula CSV. Campos ausentes, strings vazias, booleanos, NaN, Infinity e texto não numérico são todos rejeitados com um erro invalid_input que nomeia a coordenada culpada, e requisições que falham na validação nunca são cobradas.
Onde se encaixa no trabalho real
A API roda na nossa edge global sem guardar nada após a resposta, e o mesmo código roda grátis no seu navegador nesta página, então você pode verificar um caso interativamente e só pagar — US$ 0,002 por requisição — quando automatizar em escala.
Perguntas técnicas
O que acontece com entrada inválida?
Qualquer coordenada ausente ou não finita — NaN, Infinity, texto vazio ou não numérico — é rejeitada com um erro invalid_input que nomeia o campo, e requisições que falham não são cobradas.