প্রিজম

প্রিজম

মধ্যম

ভূমিকা

আপনি 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°। এরপর রশ্মিটি অ্যারের বাইরের শূন্যস্থানে চলে যায়।

"তিনটি প্রিজমের মধ্য দিয়ে প্রতিসৃত একটি লেজার রশ্মির পথ দেখানো একটি গ্রাফ।""তিনটি প্রিজমের মধ্য দিয়ে প্রতিসৃত একটি লেজার রশ্মির পথ দেখানো একটি গ্রাফ।"

x86-64 Assembly-এর জন্য নির্দিষ্ট নোট

আপনি ধরে নিতে পারেন যে লেজার রশ্মি শেষ পর্যন্ত সবসময় খালি জায়গায় বেরিয়ে যাবে। এর পথ কখনোই প্রিজমগুলোর মধ্য দিয়ে অসীমভাবে চলতে থাকবে না।


সূত্র

FraSangaলিংকটি নতুন উইন্ডো বা ট্যাবে খোলে
GitHub-এর মাধ্যমে সম্পাদনা করুন লিংকটি একটি নতুন উইন্ডো বা ট্যাবে খোলে
x86-64 Assembly Exercism

প্রিজম শুরু করতে প্রস্তুত?

Exercism-এ সাইন আপ করুন, x86-64 Assembly ট্র্যাকের 22টি কনসেপ্ট130টি অনুশীলনী আর সত্যিকারের মানুষের মেন্টরিং দিয়ে শিখুন ও দক্ষ হয়ে উঠুন, সম্পূর্ণ বিনামূল্যে।