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