ch08——隐藏面和隐藏线的消除

ch08——隐藏面和隐藏线的消除

ID:36275771

大小:2.46 MB

页数:61页

时间:2019-05-08

ch08——隐藏面和隐藏线的消除_第1页
ch08——隐藏面和隐藏线的消除_第2页
ch08——隐藏面和隐藏线的消除_第3页
ch08——隐藏面和隐藏线的消除_第4页
ch08——隐藏面和隐藏线的消除_第5页
资源描述:

《ch08——隐藏面和隐藏线的消除》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第8章隐藏面和隐藏线的消除隐藏面和隐藏线的消除是计算机图形学中的一个基本问题。由于存在不透光的物体,因此阻挡了来自某些物体部分的光线到达观察者,这些物体部分成为隐藏部分,隐藏部分是不可见的。为了使计算机生成的图能真实地反映这一情况,必须把隐藏的部分从图中消除。如果不把隐藏的线或面消除,还可能发生对图的错误理解。图8.1两种理解基于图像空间的方法以构成图像的每一个像素为处理单元,对场景中的所有表面,确定相对于观察点是可见的表面,用该表面的颜色填充该像素。该算法多用于面消隐。算法的简单描述如下:对于图像中的每一个像素:在和投

2、影点到像素连线相交的表面中,找到离观察点最近的表面;用该表面上交点处的颜色填充该像素隐藏面和隐藏线的消除有两种基本的算法基于物体空间的方法是以三维场景中的物体对象为处理单元,在所有对象之间进行比较,除去完全不可见的物体和物体上不可见的部分。该算法多用于线消隐,也用于面消隐。算法的简单描述如下:对于三维场景中的每一个物体:判定场景中的所有可见表面;用可见表面的颜色填充相应的像素以构成图形;隐藏面和隐藏线的消除有两种基本的算法假定1:隐藏线和隐藏面消除所讨论的对象是一个三维图形,消隐后要在二维空间中表示出来,因此消隐后显示的

3、图形将和三维空间至二维空间的投影方式有关。下面讨论消隐算法时,都假定投影平面就是oxy平面,投影方向为负z轴方向的垂直投影。如果不是这种情况,可对消隐的对象先作变换,变成这种情况,然后再作消隐计算。在投影平面就是oxy平面以及投影是透视时,可用变换(4.14)―(4.16)式。投影是平行投影,但投影方向不是负z轴方向,则可用变换(4.21)―(4.23)式。如果投影平面不是oxy平面,平行投影时则先要用变换(4.36)式,透视时先要用变换(4.33)式,式(4.33)中的常数A和B应满足式(4.17)假定2:本章说明的各

4、种消隐方法都假定构成对象的不同面不能相互贯穿,见图8.1,也不能有循环遮挡的情况,如果有这种情况,可把它们剖分成互不贯串和不循环遮挡的情况。例如用图8.2(b)中的虚线便可把原来循环遮挡的三个平面,分割成不互相循环遮挡的四个面。图8.2贯穿和循环遮挡8.1多面体的隐藏线消除设有多个互不相交的多面体,对它们的消隐问题,和他们的显示方式有关。讨论隐藏线消除问题,总假定它们是用线框方式来表示的。在这种方式下多面体用棱来表示。这时隐藏线便是某些不可见的棱或棱的一部分。如果能把各棱上可见和不可见部分的分界点找到,消隐问题也就迎刃而

5、解了。这些分界点都是多面体的各棱在oxy平面上投影间的交点,见图8.3。这样,问题就转化成了在oxy平面上求很多直线的交点的计算。图8.38.1多面体的隐藏线消除在oxy平面上求很多直线的交点的计算。如果消隐对象有N条棱,用两两求交的方法求所有交点的工作量为O(N2)。当N很大时,这个工作量是可观的。要提高算法的效率,就要设法减少求交的工作量。实际上交点个数远小于O(N2),例如图8.3的多面体有15条边,如果不计棱端点处的交点,棱在oxy平面上的投影相互间只有5个交点。这说明有很多棱在oxy平面上的投影相互间并不相交。

6、问题在于如何能预先知道它们是不相交的,从而把它们排挤在求交计算之外。8.1多面体的隐藏线消除减少求交计算的若干方法:把后向面全部去掉用边界盒排除不相交的线段求交。在后向面被删除后,如果两个相邻的多边形的公共边都在两个多边形的凸包上,则这两个多边形不会发生一个遮挡另一个的现象。因而在考虑一个多边形的边的显示时,可以不考虑另一个多边形对它的影响。8.1多面体的隐藏线消除去掉后向面把内法线方向背向视点的面称为前向面,如图8.3中的IJFGH,FABG,HCDI和IDEJ所在的面均为前向面。其余的面称为后向面,例如图8.3中JE

7、AF和DEABC所在的面均为后向面,后向面总是看不见的,不会仅由于后向面的遮挡,而使别的棱成为不可见,因此可把后向面全部去掉,这不影响消隐结果。8.1多面体的隐藏线消除设多边形F的顶点为v1,v2,…,vL,顶点vi的坐标为(xiyizi)。顶点的次序要求这样排列,使观察者在多面体外沿着v1→v2→v3…→vL走时,多边形的内部始终在它的右侧。为了确定多边形的内法线方向,可以计算多边形在oxy平面上投影的有向面积。有向面积sp可如下计算如果sp≥0,则F所在的面为后向面。如果sp<0,则F所在的面为前向面。8.1多面体的

8、隐藏线消除用边界盒排除不相交的线段求交8.1多面体的隐藏线消除在后向面被删除后,如果两个相邻的多边形的公共边都在两个多边形的凸包上,则这两个多边形不会发生一个遮挡另一个的现象。这时,在考虑一个多边形的边的显示时,可以不考虑另一个多边形对它的影响。8.1多面体的隐藏线消除隐藏线消除实际计算过程:要对体一个一个来考虑,如

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。