第七章消除隐藏线和隐藏面的算法消隐面消隐线消隐三维形体表示为多边形表面形集合投影约定为沿着 z轴正向的正交投影消除隐藏面算法: 图象空间算法客体空间算法?图象空间算法对显示设备上每一个可分辨象素进行判断,看组成物体的多个多边形表面中哪一个在该象素上可见,即要对每一象素检查所有的表面。?客体空间算法把注意力集中在分析要显示形体各部分之间的关系上, 这种算法对每一个组成形体的表面, 都要与其它各表面进行比较,以便消去不可见的面或面的不可见部分。第一节线面比较法消除隐藏线?多面体的面可见性凸多面体的可见面就是朝向观察位置的面设观察方向由指向观察位置的一个方向向量 k给出,所考查的面的外法向量是 n,则这两个向量的夹角?满足0????/2时,所考查面是可见的, 否则就是不可见的把n和k记作则), k,k, (k k ), n,n, n(n zyx zyx?2z k 2y k 2x k 2z n 2y n 2x n knknknkn kn cosa zzyyxx??????????分子为正,则, 面为可见;若为负,则,面为不可见;若为零,则,此面退化为线。 zzyyxxknknkn??2 πa0??πa2 π??2 πa?设空间有一个四面体,顶点 A,B, C,D的坐标依次是( 0,0,0),( 2, 0,1),( 4,0,0),(3,2,1) 从z轴正向无穷远处观察,求各面的可见性观察方向向量是 k=(0,0,1), 三角面DAB 的法向量是: ?????? 2,1,4 2,0,1 1 2, 3, AB DA n?????????因此, ,面 DAB ,面 DBC 是可见面,面ADC 是不可见面,面ACB 退化为线。 04kn???利用外法线就可以判断凸多面体上各表面的可见性,由此就能解决对单个凸多面体的隐藏线和隐藏面的消除问题。消除隐藏线的线面比较法的最先一步就是利用外法线判断出所有可能的可见面,可能可见面上的线段是可能可见线。要依次用每一条可能可见线,与每一个可能可见面比较,从而确定出可见线、隐藏线及可见线上的隐藏部分。?可能可见线和可能可见面空间任一线段,只有其投影与多边形表面的投影范围发生交迭时,才可能与多边形表面有遮档关系一个多边形表面的投影范围?范围检查也称为最大最小检验,即通过比较有关的最大或最小值来判定范围的交迭情形。
第七章 消除隐藏线和隐藏面 来自淘豆网www.taodocs.com转载请标明出处.