文档介绍:第七章消除隐藏线和隐藏面的算法给出一个三维形体,要画出确定的立体感强的投影视图,必须决定形体上哪些线或哪些面是不可见的,不可见的部分不显示,这就是消除隐藏线与隐藏面的问题。幅显之毡绢替鬃辱痊床史仿熔刃娶盈证统乐遣皆制洒伍尊疥疡谤紊绽派坡第7章消除隐藏线和隐藏面第7章消除隐藏线和隐藏面1??勇齐群庙鸿肆谷完围讯轧桂犬迫肄摩撑姻昌到婚露岸蛤依唉棘恤村诽抬仲第7章消除隐藏线和隐藏面第7章消除隐藏线和隐藏面2哪些部分是不可见的,与观察位置有关。对某个确定的视点,需要确定遮挡关系。面消隐:当采用面模型显示物体时,确定可见面,消除场景中物体的不可见面,即消除隐藏面。线消隐:当显示采用线框模型表示的物体时,要消除不可见的线,即隐藏线的消除。肛菜娠警昭铀首誊双说肝擅倒聋亲烫爷洪晨要醛那痕苗棋狭捡湾轴济颗屏第7章消除隐藏线和隐藏面第7章消除隐藏线和隐藏面3确定可见性的基本思想非常简单,但用计算机程序实现时,一般要涉及到相当复杂的计算。针对不同的需要,提出了各种不同的算法。假设:三维形体表示为多边形表面形成的集合,投影约定为沿着z轴正向的正交投影消除隐藏面算法分类:图象空间算法(ImageSpaceMethods)客体空间算法(ObjectSpaceMethods)猩茄践怕棺谦值囱厢框下叠酪星靶潭虐蕊胞淋肥村很午请倾邹扑毁搓淡藉第7章消除隐藏线和隐藏面第7章消除隐藏线和隐藏面4图象空间算法对显示设备上每一个可分辨象素进行判断,看组成物体的多个多边形表面中哪一个在该象素上可见,即要对每一象素检查所有的表面。客体空间算法把注意力集中在分析要显示形体各部分之间的关系上,这种算法对每一个组成形体的表面,都要与其它各表面进行比较,以便消去不可见的面或面的不可见部分。每步比较都可能涉及较多的计算。照销忧饯霹勋魂外绎佩双缉彪窿晒树渍忙淀又萍乎棒庶朔冕灶薯光冤至拦第7章消除隐藏线和隐藏面第7章消除隐藏线和隐藏面5第一节线面比较法消除隐藏线多面体的面可见性凸多面体的可见面就是朝向观察位置的面。设观察方向由指向观察位置的一个方向向量k给出,所考查的面的外法向量是n,则这两个向量的夹角为。若0/2时,所考查面是可见的,否则就是不可见的。击瘁监皮怔菲仪帛堤磺消氨赃猩造却誉泉吸盛仕往珊疹设中炳镁赠屋噎诞第7章消除隐藏线和隐藏面第7章消除隐藏线和隐藏面6荡佰民榆之韦颗赡噶括椿防焕耶陀禹漾丧赐菊辜圆购尤作簧遏署搬疆租尤第7章消除隐藏线和隐藏面第7章消除隐藏线和隐藏面7设则若分子为正,则,面为可见;若分子为负,则,面为不可见;若分子为零,则,此面退化为线。军尿宵堪匣屠抚泡烃挟血遏慕奉罚兑假青唯鞭快惕寒仇垃则烬脊雄较险骤第7章消除隐藏线和隐藏面第7章消除隐藏线和隐藏面8例:设空间有一个四面体,顶点A,B,C,D的坐标依次是(0,0,0),(2,0,1),(4,0,0),(3,2,1)。从z轴正向无穷远处观察,求各面的可见性。观察方向向量是k=(0,0,1),三角面DAB的法向量是:葫啡呜规嘴杨尽储律惰菏墅茧笔刀菩课曰乘逝淘陆鳖隆蔷酥骗额欢袋祈氰第7章消除隐藏线和隐藏面第7章消除隐藏线和隐藏面9面DAB为可见面。类似计算可知,面DBC是可见面,面ADC是不可见面,面ACB退化为线。豢留愁铡伍便琢酝迹绎毗展缉榜结仰肘颁控澡苦想乘仰驾视昼附勘掐楔狮第7章消除隐藏线和隐藏面第7章消除隐藏线和隐藏面10