计算机图形学(二)输出图元_10_多边形填充区_5_平面方程

来源:互联网 发布:中国经济数据公布时间 编辑:程序博客网 时间:2024/05/19 13:08
平面方程
    要完成一个三维场景的显示,图形系统要对输人数据进行若干步处理。这些处理包括在观察流水线中的模型坐标和世界坐标描述的变换、可见面判定及对各面片的绘制。其中有些处理需要对象表面的空间方向信息。该信息可从顶点坐标值和描述多边形表面的方程中获得。场景中的每一个多边形包含在一个无限平面中。平面的一般方程为

   其中(x,y,z)是平面中的任一点,系数A, B, C, D(称为平面参数,plane parameter)是描述平面空间特征的常数。用三个平面上非共线点的坐标代入,获得三个平面方程,求解后便得出A、B、C、D的值。为此,可选择逆时针凸多边形的三个连续顶点(x1,y1,z1) 、(x2,y2,z2)和(x3,y3,z3)并解下列联立方程组来求A/D、B/D和C/D:

这组方程的解可使用Cramer规则以行列式形式求出:

展开行列式,可得计算平面系数的表达式:

     这种计算对任意三个坐标位置均有效,包括D=0的情况。将顶点坐标和其他信息装人多边形的数据结构中后,计算每个多边形A, B, C, D的值并与其他的多边形信息一起保存。


    定义一个多边形面片的坐标有可能不在一个平面中。这样的问题可通过将面片分割成若干个三角形来解决。也可以为该顶点集找到一个逼近平面来解决。获得逼近平面的一种方法是将顶点集分成若干子集,每个子集内有三个顶点,计算每一子集的平面参数A, B, C, D。将每一组平面参数求平均值就得到逼近平面。另一种方法是将顶点集投影到一个坐标平面上。然后按多边形面积与其在yz平面上投影面积之比求得A,按与其在xz平面上投影之比求得B,按与其在习平面上投影之比求得C。投影方法较多地用于光线跟踪应用中。
0 0
原创粉丝点击