隐藏面的消除- Roberts算法(2/9) 基本思想 消除被物体自身遮挡的边和面 再用每个物体留下的边与其它物体比较 适用范固 凸体 四体怎么办? 分解成若干凸体的组合 尔滨工业大学计算机学院苏小红
哈尔滨工业大学计算机学院 苏小红
隐藏面的消除- Roberts算法(3/9) 体矩阵 平面方程ax+by+cz+d=0 a x abc 0 yZ C 尔滨工业大学计算机学院苏小红
哈尔滨工业大学计算机学院 苏小红 1 0 d c b a x y z 1 0 T x y z P P a b c d n n n n d d d c c c b b b a a a V ... ... ... ... 1 2 1 2 1 2 1 2
隐藏面的消除- Roberts算法(4!9) 求平面方程ax+by+cz+d=0的系 数 n利用不共线三点坐标 n利用平面的法向量 平面法向量n=ai+bj+ck a=∑(y,-y1X=,+=,) .d=-(ax1+by1+Czl) ∑(二 )(x 利用 Martin Newel方法 ∑( )(y;+y 尔滨工业大学计算机学院苏小红 13
哈尔滨工业大学计算机学院 苏小红 n i i j i j a y y z z 1 ( )( ) n i i j i j b z z x x 1 ( )( ) n i i j i j c x x y y 1 ( )( )
隐藏面的消除- Roberts算法(5/9) 已知:S=[xyz们],P=abcd 若S在平面上 则SP=0 若点S不在平面上 则点积的正负号标识点在平面的哪一侧 约定: 若点S在体内一侧 则SP>0 若点S在体外一侧 则SP<0 尔滨工业大学计算机学院苏小红
哈尔滨工业大学计算机学院 苏小红
隐藏面的消除- Roberts算法(6/9) 体矩阵不一定保证体内点都满足SP>0 如何得到正确的体矩阵? 对体矩阵V进行校正 在体内找一试验点S 若某平面方程系数P与S的点积符号为负 则将该方程系数均乘以-1 尔滨工业大学计算机学院苏小红 15
哈尔滨工业大学计算机学院 苏小红