第十二章消隐.pdfVIP

  • 10
  • 0
  • 约1.41万字
  • 约 48页
  • 2018-06-06 发布于河北
  • 举报
第十二章消隐

第十二章 消隐 陈任 上海大学计算机学院 rchen@staff.shu.edu.cn 基本概念(消隐) 在用显示设备描述物体的图形时,必须把三维 信息经过某种投影变换,在二维的显示表面上 绘制出来。由于投影变换失去了深度信息,往 往导致图形的二义性。 这说明: 在绘制的时 候绘制所有 的图元(点、 线、面)是不 合适的! 基本概念(消隐) 要消除二义性,就必须在绘制时消除被遮挡 的不可见的线或面,习惯上称作消除隐藏线 和隐藏面,或简称为消隐。 消隐的说明 象素 12.1 消隐的分类 消隐的对象是三维物体。 三维物体的表示主要有边界表示和CSG表示等。最 简单的表示方式是用表面上的平面多边形表示。如 物体的表面是曲面,则将曲面用多个平面多边形近 似。 消隐结果与被观察物体有关,也与视点有关。 按消隐对象分类 线消隐:消隐对象是物体上的边,消除的是物体上不可 见的边。 面消隐:消隐对象是物体上的面,消除的是物体上不可 见的面。 11.2 消除隐藏线(线消隐,补充) 对造型的要求 线框模型用边界线表示有界平面,所以待显示 的所有实体均为线。但线不可能对线有遮挡关 系,只有面或体才有可能对线形成遮挡。 故消隐算法要求造型系统中有面的信息,最好 有体的信息。 正则形体的消隐可利用其面的法向量,这样比 一般情况快的多。 坐标变换 为运算方便,一般通过平移、旋转、透视等各种坐 标变换,将视点变换到Z轴的正无穷大处,视线方 向变为Z轴的负方向。 变换后,坐标Z值反映了相应点到视点的距离,可 以作为判断遮挡的依据。另外,对视锥以外的物体 应先行滤掉,以减少不必要的运算。 Y(v) Z(n) Z=-3 Z=-5 X(u) 基本运算 线消隐中,最基本的运算为:判断面对线的遮挡关 系。体也要分解为面,再判断面与线的遮挡关系。 在遮挡判断中,要反复地进行线线、线面之间的求 交运算。 本章主要讨论正则形体的消隐问题。若无特殊说 明,均假设面和面之间不能相互贯穿。 贯穿 平面对直线段的遮挡判断算法 1. 若线段的两端点与视点在给定平面的同一侧,则线段位于给定平 面的前面,是可见的,转(9)。 2. 求线段与相应的无限平面的交。若无交点,转(4);否则,转 (3)。 3. 交点将该线段分成两段,与视点同侧的一段是可见的,它没有被 遮挡;另一段的可见性还不能确定(多边形可能很复杂),转(4), 继续测试。 4. 若线段的投影与给定平面的投影的包围盒不相交,则线段可见, 它不被该平面遮挡,转(9)。 1 2 3 4 5. (处理复杂多边形情况)求所剩线段的投影与平面边界投影的所有 交点。 6. 将线段的投影在交点处依次分成若干段,根据交点在原直线参数 方程中的参数值的大小对线段进行排序。 7. 求出第一投影线段的中点,若第一段的中点在多边形的投影内, 则相应的线段被遮挡,否则不被遮挡。 8. 其它各段的遮挡关系可依次按“遮挡/可见”交替地取值。例如: 如果第一段被遮挡,则后面线段的可

文档评论(0)

1亿VIP精品文档

相关文档