Calculadora de triângulos AAA: três ângulos e um lado, lei dos senos
A calculadora de triângulo AAA recebe os três ângulos internos de um triângulo e um comprimento de lado conhecido, e devolve os comprimentos dos outros dois lados.
Três ângulos sozinhos determinam a forma de um triângulo, mas não o seu tamanho — uma família infinita de triângulos semelhantes compartilha os mesmos ângulos —, por isso o lado único fornece a escala que falta. O resolvedor primeiro verifica se os seus três ângulos realmente somam 180 graus e rejeita a entrada com um erro claro quando não somam; em seguida, aplica a lei dos senos para calcular cada lado desconhecido com precisão estável de ponto flutuante. Ele roda inteiramente no seu navegador, de graça, ou como uma chamada de API determinística.
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?
Esta capacidade está disponível atualmente pela API. O canal Web ainda não está habilitado.
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
One authenticated POST creates the task; the result comes back by webhook or a signed link. This capability is currently available through the API, not as an interactive Web tool.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/math/aaa-triangle \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"angle_a":50,"angle_b":60,"angle_c":70,"side_a":8}'const res = await fetch("https://api.kit.forhosting.com/math/aaa-triangle", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"angle_a": 50,
"angle_b": 60,
"angle_c": 70,
"side_a": 8
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/math/aaa-triangle",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"angle_a": 50,
"angle_b": 60,
"angle_c": 70,
"side_a": 8
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/math/aaa-triangle", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"angle_a":50,"angle_b":60,"angle_c":70,"side_a":8}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"angle_a":50,"angle_b":60,"angle_c":70,"side_a":8}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/math/aaa-triangle", 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
{
"angle_a": 50,
"angle_b": 60,
"angle_c": 70,
"side_a": 8
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.aaa_triangle",
"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. |