Eres parte del equipo de investigación de PRISM (Precariously Redirected Illumination Safety Management) y trabajas con un sistema de calibración láser de precisión que prueba prismas de cristal experimentales. Estos cristales se están desarrollando para las computadoras ópticas de próxima generación, y cada uno tiene propiedades de refracción únicas según su estructura molecular. El sistema láser del laboratorio puede dañar los cristales si reciben iluminación inesperada, así que predecir la trayectoria con precisión es fundamental.
Antes de activar el conjunto de láseres, debes predecir el orden exacto en que los cristales serán alcanzados, identificados por sus IDs de muestra.
Considera esta configuración del conjunto de cristales:
{
"start": { "x": 0, "y": 0, "angle": 0 },
"prisms": [
{ "id": 1, "x": 10, "y": 10, "angle": -90 },
{ "id": 2, "x": 10, "y": 0, "angle": 90 },
{ "id": 3, "x": 30, "y": 10, "angle": 45 },
{ "id": 4, "x": 20, "y": 0, "angle": 0 }
]
}
El láser comienza en el origen (0, 0) y dispara horizontalmente hacia la derecha en un ángulo de 0°.
Este es el recorrido del haz paso a paso:
Paso 1: El haz viaja a lo largo del eje x (y = 0) y primero encuentra el cristal #2 en la posición (10, 0).
Este cristal tiene un ángulo de refracción de 90°, lo que significa que desvía el haz de forma perpendicular a su recorrido actual.
El haz, que originalmente viajaba a 0°, ahora se redirige a 90° (directamente hacia arriba).
Paso 2: Ahora el haz viaja verticalmente hacia arriba desde la posición (10, 0) y golpea el cristal #1 en la posición (10, 10).
Este cristal tiene un ángulo de refracción de -90°, que desvía el haz -90° respecto a su dirección actual.
El haz viajaba a 90°, así que después de la refracción ahora está a 0° (90° + (-90°) = 0°), viajando de nuevo horizontalmente hacia la derecha.
Paso 3: Desde la posición (10, 10), el haz viaja horizontalmente y encuentra el cristal #3 en la posición (30, 10).
Este cristal refracta el haz 45°, cambiando su dirección a 45°.
El haz continúa hacia el espacio vacío más allá del conjunto.
Regístrate en Exercism para aprender y dominar Go con 34 conceptos165 ejercicios y mentoría humana real, todo gratis.