如果两个平面只是方向不同的话,它们与射线的交点应该是相等的吧?下面 算法计算出来的不相等吧? 平面方程为Ax + By + Cz + D = 0; 平面的单位法向量为N(A, B, C); 射线表示为P = Org +Dir*step; Dir为射线的方向,已经规格化。Org为原点 把射线的方程代入平面方程可以得 step = -(DotProduct(N, Org)+D)/(DotProduct(N, Dir);
平面的参数如下: A = 1; B = 0; C = 0; D = -7; A = -1;B = 0; C = 0; D = -7;
射线的参数如下: Org = (2, 3, 4); Dir = (0.577, 0.577, 0.577);
如果将数据代入求step的话。两个step并不相等。就是说将step代入射线 方程的话,得到的交点也不相等。
|