5 光线/二次曲面 相交和映射

  光线和二次曲线相交的相对简单的类别:圆柱体,圆锥体,椭圆体,双曲面等。球体和平面是该族物体的特殊子类。 出于效率的原因,这些简单的对象通常被赋予它们自己的相交实例。 例如,参见[13]以获得更快的圆柱交点方法。 本节将介绍这些对象的广义相交。 同样,参数光线公式和隐式表面方程用于解决相交问题。 标准映射在本节末尾讨论。

  5.1 光线/二次曲面 相交

    定义光线:

      

      

    使用[4]中的公式,二次曲面表面方程为:

      

    矩阵标记为Q,在二次曲面上用于执行变换和其他运算。 有关这些操作的进一步讨论,请参见[6]和[4]。 该等式等效于函数F(X,Y,Z)= 0的情况:

      

    将(G1)代入(G2),求解t,得到二次方程的系数:

      

    如果Aq!= 0,则检查平方判别式。 如果△<0,则不发生交叉。 否则,如果需要,计算t0和可能的t1。 t的最小正值用于计算最近的相交点:

      

    如果Aq = 0。那么就很简单了:

      

    一旦计算出t,就使用等式(C8)计算交点ri。 通过取函数F相对于X,Y和Z的偏导数来形成二次曲面的法线:

      

    请注意,rn未标准化。 乘以2可以删除,因为此时法线的长度并不重要。 此外,法线应该在面向光线的表面,因此该矢量的方向必须根据其与方向矢量Rd的关系而反转。 如果rn点乘Rd> 0,那么法线应该反转。

猜你喜欢

转载自www.cnblogs.com/TooYoungTsukasa/p/9257624.html