আপনি 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° কোণে ডানদিকে অনুভূমিকভাবে রশ্মি নিক্ষেপ করে। ধাপে ধাপে রশ্মির পথটি হলো:
ধাপ ১: রশ্মিটি x-অক্ষ বরাবর (y = 0) এগোতে এগোতে প্রথমে (10, 0) অবস্থানে স্ফটিক #2-এর উপর এসে পড়ে। এই স্ফটিকের প্রতিসরণ কোণ 90°, অর্থাৎ এটি রশ্মিটিকে তার বর্তমান পথের সঙ্গে লম্বভাবে বাঁকিয়ে দেয়। রশ্মিটি আগে 0° কোণে চলছিল, এখন সেটি 90° কোণে ঘুরে যায় (সোজা উপরের দিকে)।
ধাপ ২: এখন রশ্মিটি (10, 0) অবস্থান থেকে খাড়াভাবে উপরের দিকে এগোয় এবং (10, 10) অবস্থানে স্ফটিক #1-এর উপর এসে পড়ে। এই স্ফটিকের প্রতিসরণ কোণ -90°, যা রশ্মিটিকে তার বর্তমান দিকের সাপেক্ষে -90° বাঁকিয়ে দেয়। রশ্মিটি 90° কোণে চলছিল, তাই প্রতিসরণের পর সেটি এখন 0° কোণে (90° + (-90°) = 0°), আবার ডানদিকে অনুভূমিকভাবে এগোচ্ছে।
ধাপ ৩: (10, 10) অবস্থান থেকে রশ্মিটি অনুভূমিকভাবে এগোয় এবং (30, 10) অবস্থানে স্ফটিক #3-এর উপর এসে পড়ে। এই স্ফটিক রশ্মিটিকে 45° বাঁকিয়ে দেয়, ফলে তার দিক হয়ে যায় 45°। এরপর রশ্মিটি অ্যারের বাইরের শূন্যস্থানে চলে যায়।
Exercism-এ সাইন আপ করুন, Go ট্র্যাকের 34টি কনসেপ্ট165টি অনুশীলনী আর সত্যিকারের মানুষের মেন্টরিং দিয়ে শিখুন ও দক্ষ হয়ে উঠুন, সম্পূর্ণ বিনামূল্যে।