Ângulo de incidência pela lei de Snell
Esta calculadora reorganiza a lei de Snell para encontrar a direção do raio incidente necessária para gerar um ângulo de refração especificado em uma interface plana.
Executar grátis
Informe o índice do meio incidente, o índice do meio transmitido e o ângulo refratado desejado em graus a partir da normal. Você receberá o ângulo de incidência, os senos intermediários e o índice relativo. Quando nenhuma incidência real consegue produzir o objetivo, a ferramenta informa a impossibilidade em vez de retornar um valor indefinido ou enganoso.
Como isolar o ângulo de incidência na lei de Snell
A lei de Snell costuma ser escrita como n1 vezes seno de theta1 igual a n2 vezes seno de theta2. n1 é o índice do meio do raio que chega, theta1 é o ângulo de incidência, n2 representa o meio transmitido e theta2 é o ângulo refratado. Aqui theta2 é conhecido e a equação é resolvida ao contrário: seno de theta1 é n2 dividido por n1 vezes seno de theta2; depois aplica-se o arco seno. Todos os ângulos são medidos em graus a partir da normal à superfície. Assim, zero grau indica incidência normal e noventa graus indica incidência rasante. Medir a partir da superfície produziria valores complementares e uma montagem física errada. O cálculo pressupõe dois meios homogêneos e isotrópicos separados por uma única interface plana. Ele não considera superfícies curvas, índice gradual, dispersão, interferência em camadas ou polarização. Dentro desse escopo, o resultado é determinístico, e a mesma função pura atende ao navegador e à API.
Como verificar se a refração desejada é fisicamente possível
O cálculo inverso exige uma verificação de domínio. O seno de um ângulo real não pode ultrapassar um; portanto, n2 dividido por n1 vezes seno de theta2 precisa ser menor ou igual a um. Se for maior, nenhum ângulo de incidência entre zero e noventa graus produzirá a refração solicitada com esses índices. Isso é frequente quando o meio transmitido tem índice maior e o ângulo refratado pedido é amplo demais. A calculadora rejeita a entrada e apresenta o maior ângulo de refração alcançável. Exatamente no limite, o raio incidente é rasante, a noventa graus. Pequenos ruídos de ponto flutuante junto ao limite são ajustados com segurança, mas valores realmente impossíveis não são alterados em silêncio. Os dois índices devem ser finitos e estritamente positivos, e o alvo deve ficar entre zero e noventa graus, inclusive. Use índices absolutos, como aproximadamente um para o ar, 1.333 para a água e cerca de 1.5 para vidro comum.
Como usar o resultado em experimentos, projetos e software
O campo angle_incidence é a direção que você deve estabelecer em relação à normal da interface. Em um experimento, gire o laser ou a amostra até esse ângulo e compare o raio transmitido com angle_refraction. Em um projeto óptico, use o resultado como cálculo inicial antes de um traçador de raios que inclua espessura, curvatura e várias superfícies. Um programa também pode posicionar um raio interativo, validar uma geometria ou gerar gabaritos. A resposta repete os índices e o alvo normalizados, fornece os dois senos para auditoria e retorna n2 dividido por n1 em relative_index. Esses dados ajudam a detectar conversões incorretas ou meios invertidos. Os campos formula e unit são adequados para exibição; os números devem orientar cálculos posteriores. Uma solicitação bem-sucedida à API usa o preço-base publicado de US$ 0,002 por item, enquanto a calculadora no navegador roda localmente. Como o algoritmo não acessa a rede, entradas iguais sempre geram resultados iguais.
Casos de uso
Preparar um experimento de refração
Encontre a incidência do laser necessária para observar uma direção transmitida em interfaces de ar, água, acrílico ou vidro.
Validar um projeto óptico
Confirme se uma direção-alvo é alcançável em uma interface antes de criar um modelo detalhado de traçado de raios.
Produzir exercícios de óptica
Gere respostas determinísticas e rejeite combinações fisicamente impossíveis em listas ou corretores automáticos.
Perguntas frequentes
Qual fórmula determina o ângulo de incidência?
A calculadora reorganiza n1·sin(theta1) = n2·sin(theta2) como theta1 = arcsin((n2/n1)·sin(theta2)).
Os ângulos são medidos a partir da superfície?
Não. Eles são medidos a partir da normal. Zero grau é incidência normal e noventa graus é incidência rasante.
Por que o ângulo de refração pode ser inalcançável?
Um ângulo real exige que (n2/n1)·sin(theta2) não ultrapasse um. Um valor maior não possui arco seno real nessa interface.
Quais índices de refração devo informar?
Informe índices absolutos, finitos e positivos. Valores aproximados são 1 para o ar, 1.333 para a água e 1.5 para vidro comum.
Quanto custa usar a calculadora?
A ferramenta no navegador roda localmente e é gratuita. Cada item bem-sucedido na API usa o preço-base publicado de US$ 0,002.
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/optics/incidence-angle-from-snell \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"n1":1,"n2":1.5,"angle_refraction":19.4712206345}'const res = await fetch("https://api.kit.forhosting.com/optics/incidence-angle-from-snell", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"n1": 1,
"n2": 1.5,
"angle_refraction": 19.4712206345
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/optics/incidence-angle-from-snell",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"n1": 1,
"n2": 1.5,
"angle_refraction": 19.4712206345
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/optics/incidence-angle-from-snell", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"n1":1,"n2":1.5,"angle_refraction":19.4712206345}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"n1":1,"n2":1.5,"angle_refraction":19.4712206345}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/optics/incidence-angle-from-snell", 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
{
"n1": 1,
"n2": 1.5,
"angle_refraction": 19.4712206345
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "optics.incidence_angle_from_snell",
"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. |