Calculadora de distância por triangulação
A triangulação é o método clássico para saber a que distância um marco remoto fica de uma base curta medida quando só se podem visar ângulos nos dois extremos dessa base.
Executar grátis
Topógrafos, monitores de orientação, instrução de cadetes e laboratórios STEM ao ar livre ainda usam esse padrão de geometria plana: fixe o comprimento da base, meça o ângulo interior em cada estação em direção ao mesmo alvo, recupere o ângulo do vértice como cento e oitenta graus menos a soma dos ângulos de base e aplique a lei dos senos de modo que cada raio desconhecido seja a base vezes o seno do ângulo de base oposto sobre o seno do vértice. Quem já conhece a sobre sen A igual a b sobre sen B precisa de uma página no idioma da topografia—base, ângulos de base, distância ao alvo—e não de um resolvedor genérico de triângulos com rótulos arbitrários de lados. Esta capacidade aceita baseline, angle_a e angle_b em graus, rejeita comprimentos não positivos e pares de ângulos que não formam um triângulo plano, e devolve o ângulo do vértice mais ambas as distâncias dos extremos da base até o ponto remoto como JSON estável. A mesma função pura alimenta o widget gratuito do navegador e o caminho de API pré-paga, de modo que um exemplo golden do servidor coincide com o que um visitante executa localmente sem ida e volta de rede e sem modelo de linguagem.
Como usar
Insira os dados no formulário acima. A ferramenta os verifica antes de calcular e mostra o resultado na mesma página.
Confira os dados
Use os rótulos e as unidades indicados em cada campo. Se algo estiver ausente ou fora do intervalo permitido, a página mostra o que corrigir.
Repita o cálculo ou automatize
Use a ferramenta web para verificações individuais e a API quando precisar da mesma capacidade em um fluxo automatizado.
Casos de uso
Obtenha uma resposta agora
Insira um conjunto de valores e veja o resultado sem montar uma planilha ou um script.
Compare cenários
Altere um valor por vez e repita o cálculo para entender o que muda o resultado.
Automatize tarefas repetidas
Use a API quando precisar executar o mesmo cálculo dentro do seu produto ou fluxo.
Perguntas frequentes
Como usar esta capacidade?
Preencha os campos acima e execute nesta página. O formulário destaca qualquer dado que precise de correção.
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/trig/triangulation-distance \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"baseline":100,"angle_a":50,"angle_b":60}'const res = await fetch("https://api.kit.forhosting.com/trig/triangulation-distance", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"baseline": 100,
"angle_a": 50,
"angle_b": 60
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/trig/triangulation-distance",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"baseline": 100,
"angle_a": 50,
"angle_b": 60
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/trig/triangulation-distance", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"baseline":100,"angle_a":50,"angle_b":60}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"baseline":100,"angle_a":50,"angle_b":60}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/trig/triangulation-distance", 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
{
"baseline": 100,
"angle_a": 50,
"angle_b": 60
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "trig.triangulation_distance",
"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. |