أنت باحث في PRISM (إدارة سلامة الإضاءة المعاد توجيهها على نحو محفوف بالمخاطر)، وتعمل على نظام معايرة ليزر دقيق يختبر مناشير بلورية تجريبية. يجري تطوير هذه البلورات من أجل حواسيب ضوئية من الجيل التالي، ولكل واحدة منها خصائص انكسارية فريدة تعتمد على بنيتها الجزيئية. قد يتلف نظام الليزر في المختبر البلورات إذا تعرضت لإضاءة غير متوقعة، لذا فإن التنبؤ الدقيق بالمسار أمر بالغ الأهمية.
قبل تفعيل مصفوفة الليزر، عليك أن تتوقع الترتيب الدقيق لإصابة البلورات، محدَّدًا بمعرّفات عيّناتها.
لنلقِ نظرة على إعداد مصفوفة البلورات التالي:
{
"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 لتتعلّم وتتقن CoffeeScript عبر 97 تمرينًا، وإرشاد بشري حقيقي، وكل ذلك مجانًا.