Prizma

Prizma

Közepes

Bevezetés

Kutatóként dolgozol a PRISM-nél (Precariously Redirected Illumination Safety Management), ahol egy precíziós lézerkalibrációs rendszerrel foglalkozol, amely kísérleti kristályprizmákat tesztel. Ezeket a kristályokat következő generációs optikai számítógépekhez fejlesztik, és mindegyikük egyedi fénytörési tulajdonságokkal rendelkezik, amelyek a molekulaszerkezetéből adódnak. A labor lézerrendszere károsíthatja a kristályokat, ha azok váratlan megvilágítást kapnak, ezért kritikus fontosságú a pontos útvonal-előrejelzés.

Utasítások

Mielőtt aktiválod a lézertömböt, meg kell jósolnod, hogy pontosan milyen sorrendben találja el a lézer a kristályokat, a mintaazonosítójukkal megjelölve.

Példa teszteset

Vegyük a következő kristálytömb-konfigurációt:

{
  "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 }
  ]
}

Mi történik

A lézer az origóból (0, 0) indul, és 0°-os szögben, vízszintesen jobbra lő. Íme a nyaláb útja lépésről lépésre:

1. lépés: A nyaláb az x tengely mentén halad (y = 0), és először a 2. kristályba fut a (10, 0) pozícióban. Ennek a kristálynak 90° a törési szöge, ami azt jelenti, hogy a nyalábot az aktuális pályájára merőlegesen töri meg. A nyaláb, amely eredetileg 0°-on haladt, most 90°-ra (egyenesen felfelé) irányul át.

2. lépés: A nyaláb most függőlegesen felfelé halad a (10, 0) pozícióból, és a (10, 10) pozícióban eltalálja az 1. kristályt. Ennek a kristálynak -90° a törési szöge, így a nyalábot az aktuális irányához képest -90°-kal töri meg. A nyaláb 90°-on haladt, így a törés után már 0°-on (90° + (-90°) = 0°) halad, ismét vízszintesen jobbra.

3. lépés: A (10, 10) pozícióból a nyaláb vízszintesen halad, és a (30, 10) pozícióban találkozik a 3. kristállyal. Ez a kristály 45°-kal töri meg a nyalábot, és az irányát 45°-ra változtatja. A nyaláb a tömbön túl az üres térbe folytatódik.

"Egy grafikon, amely egy lézernyaláb útját mutatja három prizmán megtörve.""Egy grafikon, amely egy lézernyaláb útját mutatja három prizmán megtörve."


Forrás

FraSangaA hivatkozás új ablakban vagy lapon nyílik meg
Szerkesztés GitHubon A hivatkozás új ablakban vagy lapon nyílik meg
Go Exercism

Készen állsz elkezdeni a(z) Prizma feladatot?

Iratkozz fel az Exercism-re, hogy megtanuld és elsajátítsd a(z) Go nyelvet 34 fogalom165 feladat segítségével, valódi emberi mentorálással, mindez ingyen.