下载此文档

第七章 消除隐藏线和隐藏面.ppt


文档分类:金融/股票/期货 | 页数:约90页 举报非法文档有奖
1/90
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/90 下载此文档
文档列表 文档介绍
第七章 消除隐藏线和隐藏面
本讲稿第一页,共九十页
图象空间算法对显示设备上每一个可分辨象素进行判断,看组成物体的多个多边形表面中哪一个在该象素上可见,即要对每一象素检查所有的表面。
客体空间算法把注意力集中在分析要显示形体各)
{
<EDGEj,i0>=栈顶;
for (i!= i0的每个面FACEi)
{
if(EDGEj被FACEi全部遮挡)
{将EDGEj清空;break;}
if(EDGEj被FACEi部分遮挡)
{
从EDGEj中将被遮挡的部分裁掉;
if(EDGEj被分成若干段)
{
将其中的一段作为当前段;
将其他段及相应的i压入堆栈;
}
}
}
if(EDGEj段不为空)
显示EDGEj;
}
}
本讲稿第十八页,共九十页
第二节 曲面隐藏线消除的浮动水平线算法
若存在M个象素,则建立M个内存单元 ,称之为上浮水平线数组,在这些单元中先放上初值,初值应取成小于 。
曲面方程
本讲稿第十九页,共九十页
本讲稿第二十页,共九十页

平面 是最靠近观察者的,从平面上 的曲线
本讲稿第二十一页,共九十页
水平方向每个象素的对应x坐标值,计算
若 ,则点 是可见点,并把 内容变成 。若 ,则 为不可见,则不改变 的内容。
本讲稿第二十二页,共九十页
上图c点附近的虚线部分应是可见的,但按上述算法却成了不可见了。为了解决这个问题,可另建立M个单元
,可称之为下浮水平线数组。
本讲稿第二十三页,共九十页
初值取成 或比这更大一点得数,每次求出
本讲稿第二十四页,共九十页
If then
If then
如果函数 是用离散点形式
给出,则可如下处理。这时的 单元个数不是由显示器在x方向的象素个数来定,而是根据给定的离散点在x方向的个数来定。
本讲稿第二十五页,共九十页
基本想法是用线性插值法所得直线来代替两个点之间的曲线。若上述判断结果为 均为不可见,则认为平面 上的从 的一段曲线为不可见。若两点均为可见,则用这两点的连线代替原来这两点之间的曲线,并认为可见的,若这两点中有一点可见,如图的A点,另一点则为不可见,如图中的B点,这时要求出点连线的交点E。AE部分为可见,EB为不可见。
本讲稿第二十六页,共九十页
A
B
C
D
E
Zi+1
Zi
本讲稿第二十七页,共九十页
一般用 两族曲线来表示一曲面时常用斜投影。
为了得到消隐后曲面表示,不能对两族曲线分别消隐在叠加在一起,正确的做法是对两族曲线一起做,即处理好平面 一段曲线后,马上处理平面 的一段曲线。对这两族曲线用公共的
本讲稿第二十八页,共九十页
X=Xk
Z=Zi
B
本讲稿第二十九页,共九十页
第三节 深度排序算法
深度排序算法的主要步骤:
1. 把所有的多边形按顶点最大z坐标值进
行排序。
2. 解决当多边形z范围发生交迭时出现不
明确问题。
3. 按最大z坐标值逐渐减小的次序,对每
个多边形进行扫描转换。
本讲稿第三十页,共九十页
算法的基本思想是按多边形离开观察位置的距离进行排序,然后按照距离减少的次序,把每个多边形内部点应有的象素值送入帧缓存存贮器中。
算法考查多边形的深度次序是在客体空间中进行,图形显示时覆盖步骤是在图象空间中实现,所以可以说是一个客体空间和图象空间的混合算法。
本讲稿第三十一页,共九十页
本讲

第七章 消除隐藏线和隐藏面 来自淘豆网www.taodocs.com转载请标明出处.