شما پژوهشگری در 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) شروع میکند و با زاویهی ۰ درجه بهصورت افقی به سمت راست شلیک میکند. مسیر پرتو بهصورت گامبهگام چنین است:
گام ۱: پرتو در امتداد محور x (y = ۰) حرکت میکند و نخست در موقعیت (10, 0) به بلور شمارهی ۲ برمیخورد. زاویهی شکست این بلور ۹۰ درجه است؛ یعنی پرتو را طوری میشکند که بر مسیر کنونیاش عمود شود. پرتویی که در ابتدا با زاویهی ۰ درجه حرکت میکرد، حالا به ۹۰ درجه (مستقیم رو به بالا) تغییر مسیر میدهد.
گام ۲: پرتو حالا از موقعیت (10, 0) بهصورت عمودی به سمت بالا میرود و در موقعیت (10, 10) به بلور شمارهی ۱ میخورد. زاویهی شکست این بلور منفی ۹۰ درجه است و پرتو را نسبت به جهت کنونیاش منفی ۹۰ درجه میشکند. پرتو با زاویهی ۹۰ درجه حرکت میکرد، بنابراین پس از شکست حالا با زاویهی ۰ درجه (۹۰° + (-۹۰°) = ۰°) و دوباره بهصورت افقی به سمت راست حرکت میکند.
گام ۳: پرتو از موقعیت (10, 10) بهصورت افقی حرکت میکند و در موقعیت (30, 10) به بلور شمارهی ۳ میخورد. این بلور پرتو را ۴۵ درجه میشکند و جهت آن را به ۴۵ درجه تغییر میدهد. پرتو به مسیر خود در فضای خالی بیرون از آرایه ادامه میدهد.