Calculadora da lei dos cossenos
Informe dois lados e o ângulo entre eles para obter o terceiro lado, ou os três lados para obter um ângulo: lados de 5 e 7 formando 60° deixam um terceiro lado de 6,244998. Medidas que não formam triângulo são recusadas. 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
- A
- 5
- B
- 7
- Ângulo c
- 60
- Modo de cálculo
- sas
- C
- 6,244998
Envie dois lados e o ângulo entre eles e ela devolve o terceiro lado; envie os três lados e ela devolve o ângulo oposto a um deles. Cada resultado vem de uma única avaliação determinística de c² = a² + b² − 2ab·cos C (ou de sua inversa), sem tabelas de aproximação, sem iteração e sem achismo. O mesmo código roda de graça no seu navegador nesta página, então você pode conferir um resultado à mão antes de automatizar a chamada.
Dois lados e o ângulo entre eles: encontrando o terceiro lado
O uso clássico da lei dos cossenos é o caso SAS: você conhece dois lados de um triângulo e o ângulo entre eles, e precisa do lado oposto a esse ângulo. A fórmula c² = a² + b² − 2ab·cos C generaliza o teorema de Pitágoras — quando C é exatamente 90 graus, o termo do cosseno desaparece e você recupera c² = a² + b². A resposta é o lado c, arredondado para seis casas decimais para que os resultados sejam estáveis entre máquinas.
Este é o cálculo por trás de incontáveis medições reais: a distância através de um lago a partir de dois pontos medidos na margem, o terceiro lado de uma treliça de telhado, a diagonal de um paralelogramo de forças. Como o ângulo incluído precisa estar estritamente dentro do intervalo aberto, respostas degeneradas — um triângulo colapsado ou achatado — são recusadas de antemão, em vez de devolvidas como números enganosos.
Três lados: recuperando o ângulo
O segundo modo executa a fórmula ao contrário. Antes de calcular qualquer coisa, ele verifica a desigualdade triangular: o maior lado precisa ser estritamente menor que a soma dos outros dois. Este é o modo que agrimensores usam quando distâncias são baratas de medir, mas ângulos não; que um programador de CNC usa para descobrir o ângulo de uma junta a partir dos comprimentos das peças; e que os estudantes conhecem como o caso SSS nos cursos de trigonometria.
Um limite no valor do cosseno protege o arco cosseno de ruído de ponto flutuante em entradas quase degeneradas, então um triângulo válido, porém muito estreito, ainda produz uma resposta limpa.
Casos de uso
Meça uma distância inalcançável
Dois lados medidos e o ângulo entre eles revelam a distância através de um rio, uma linha de lote ou a diagonal de um armazém que não dá para medir com trena diretamente.
Descubra o ângulo de uma junta pelos comprimentos
Com os três lados conhecidos a partir de uma lista de peças, recupere o ângulo exato no qual um suporte, uma treliça ou um braço robótico deve ser cortado ou posicionado.
Perguntas frequentes
Quanto custa?
Também é grátis executar no seu navegador nesta página.
Quais são os dois problemas que ela resolve?
SAS: dois lados e o ângulo entre eles dão o terceiro lado. SSS: três lados dão o ângulo oposto ao lado c.
Posso enviar o ângulo e o terceiro lado juntos?
Não. Enviar os dois é ambíguo quanto ao que você quer calcular, então é rejeitado.
O resultado é determinístico?
Sim. É uma única avaliação em forma fechada com arredondamento fixo de seis casas decimais — a mesma entrada sempre devolve a mesma saída, sem aleatoriedade nem iteração.
O que acontece se os três lados não formarem um triângulo?
O cálculo é recusado com uma mensagem clara. O maior lado precisa ser estritamente menor que a soma dos outros dois, por isso medidas como 2, 3 e 9 não formam nenhum triângulo.
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/law-of-cosines \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"a":5,"b":7,"angle_c":60}'const res = await fetch("https://api.kit.forhosting.com/math/law-of-cosines", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"a": 5,
"b": 7,
"angle_c": 60
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/math/law-of-cosines",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"a": 5,
"b": 7,
"angle_c": 60
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/math/law-of-cosines", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"a":5,"b":7,"angle_c":60}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"a":5,"b":7,"angle_c":60}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/math/law-of-cosines", 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
{
"a": 5,
"b": 7,
"angle_c": 60
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.law_of_cosines",
"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.
Limites
max_side | 1000000000000 |
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 da lei dos cossenos resolve os dois problemas que o teorema de Pitágoras não alcança: triângulos sem ângulo reto. Entradas que não formam um triângulo real — um lado zero, um ângulo de 180 graus, três comprimentos que violam a desigualdade triangular — são rejeitadas com um erro invalid_input claro e nunca são cobradas.
Dois lados e o ângulo entre eles: encontrando o terceiro lado
Para usar este modo, envie os campos a, b e angle_c, com o ângulo em graus estritamente entre 0 e 180.
Três lados: recuperando o ângulo
Dados os três lados a, b e c, o endpoint rearranja a lei dos cossenos para cos C = (a² + b² − c²) / (2ab) e devolve o ângulo C oposto ao lado c, em graus. Três comprimentos como 2, 3 e 9 não formam triângulo algum, e a chamada falha com um erro invalid_input dizendo exatamente isso, em vez de produzir NaN.
Erros, determinismo e quanto custa
O contrato é propositalmente rigoroso com a entrada. O cálculo em si é aritmética de tempo constante mais um único cosseno ou arco cosseno, totalmente determinístico: a mesma entrada sempre devolve uma saída idêntica byte a byte, e é por isso que os exemplos publicados podem ser conferidos com exatidão. Os lados devem ser números finitos positivos até 10¹²; o ângulo deve estar estritamente entre 0 e 180 graus; e você deve enviar angle_c ou c, nunca os dois e nunca nenhum. Toda violação dispara invalid_input com uma mensagem que nomeia o campo problemático, e chamadas inválidas nunca são cobradas.
Casos de integração
Valide dados de triângulos em um pipeline
Rejeite geometria impossível cedo: lados que violam a desigualdade triangular falham com invalid_input antes de chegar aos cálculos seguintes.
Perguntas técnicas
Os ângulos são em graus ou radianos?
Graus, sempre. angle_c entra em graus e o modo SSS devolve o ângulo em graus.
O que acontece com lados como 2, 3 e 9?
A chamada falha com um erro invalid_input explicando que a desigualdade triangular foi violada. Triângulos impossíveis nunca são respondidos em silêncio.