Ângulo de impacto de manchas de sangue
Esta calculadora transforma a largura e o comprimento medidos de uma mancha de sangue elíptica em um ângulo de impacto em graus.
Executar grátis
Ela aplica a relação geométrica padrão: o ângulo é o arco-seno da largura dividida pelo comprimento; portanto, as duas medidas devem usar a mesma unidade. Antes do cálculo, confirma que ambas são números finitos positivos e que a largura não supera o comprimento. Trata-se de um auxílio matemático transparente para ensino, documentação e cálculos preliminares, e não de um substituto para o exame da cena, protocolos de medição, análise de incerteza ou interpretação de um perito forense qualificado.
Meça a mancha de maneira consistente antes do cálculo
O cálculo começa com duas dimensões de uma única mancha de sangue aproximadamente elíptica. A largura é a menor dimensão transversal, enquanto o comprimento é a maior dimensão ao longo do eixo principal. Meça o corpo da mancha sem incluir espículas estreitas, manchas satélites, caudas ou projeções irregulares que não representem a elipse. Use a mesma unidade nos dois valores, como milímetros, centímetros ou polegadas, pois a fórmula utiliza a razão e a unidade é cancelada. Digite os números sem símbolos de unidade. A calculadora exige valores finitos positivos e rejeita zero, números negativos, campos ausentes e texto não numérico. Ela também rejeita uma largura maior que o comprimento, situação que normalmente indica eixos trocados ou medições incompatíveis com a elipse esperada. Uma mancha circular é aceita: quando largura e comprimento são iguais, a razão é um e o ângulo resultante é de noventa graus. Registre como os eixos foram escolhidos e preserve as medidas originais, porque o arredondamento ou a escolha de outro limite da mancha pode alterar o ângulo informado, embora a aritmética seja determinística.
Entenda a fórmula e o valor retornado em graus
O modelo matemático define o ângulo como o arco-seno da largura dividida pelo comprimento. Primeiro, a calculadora obtém uma razão adimensional maior que zero e menor ou igual a um. Em seguida, avalia o seno inverso dessa razão e converte o resultado de radianos para graus. Por exemplo, uma razão entre largura e comprimento de um meio corresponde a trinta graus. Uma razão menor descreve uma elipse mais alongada e produz um ângulo mais raso; uma razão próxima de um descreve uma mancha mais circular e produz um valor próximo de noventa graus. A resposta inclui largura e comprimento validados, razão e angle_degrees, com arredondamento decimal estável para comparações JSON reproduzíveis. O número representa o ângulo geométrico agudo deste modelo elíptico simplificado. O cálculo não determina direção de deslocamento, ponto de origem, convergência, velocidade, sequência de eventos nem o mecanismo que criou a mancha. Também não fornece intervalo de incerteza. A incerteza de medição pode ser especialmente relevante para manchas pequenas, deformadas, absorvidas, transferidas ou irregulares; por isso, a precisão numérica da resposta não equivale à precisão probatória das medições originais.
Use o resultado como parte documentada da análise
Um ângulo calculado a partir de uma mancha pode apoiar atividades didáticas, experimentos controlados, validação de software e revisões preliminares documentadas quando suas premissas são declaradas. Em uma investigação real, profissionais costumam considerar várias manchas adequadas, textura da superfície, qualidade da marca, orientação, geometria da cena, métodos de coleta e incerteza de cada medida. Este endpoint realiza apenas a transformação de largura e comprimento, tornando seu comportamento simples de inspecionar e reproduzir. Ele não decide se uma marca é sangue, se resulta de impacto, se a elipse foi medida corretamente ou se a mancha é apropriada para o cálculo. Não faça médias automáticas de resultados sem relação nem trate um único valor como prova de um evento. Preserve a imagem, escala, método, dimensões originais e exclusões junto ao ângulo para permitir a repetição do trabalho. O navegador atende a verificações interativas, enquanto a API custa US$ 0,002 por solicitação bem-sucedida e executa o mesmo cálculo determinístico em planilhas, aplicações educacionais ou testes de qualidade. Conclusões forenses devem permanecer sob responsabilidade de profissionais treinados que sigam procedimentos laboratoriais e normas legais aplicáveis.
Casos de uso
Ensino de ciências forenses
Demonstre como a razão entre largura e comprimento de uma mancha elíptica corresponde a um ângulo agudo de impacto em graus.
Controle de qualidade do cálculo
Crie resultados determinísticos de referência para planilhas, software laboratorial e testes automatizados que implementam a mesma fórmula.
Revisão preliminar documentada
Converta dimensões registradas em um valor geométrico reproduzível, mantendo as medidas disponíveis para interpretação especializada.
Perguntas frequentes
Qual fórmula a calculadora utiliza?
Ela utiliza ângulo = arcsin(largura / comprimento) e converte o resultado do seno inverso de radianos para graus.
Largura e comprimento devem usar a mesma unidade?
Sim. Ambos podem estar em milímetros, centímetros, polegadas ou outra unidade de comprimento, mas a unidade precisa ser a mesma porque o cálculo usa a razão.
Por que a largura não pode superar o comprimento?
A largura representa o eixo menor da elipse e o comprimento, o eixo maior. Uma largura superior gera razão acima de um, fora do domínio real do seno inverso, e geralmente indica eixos trocados.
O que acontece quando largura e comprimento são iguais?
A razão é um e o ângulo retornado é de noventa graus, representando uma mancha circular segundo este modelo geométrico.
O resultado pode comprovar o que ocorreu em uma cena?
Não. Ele é apenas um cálculo geométrico e não identifica substâncias, classifica manchas, reconstrói eventos, quantifica incertezas ou substitui análise forense qualificada.
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/sci/angle-of-impact \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"width":5,"length":10}'const res = await fetch("https://api.kit.forhosting.com/sci/angle-of-impact", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"width": 5,
"length": 10
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/sci/angle-of-impact",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"width": 5,
"length": 10
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/sci/angle-of-impact", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"width":5,"length":10}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"width":5,"length":10}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/sci/angle-of-impact", 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
{
"width": 5,
"length": 10
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "sci.angle_of_impact",
"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. |