0

実際、私はここで説明されているアルゴリズムを読んだことがあります

アルゴリズムでは、平面の交差距離を計算します。つまり、 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 に設定しているように見えます。そしてボックスマックス。確信はないけど。

これを説明してくれてありがとう。

4

1 に答える 1

2

3D ジオメトリでは、t は多くの場合、ある点の線上の位置を表します。多くの場合、線は x0 + n*t で定義されます。ここで、x0 は線上の点 (多くの場合「原点」) であり、n は線の方向ベクトルです。t_min と t_max は、2 つの交点の t 値です。t_min < t_max の場合、線がボックスと交差したため、その名前が付けられました。

于 2012-04-25T15:05:12.533 に答える