图7.4


��现在假设凸多面体落在以视点为顶点的观察四棱锥内,视点与第i个面上一点的连线方向为Vi= 。那么,当点积Vi・Ni>0时,平面i为后向面。即:视点位于该平面的内侧,从视点位置无法观察到它的正面。后向面又称为自隐藏面。任意两个自隐藏面的交线,称为自隐藏线。
一般地,消隐都是在观察坐标系下进行的。如果观察方向平行于观察坐标系的Zv轴,则观察方向矢量 ,这时,有
��V・Ni=ciVz
所以,只需考察N的Zv向分量与ci的符号。
��假设观察坐标系为右手系,观察方向是沿着Zv轴的负向。对于平行投影,当ci<0时,则该多边形必为后向面。另外,如果ci=0,则该平面与观察方向平行,也将无法被观察到,因为该平面的投影积聚为一条直线。
��对于任意一个凸多面体,我们可以先据此测试并决定哪些是后向面,然后检索每一条边:如果交于某一条边的两个面均为后向面,则该边为自隐藏边,在显示或绘制时可以消除或用虚线输出,否则此边未被遮挡,应当用实线输出。如果场景中只包含一些互不遮挡的凸多面体,则也可以用上述后向面判别法来进行消隐。