《可见面判别算法.ppt》由会员分享,可在线阅读,更多相关《可见面判别算法.ppt(26页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、可见面判别算法可见面判别算法现在学习的是第1页,共26页可见面判别可见面判别l消隐消隐_在绘制时隐藏实际不可见的线和面在绘制时隐藏实际不可见的线和面消隐的考虑:消隐的考虑:三维物体的真实图形三维物体的真实图形选择不同的消隐算法选择不同的消隐算法第九章第九章 可见面判别算法可见面判别算法现在学习的是第2页,共26页l可见面判别算法,按实现空间分类可见面判别算法,按实现空间分类物空间算法物空间算法像空间像法像空间像法第九章第九章 可见面判别算法可见面判别算法现在学习的是第3页,共26页可见面判别算法可见面判别算法物空间算法物空间算法在对象定义时所处的坐标系中实现。在对象定义时所处的坐标系中实现。这
2、种方法把物体和物体的某些部分彼此比较这种方法把物体和物体的某些部分彼此比较,通过有关几何运算,以确定哪些线或表面,通过有关几何运算,以确定哪些线或表面是不可见的然后仅显示可见线,以此实现是不可见的然后仅显示可见线,以此实现消隐,消隐,算法精度较高,生成的图形可以放大多倍而算法精度较高,生成的图形可以放大多倍而仍然令人满意,适用于精密的工程应用领域仍然令人满意,适用于精密的工程应用领域现在学习的是第4页,共26页像空间算法像空间算法在显示图形的屏幕坐标系中实现在显示图形的屏幕坐标系中实现对投影平面或显示屏幕上的每一个像素位置逐对投影平面或显示屏幕上的每一个像素位置逐点地检测其可见性。点地检测其可
3、见性。算法比较粗糙而且按图像空间算法得到的画算法比较粗糙而且按图像空间算法得到的画面在放大后往往不能令人满意。面在放大后往往不能令人满意。算法计算效率比较高,因为在光栅扫描过程中算法计算效率比较高,因为在光栅扫描过程中可以充分利用画面的连贯性等性质可以充分利用画面的连贯性等性质可见面判别算法可见面判别算法现在学习的是第5页,共26页两个方法一般都利用两个方法一般都利用排序排序和和连贯性连贯性来提高算法性来提高算法性能能排序主要用在深度比较排序主要用在深度比较连贯性利用图形的规则性连贯性利用图形的规则性可见面判别算法可见面判别算法现在学习的是第6页,共26页13.1 可见面判别算法的分类可见面判
4、别算法的分类l可见面判别算法可见面判别算法后向面消除法后向面消除法深度缓冲器算法深度缓冲器算法A缓冲器算法缓冲器算法深度排序算法深度排序算法现在学习的是第7页,共26页后向面判别后向面判别l思想思想 平面方程:平面方程:Ax+By+Cz+D=0如果点如果点(x,y,z)为视线上的点,并且满足为视线上的点,并且满足Ax+By+Cz+D 0,则为后向面,视角则为后向面,视角 l简单测试方法二简单测试方法二 V=(0,0,Vz),右手观察坐标系;,右手观察坐标系;VN=VzC,若,若C 0,则为后向面,则为后向面 后向面判别后向面判别现在学习的是第9页,共26页后向面判别后向面判别l总结总结 是一种
5、高效的物空间算法;是一种高效的物空间算法;可用于预处理。可用于预处理。现在学习的是第10页,共26页也叫也叫Z Z缓冲器算法缓冲器算法l思想:思想:对投影平面上每个像素所对应的表面深度进行比对投影平面上每个像素所对应的表面深度进行比较较深度缓冲器算法深度缓冲器算法现在学习的是第11页,共26页l如图,如图,s s1 1平面距离平面距离投影平面最近,所投影平面最近,所以投影点以投影点(x,y)(x,y)将将保存保存s s1 1平面上相应平面上相应点的属性信息。点的属性信息。深度缓冲器算法深度缓冲器算法XvZvYv观察方向观察方向(x,y)s1s2s3现在学习的是第12页,共26页l缓冲区缓冲区深
6、度缓冲区深度缓冲区(Z缓冲区缓冲区)刷新缓冲区刷新缓冲区l算法的实质算法的实质 对给定的对给定的x,y,寻找最小的寻找最小的z(x,y)深度缓冲器算法深度缓冲器算法屏幕帧缓冲器Z缓冲器每个单元存放对应象素的颜色值每个单元存放对应象素的深度值现在学习的是第13页,共26页深度缓冲器算法深度缓冲器算法算法描述:算法描述:l缓冲器初始化缓冲器初始化depth(x,y)=0,refresh(x,y)=Ibgl计算多边形上各点的深度值计算多边形上各点的深度值z(x,y)并判断并判断 if z(x,y)depth(x,y)depth(x,y)=z(x,y),refresh(x,y)=Isurf(x,y)现
7、在学习的是第14页,共26页深度缓冲器算法深度缓冲器算法l最终结果:最终结果:深度缓冲器中保存的是可见面的深度值,深度缓冲器中保存的是可见面的深度值,刷新缓冲器中保存的是这些表面的对应属性值。刷新缓冲器中保存的是这些表面的对应属性值。现在学习的是第15页,共26页如何计算多边形平面上各点的深度如何计算多边形平面上各点的深度z(x,y)?l采用连贯性方法以提高效率采用连贯性方法以提高效率l沿一条沿一条y=const的扫描线计算各点的深度的扫描线计算各点的深度 假设平面方程为:假设平面方程为:Ax+By+Cz+D=0 已知已知z(x,y),求,求z(x+1,y)z(x+1,y)=z-(A/C)l沿
8、多边形的左边界计算各点的深度沿多边形的左边界计算各点的深度 已知已知z(x,y),求,求z(x-1/m,y-1)z(x-1/m,y-1)=z+(A/m+B)/C深度缓冲器算法深度缓冲器算法现在学习的是第16页,共26页l评价评价易于实现;易于实现;空间需求大;空间需求大;只能处理非透明表面;只能处理非透明表面;对于复杂场景的性能较好。对于复杂场景的性能较好。深度缓冲器算法深度缓冲器算法现在学习的是第17页,共26页l思想思想对深度缓冲器算法进行扩展,使每个像素点对深度缓冲器算法进行扩展,使每个像素点对应一个表面链表。对应一个表面链表。A的含义:的含义:4反走样反走样(antialiased)4
9、区域平均区域平均(area-averaged)4累计缓冲器累计缓冲器(accumulation-buffer)A缓冲器算法缓冲器算法现在学习的是第18页,共26页l单元的深度域和强度域:单元的深度域和强度域:A缓冲器法缓冲器法Id0d0surf1surf2surf3情况情况1 1:只有一个表面覆盖该像素:只有一个表面覆盖该像素情况情况2 2:有多个表面覆盖该像素:有多个表面覆盖该像素现在学习的是第19页,共26页lSurf(i)中含有的数据项中含有的数据项:RGB强度分量强度分量表面的标识名表面的标识名透明性参数透明性参数其他表面绘制参数其他表面绘制参数深度深度覆盖度覆盖度指向下一表面的指针指
10、向下一表面的指针A缓冲器算法缓冲器算法现在学习的是第20页,共26页l评价评价是深度缓冲器算法的改进;是深度缓冲器算法的改进;可以处理透明表面;可以处理透明表面;可以对物体的边界进行反走样处理。可以对物体的边界进行反走样处理。A缓冲器算法缓冲器算法现在学习的是第21页,共26页深度排序算法深度排序算法也叫画家算法也叫画家算法l思想:思想:若场景中任何多边形表面在深度上均不贯穿或循环遮若场景中任何多边形表面在深度上均不贯穿或循环遮挡,则各多边形的优先级顺序可完全确定挡,则各多边形的优先级顺序可完全确定 l深度排序算法:深度排序算法:将表面按深度递减方向排序将表面按深度递减方向排序由深度最大的表面
11、开始,逐个对表面进行扫描由深度最大的表面开始,逐个对表面进行扫描转换转换l算法同时运用物空间与像空间操作算法同时运用物空间与像空间操作现在学习的是第22页,共26页深度排序算法深度排序算法l深度无重叠情况:深度无重叠情况:按深度优先级顺序处理按深度优先级顺序处理各个表面各个表面s和和s无深度重叠无深度重叠SSZminZmaxZminZmaxXvZv现在学习的是第23页,共26页深度排序算法深度排序算法l深度有重叠情况深度有重叠情况:对与对与s平面重叠的表面平面重叠的表面s分别作如下测试:分别作如下测试:两表面在两表面在xy平面上投影的包围矩形无重叠平面上投影的包围矩形无重叠相对于观察位置,面相
12、对于观察位置,面s完全位于重叠表面之后完全位于重叠表面之后相对于观察位置,重叠表面完全位于面相对于观察位置,重叠表面完全位于面s之前之前两表面在观察平面上的投影无重叠两表面在观察平面上的投影无重叠l结论:结论:只要有一个条件为真,则只要有一个条件为真,则s和和s无需重新排序无需重新排序l四个条件的测试方法:四个条件的测试方法:P438439现在学习的是第24页,共26页l评价评价对于在对于在z方向上分离的表面组成的场景,深方向上分离的表面组成的场景,深度排序算法效率高;度排序算法效率高;对于表面较少的场景是高效的。对于表面较少的场景是高效的。深度排序算法深度排序算法现在学习的是第25页,共26页l不同的算法有不同的应用背景不同的算法有不同的应用背景l可见面判别算法常常是硬件实现可见面判别算法常常是硬件实现可见面判别算法小结可见面判别算法小结现在学习的是第26页,共26页