実際、私はここで説明されているアルゴリズムを読んだことがあります 。
アルゴリズムでは、平面の交差距離を計算します。つまり、 T1 = (boxmin - o) / d T2 = (boxmax - o) / d boxmin(xl,yl,zl) はボックスの最小範囲であり、 boxmax(xh,yh,zh) はボックスの最大範囲です。o(xo,yo,zo) は光線の原点、d(xd,yd,zd) は光線の方向ベクトルです。それらはすべて vector3 または float3 変数です。
次に、アルゴリズムは T1 の最大コンポーネントと T2 の最小コンポーネントを検出し、それらをそれぞれ Tnear と Tfar に設定します。近い場合
非常にエレガントですが、なぜこのアルゴリズムがそうできるのかわかりません。数学理論はありますか?
なぜ T1 と T2 が必要なのか、なぜそのように計算する必要があるのか、数学における Tfar と Tnear の意味を理解できません。たぶん、3D 空間の直線の方程式、つまり (x-x0)/xd = (y-y0)yd = (z-z0)/zd があり、x、y、z を boxmin に設定しているように見えます。そしてボックスマックス。確信はないけど。
これを説明してくれてありがとう。