Είσαι ερευνητής/ερευνήτρια στο PRISM (Precariously Redirected Illumination Safety Management) και εργάζεσαι με ένα σύστημα βαθμονόμησης λέιζερ ακριβείας που δοκιμάζει πειραματικά κρυστάλλινα πρίσματα. Αυτοί οι κρύσταλλοι αναπτύσσονται για οπτικούς υπολογιστές επόμενης γενιάς και ο καθένας έχει μοναδικές διαθλαστικές ιδιότητες που βασίζονται στη μοριακή του δομή. Το σύστημα λέιζερ του εργαστηρίου μπορεί να καταστρέψει τους κρυστάλλους αν δεχτούν απροσδόκητο φωτισμό, οπότε η ακριβής πρόβλεψη της διαδρομής είναι κρίσιμη.
Πριν ενεργοποιήσεις τη συστοιχία λέιζερ, πρέπει να προβλέψεις την ακριβή σειρά με την οποία θα χτυπηθούν οι κρύσταλλοι, όπως αυτοί προσδιορίζονται από τα αναγνωριστικά δείγματός τους.
Δες αυτή τη διάταξη της συστοιχίας κρυστάλλων:
{
"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 }
]
}
Το λέιζερ ξεκινά από την αρχή των αξόνων (0, 0) και εκτοξεύεται οριζόντια προς τα δεξιά, σε γωνία 0°.
Ας δούμε βήμα βήμα τη διαδρομή της δέσμης:
Βήμα 1: Η δέσμη κινείται κατά μήκος του άξονα x (y = 0) και συναντά πρώτα τον Κρύσταλλο #2 στη θέση (10, 0).
Ο κρύσταλλος αυτός έχει γωνία διάθλασης 90°, που σημαίνει ότι εκτρέπει τη δέσμη κάθετα στην τρέχουσα πορεία της.
Η δέσμη, που αρχικά κινείται σε γωνία 0°, ανακατευθύνεται τώρα στις 90° (κατευθείαν προς τα πάνω).
Βήμα 2: Η δέσμη κινείται τώρα κατακόρυφα προς τα πάνω από τη θέση (10, 0) και χτυπά τον Κρύσταλλο #1 στη θέση (10, 10).
Ο κρύσταλλος αυτός έχει γωνία διάθλασης -90°, εκτρέποντας τη δέσμη κατά -90° σε σχέση με την τρέχουσα κατεύθυνσή της.
Η δέσμη κινούνταν σε γωνία 90°, οπότε μετά τη διάθλαση βρίσκεται τώρα σε γωνία 0° (90° + (-90°) = 0°), κινούμενη ξανά οριζόντια προς τα δεξιά.
Βήμα 3: Από τη θέση (10, 10), η δέσμη κινείται οριζόντια και συναντά τον Κρύσταλλο #3 στη θέση (30, 10).
Ο κρύσταλλος αυτός διαθλά τη δέσμη κατά 45°, αλλάζοντας την κατεύθυνσή της σε 45°.
Η δέσμη συνεχίζει στο κενό, πέρα από τη συστοιχία.
Γράψου στο Exercism για να μάθεις και να κατακτήσεις Go με 34 έννοιες165 ασκήσεις και πραγματική καθοδήγηση από ανθρώπους, όλα δωρεάν.