Tu es chercheur chez PRISM (Precariously Redirected Illumination Safety Management), où tu travailles avec un système de calibration laser de précision qui teste des prismes de cristal expérimentaux. Ces cristaux sont en cours de développement pour des ordinateurs optiques de nouvelle génération, et chacun présente des propriétés de réfraction uniques qui dépendent de sa structure moléculaire. Le système laser du laboratoire peut endommager les cristaux s'ils reçoivent un éclairage inattendu, c'est pourquoi il est essentiel de prédire précisément la trajectoire.
Avant d'activer le réseau de lasers, tu dois prédire l'ordre exact dans lequel les cristaux seront touchés, d'après leur identifiant d'échantillon.
Prenons cette configuration de réseau de cristaux :
{
"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 }
]
}
Le laser part de l'origine (0, 0) et est tiré horizontalement vers la droite, à un angle de 0°.
Voici le trajet du faisceau, étape par étape :
Étape 1 : le faisceau se déplace le long de l'axe des X (y = 0) et rencontre d'abord le cristal n° 2 à la position (10, 0).
Ce cristal a un angle de réfraction de 90°, ce qui signifie qu'il dévie le faisceau perpendiculairement à sa trajectoire actuelle.
Le faisceau, qui se déplaçait initialement à 0°, est maintenant redirigé à 90° (vers le haut).
Étape 2 : le faisceau se déplace à présent verticalement vers le haut depuis la position (10, 0) et frappe le cristal n° 1 à la position (10, 10).
Ce cristal a un angle de réfraction de -90°, ce qui dévie le faisceau de -90° par rapport à sa direction actuelle.
Le faisceau se déplaçait à 90°, donc après réfraction il est maintenant à 0° (90° + (-90°) = 0°) et se déplace à nouveau horizontalement vers la droite.
Étape 3 : depuis la position (10, 10), le faisceau se déplace horizontalement et rencontre le cristal n° 3 à la position (30, 10).
Ce cristal réfracte le faisceau de 45°, ce qui porte sa direction à 45°.
Le faisceau continue dans l'espace vide au-delà du réseau.
Inscris-toi sur Exercism pour apprendre et maîtriser Go avec 34 concepts165 exercices, et un vrai mentorat humain, le tout gratuitement.