私はレイトレーサーを書いています(それが違いを生む場合は左手座標を使用します)。原則を独学するためなので、OpenGL や被写界深度などの複雑な機能は (まだ) 使用していません。カメラの位置と向きは任意です。location、 、look_at、およびの 3 つのベクトルでそれらを示します。これらは同等の POV-Ray ベクトルskyのように動作します。その「フィルム」にも と があります。(長さは からまでの距離によって暗示されます。)widthheightfocalpositionlook_at
私の問題は、光線をキャストする方法がわからないことです。光線がどこに到達するかを示すvxとの2 つの量があります。vyどちらも -1 から 1 まで変化します。どちらも -1 の場合、カメラの位置から「フィルム」の左上隅に光線をキャストしています。両方とも 1 の場合、右下。どちらも 0 の場合は中央。そして残りは明らかです。
私は光線の方程式を導出するためのベクトル演算に精通していません。その方法の説明をいただければ幸いです。