Ángulo de incidencia con la ley de Snell
Esta calculadora despeja la ley de Snell para hallar la dirección del rayo incidente necesaria a fin de obtener un ángulo de refracción determinado en una frontera plana.
Ejecutar — gratis
Introduzca el índice del medio incidente, el índice del medio transmitido y el ángulo refractado deseado, medido en grados desde la normal. Recibirá el ángulo de incidencia, los senos intermedios y el índice relativo. Si ninguna dirección real puede producir el objetivo, la herramienta lo indica en lugar de ofrecer un resultado indefinido o engañoso.
Cómo despejar el ángulo de incidencia en la ley de Snell
La ley de Snell suele escribirse como n1 por seno de theta1 igual a n2 por seno de theta2. Aquí n1 es el índice de refracción del medio donde se encuentra el rayo entrante, theta1 es el ángulo de incidencia, n2 corresponde al medio de destino y theta2 es el ángulo refractado. Esta calculadora toma theta2 como dato y resuelve la ecuación a la inversa: seno de theta1 es n2 dividido entre n1 por seno de theta2; después aplica el arcoseno. Todos los ángulos se miden en grados desde la normal a la superficie. Por ello, cero grados representa incidencia normal y noventa grados, incidencia rasante. Medir desde la superficie daría valores complementarios y una geometría incorrecta. El modelo supone dos medios homogéneos e isótropos separados por una única interfaz plana. No contempla superficies curvas, materiales de índice gradual, dispersión, interferencia multicapa ni polarización. Dentro de ese alcance, el cálculo es determinista y comparte la misma función pura en el navegador y en la API.
Cómo saber si la refracción solicitada es físicamente posible
El cálculo inverso exige comprobar el dominio. El seno de un ángulo real no puede superar uno; por tanto, n2 dividido entre n1 por seno de theta2 debe ser igual o inferior a uno. Si el valor es mayor, ningún ángulo de incidencia entre cero y noventa grados puede producir la refracción solicitada con esos índices. Esto ocurre a menudo cuando el medio transmitido tiene un índice mayor y se pide un ángulo refractado demasiado amplio. La calculadora rechaza la entrada e informa del máximo ángulo de refracción alcanzable. En el límite exacto, el rayo incidente es rasante, a noventa grados. Las pequeñas desviaciones numéricas cerca del límite se ajustan con seguridad, pero los casos realmente imposibles nunca se modifican en silencio. Ambos índices deben ser finitos y estrictamente positivos, y el ángulo objetivo debe estar entre cero y noventa grados, incluidos. Use índices absolutos, por ejemplo aproximadamente uno para el aire, 1.333 para el agua y cerca de 1.5 para un vidrio común.
Cómo aplicar el resultado en experimentos, diseños y programas
El campo angle_incidence indica la dirección que debe establecer respecto de la normal de la interfaz. En un experimento, gire el láser o la muestra hasta alcanzar ese ángulo y compare el rayo transmitido medido con angle_refraction. En diseño óptico, utilícelo como cálculo preliminar antes de recurrir a un trazador de rayos que incluya espesores, curvaturas y varias superficies. Un programa también puede posicionar un rayo interactivo, validar una geometría o generar soluciones. La respuesta repite los índices y el objetivo depurados, ofrece ambos senos para auditoría y devuelve n2 dividido entre n1 como relative_index. Esos datos ayudan a detectar unidades equivocadas o medios intercambiados. Los campos formula y unit sirven para presentar el resultado; para cálculos posteriores conviene usar los valores numéricos. Cada solicitud correcta a la API tiene el precio base publicado de $0.002 por elemento, mientras que la calculadora del navegador se ejecuta localmente. Al no usar red y realizar operaciones constantes, entradas idénticas siempre producen valores idénticos.
Qué puede hacer con ella
Preparar un experimento de refracción
Determine el ángulo del láser necesario para observar una dirección transmitida concreta entre aire, agua, acrílico o vidrio.
Validar un diseño óptico
Compruebe si una dirección objetivo es alcanzable en una interfaz antes de crear un modelo completo de trazado de rayos.
Crear ejercicios de óptica
Genere respuestas deterministas y rechace combinaciones físicamente imposibles en fichas didácticas o correctores automáticos.
Preguntas frecuentes
¿Qué fórmula permite hallar el ángulo de incidencia?
La calculadora despeja n1·sin(theta1) = n2·sin(theta2) como theta1 = arcsin((n2/n1)·sin(theta2)).
¿Los ángulos se miden desde la superficie?
No. Se miden desde la normal a la superficie. Cero grados es incidencia normal y noventa grados es incidencia rasante.
¿Por qué puede ser inalcanzable el ángulo solicitado?
Para que exista un ángulo real, (n2/n1)·sin(theta2) no puede superar uno. Un valor mayor carece de arcoseno real para esa interfaz.
¿Qué índices de refracción debo introducir?
Introduzca índices absolutos, finitos y positivos. Valores aproximados habituales son 1 para el aire, 1.333 para el agua y 1.5 para vidrio común.
¿Cuánto cuesta la calculadora?
La versión del navegador funciona localmente y es gratuita. Cada elemento correcto de la API usa el precio base publicado de $0.002.
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.
Llámela desde su stack
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)Ejemplo de solicitud
{
"n1": 1,
"n2": 1.5,
"angle_refraction": 19.4712206345
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "optics.incidence_angle_from_snell",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |