欢迎来到天天文库
浏览记录
ID:52370833
大小:1.32 MB
页数:36页
时间:2020-04-05
《《真实感图形显示》PPT课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第六章 真实感图形显示6.1图形消隐处理的基本原理a)b)c)图6-1未消隐的图产生的不确定性图形生成对象的消隐算法(1)以棱线为主体的方法;(2)以表面为主体的方法。也就是说在消隐算法中有隐藏线消除与隐藏面消除之分。6.2消除隐藏线(1)表面朝向:(2)表面模型凸多面体面表中的每一个面可以任取三个顶点(不共线),,来定义,根据平面方程的计算公式,从而得到该三点所在的多边形表面的平面方程。因此,若A>0则表示X方向(1,0,0,0)与多面体在平面的同一侧,假定X轴指向观察者,于是可以知道,该三点所定义的面(即该三点所在的多边形表面)是朝后面的;反
2、之,若A<0,则表示X方向与多面体异侧,这样的多边形表面是朝前的,即面向观察者的。为此,可以得出,朝前的表面是可见的,其边界(棱线)是可见的。(3)消除隐藏线为了消除隐藏线,可对面表中的每一个面进行朝向判别,根据前面面表和线表的描述,对可见面的边界线段在线表上加可见性标记。待所有的面被判断后,就可得到可见性标记的线表。如把可见线段显示或绘出,而未加可见性标记的线段(即不可见线段)不予显示、绘出或用虚线显示、绘出,则可以得到消除隐藏线的立体图形。算法:步骤1:对各个多面体分别进行消隐线处理,即消去物体被自身遮挡的不可见边;步骤2:用步骤1检验得到的可见线
3、段对其它多面体进行遮挡检验。消除由于物体空间位置不同,一物体被其它物体遮挡的边。(4)曲面立体隐藏线消除曲面立体隐藏线消除,我们可以从实体的整个边界表面中任意给定一块性态良好的曲面,判定它是全部可见,部分可见,还是不可见。如果曲面仅部分可见,那么在该曲面上就有一条曲线是轮廓线的一部分。假设眼点在y轴上,同时表面法矢是从实体向外指向(如图6-7),则在该曲线上曲面法矢的y向量均为零。由于每一个法矢都能分解成两个分量,我们可根据上述表面法向朝向判断方法来进行可见性检验。(5)隐藏线消除算法A最小最大检验最小最大检验,又称为范围检验。如图6-8所示为两个平面
4、多边形及其投影,围绕它们的投影图形,可以作出其边平行坐标轴的最小矩形,分别将这两个多边形包容在其范围之内。如果这两个矩形不重叠,则该两平面多边形在空间不存在隐藏与被隐藏问题。具体判断方法是:对两个多边形的最大与最小x坐标和y坐标进行检查,如果多边形A的xAmax小于多边形xBmin,以及多边形A的yAmax小于多边形B的yBmin,则这两个多边形将不存在相互遮蔽的情况。否则,要进行消隐处理。B包含性检验指明确点与多边形之间的关系,即该点是否位于多边形内部。一般来说,如果该多边形为凸多边形,只要用不等式即可加以判断。但是,如果该多边形为凹多边形,则可采取
5、以下的方法进行判断。第一种方法:如图6-9a)。从被检验点出发,引一条无限半直线,如果此直线与多边形的交点个数为奇数,则该点位于多边形内部;如果交点个数为偶数,则该点位于多边形的外部。第二种方法:如图6-9b)所示。从被检验的点出发,连接多边形诸顶点,然后计算其中心角的总和∑ai。若∑ai=2π,则该点位于多边形内部;如果∑ai=0,在该点位于多边形的外部。注意:在此假定中心角沿某方向为正(如逆时针为正),与之相反方向为负(顺时针为负)。C深度检验如图6-10所示,设在空间有一平面多边形ABCD和点,它们在投影面Oxy平面上的投影为AˊBˊCˊDˊ和P
6、tˊ。设点Pt的深度(PtPtˊ)为zt,过点Pt与z轴平行的直线与多边形相交于点Pp(xp,yp,zp),其深度(PpPtˊ)为zp。则zp之值可利用平面多边形的方程Ax+By+Cz+D=0来计算。由于已知xp=xt,yp=yt,因此:若zp>zt,则Pt是可见的(假定视点位于-z无穷远处);若zp7、的面进行可见性判断,并加上可见性标志,然后对可见的表面再进行浓淡处理后输出,就可得到消除隐藏面的立体图形。曲面立体在进行消隐处理时,不仅要考虑诸曲面立体之间的遮蔽关系、一个曲面体诸曲面块之间的遮蔽关系,还要考虑曲面块自身的遮蔽关系。假若物体的表面是曲面或曲面实体,这时我们可以采用平面多边形来近似曲面,然后按表面是平面的处理方法进行处理。6.3.1隐藏面消隐算法(1)Warnock算法首先将初始的窗口(即平面)分割为四个子窗口,根据多边形与窗口的相对位置不同,可将多边形分为三种类型(如图6-14):(2)扫描线相关算法相继地检查屏上的一系列窗口,每个窗口8、高为一条扫描线,其宽度与屏宽度相同。自上(下)而下(上)、从左至右地每条扫描线所形成的扫描平面
7、的面进行可见性判断,并加上可见性标志,然后对可见的表面再进行浓淡处理后输出,就可得到消除隐藏面的立体图形。曲面立体在进行消隐处理时,不仅要考虑诸曲面立体之间的遮蔽关系、一个曲面体诸曲面块之间的遮蔽关系,还要考虑曲面块自身的遮蔽关系。假若物体的表面是曲面或曲面实体,这时我们可以采用平面多边形来近似曲面,然后按表面是平面的处理方法进行处理。6.3.1隐藏面消隐算法(1)Warnock算法首先将初始的窗口(即平面)分割为四个子窗口,根据多边形与窗口的相对位置不同,可将多边形分为三种类型(如图6-14):(2)扫描线相关算法相继地检查屏上的一系列窗口,每个窗口
8、高为一条扫描线,其宽度与屏宽度相同。自上(下)而下(上)、从左至右地每条扫描线所形成的扫描平面
此文档下载收益归作者所有