三维空间多面体消隐问题中可见子段的求解与归并
- 格式:pdf
- 大小:104.78 KB
- 文档页数:3
计算机图形学——隐藏线和隐藏⾯的消除(消隐算法)⼀、概述由于投影变换失去了深度信息,往往导致图形的⼆义性。
要消除⼆义性,就必须在绘制时消除被遮挡的不可见的线或⾯,习惯上称作消除隐藏线和隐藏⾯(或可见线判定、可见⾯判定),或简称为消隐。
经过消隐得到的投影图称为物体的真实感图形。
下⾯这个图就很好体现了这种⼆义性。
消隐后的效果图:消隐算法的分类所有隐藏⾯消隐算法必须确定:在沿透视投影的投影中⼼或沿平⾏投影的投影⽅向看过去哪些边或⾯是可见的两种基本算法1、以构成图像的每⼀个像素为处理单元,对场景中的所有表⾯,确定相对于观察点是可见的表⾯,⽤该表⾯的颜⾊填充该像素.适于⾯消隐。
算法步骤:a.在和投影点到像素连线相交的表⾯中,找到离观察点最近的表⾯;b.⽤该表⾯上交点处的颜⾊填充该像素;2、以三维场景中的物体对象为处理单元,在所有对象之间进⾏⽐较,除去完全不可见的物体和物体上不可见的部分.适于⾯消隐也适于线消隐。
算法步骤:a.判定场景中的所有可见表⾯;b.⽤可见表⾯的颜⾊填充相应的像素以构成图形;提醒注意1.假定构成物体的⾯不能相互贯穿,也不能有循环遮挡的情况。
2.假定投影平⾯是oxy平⾯,投影⽅向为z轴的负⽅向。
如果构成物体的⾯不满⾜该假定,可以把它们剖分成互不贯穿和不循环遮挡的情况。
例如,⽤图b中的虚线便可把原来循环遮挡的三个平⾯,分割成不存在循环遮挡的四个⾯。
⼆、可见⾯判断的有效技术1、边界盒指能够包含该物体的⼀个⼏何形状(如矩形/圆/长⽅体等),该形状有较简单的边界。
边界盒技术⽤于判断两条直线是否相交。
进⼀步简化判断2、后向⾯消除(Back-face Removal)思路:把显然不可见的⾯去掉,减少消隐过程中的直线求交数⽬如何判断:根据定义寻找外(或内)法向,若外法向背离观察者,或内法向指向观察者,则该⾯为后向⾯。
注意:如果多边形是凸的,则可只取⼀个三⾓形计算有向⾯积sp。
如果多边形不是凸的,只取⼀个三⾓形计算有向⾯积sp可能会出现错误,即F所在的⾯为前向⾯也可能出现sp≥0的情况,因此,需按上式计算多边形F的有向⾯积。
电子科技大学智慧树知到“软件工程”《三维图形处理技术》网课测试题答案(图片大小可自由调整)第1卷一.综合考核(共15题)1.假定屏幕尺寸一定,常用整个屏幕所能容纳的像素个数描述屏幕的(),如640*480,800*600,1024*768,1280*1024等等。
A.大小B.容量C.分辨率D.亮度2.关于计算机图形标准化的论述,下面论述是不正确的是()。
A.CGM和CGI是面向图形设备的接口标准B.GKS、IGES、STEP均是ISO标准C.IGES和STEP是数据模型和文件格式的标准D.PHIGS具有模块化的功能结构3.凡满足C1连续的曲线必定满足G1连续条件,反之则不一定。
()A.对B.错4.双二次Bezier曲面的4条边界都是抛物线,其特征网格有()个顶点。
A.8B.9C.10D.165.触摸屏是()设备。
A.输入B.输出C.输入输出D.既不是输入也不是输出6.如果一幅512×512像素的图像,每一像素用4位表示,那么存储此图像至少需要的容量为()。
A.512KBB.128KBC.2MBD.3MB7.灰度等级为256级,分辨率为1024*1024的显示器,至少需要的帧缓存容量为()。
A.512KBB.1MBC.2MBD.3MB8.给定一系列顶点:P0P1P2...Pn-1Pn,怎样才能画一条二次B样条曲线,使得它插值端点P0、Pn,且在起点处相切于P0P1,在终点处相切于Pn-1Pn?()A.增加端点P0/=2P0-P1,Pn/=2Pn-Pn-1B.将原端点替换为P0/=2P0-P1,Pn/=2Pn-Pn-1C.增加端点P0/=P0-2P1,Pn/=Pn-2Pn-1D.将原端点替换为P0/=P0-2P1,Pn/=Pn-2Pn-19.三维空间中,绕Z轴正向的旋转可以被看作是哪个平面内的二维旋转?()A.XOY平面B.YOZ平面C.ZOX平面D.都不是10.计算机图形显示器一般使用什么颜色模型?()A.RGBB.CMYC.HSVD.HLS11.找出并消除物体中的不可见部分,称为消隐。
消隐算法消隐算法⼀、消隐当我们观察空间任何⼀个不透明的物体时,只能看到该物体朝向我们的那些表⾯,其余的表⾯由于被物体所遮挡我们看不到。
若把可见的和不可见的线都画出来,对视觉会造成多义性。
会有后边两种情况要消除⼆义性,就必须在绘制时消除被遮挡的不可见的线或⾯,习惯上称作消除隐藏线和隐藏⾯,简称为消隐。
消隐不仅与消隐对象有关,还与观察者的位置有关。
⼆、消隐的分类1>按消隐对象分类线消隐:消隐对象是物体的边⾯消隐:消隐对象是物体上的⾯2>按消隐空间分类物体空间的消隐算法:以场景中的物体为处理单位。
假设场景中有k个物体,将其中⼀个物体与其余k-1个物体逐⼀⽐较,仅显⽰它可见表⾯已达到消隐的⽬的。
(此类算法通常⽤于线框图的消隐!)图像空间的消隐算法:以屏幕窗⼝内的每个像素为处理单元。
对屏幕上每个像素进⾏判断,决定哪个多边形在该像素可见(这类算法是消隐算法的主流)三、图像空间的消隐算法:1>Z-buffer算法2>扫描线算法3>Warnock消隐算法画家算法:去除隐藏⾯最简单的算法原理:若场景中有许多物体,就是先画远的物体,再画近的物体。
这样⼀来,近的物体⾃然就会盖住远的物体。
但实际情况并不理想,在三维场景中,⼀个物体可能有些部分远,有些部分近,所以不管⽤什么顺序画,都⽆法得到正确的结果,所以画家算法只能解决简单场景的消隐问题。
Z-buffer算法1、也称Z缓冲区算法和深度缓冲器算法(能跟踪屏幕上每个像素深度的算法),让计算机⽣成复杂图形成为可能。
2、该算法有帧缓冲器和深度缓冲器,对应两个数组:Intensity(x,y)-属性数组(帧缓冲器),存储图像空间每个可见像素的光强或颜⾊Depth(x,y)-深度数组(Z-buffer),存放图像空间每个可见像素的Z坐标。
Z-buffer保存的是经过投影变换后的z坐标,距离眼睛近的地⽅z坐标的分辨率⽐较⼤,远处的分辨率⼩。
3、Z-buffer算法思想(开⼀个和帧缓存⼀样⼤⼩的存储空间,利⽤空间上的牺牲换区算法上的简洁)(1)先将z缓冲器中各单元的初始值置为最⼩值(2)当要改变某个像素的颜⾊值时,⾸先检查当前多边形的深度值是否⼤于该像素原来的深度值(3)如果⼤于原来的z值,说明当前多边形更靠近观察点,⽤它的颜⾊替换像素原来的颜⾊。
第一章概述1、计算机图形学研究的是什么?计算机图形学研究的是通过计算机将数据转换为图形,并在专门的设备上输出的原理、方法和技术。
2、计算机图形学处理的图形有哪些?计算机图形学处理的图形有:专题图件、类似于照片的三维逼真图形、实体的视图、抽象图等。
3、二维图形的基本操作和图形处理算法包含哪些内容?对图形的平移、缩放、旋转、镜像、错切等操作,此外还包括二维图形的裁剪、多边形填充以及二维图形的布尔运算(并、交、差)等。
4、什么叫科学计算可视化技术?这是20世纪90年代计算机图形学领域的前沿课题。
研究的是,将科学计算中大量难以理解的数据通过计算机图形显示出来,从而加深人们对科学过程的理解。
例如,有限元分析的结果,应力场、磁场的分布,各种复杂的运动学和动力学问题的图形仿真等。
5、计算机图形学的应用领域有哪些?计算机图形学处理图形的领域越来越广泛,主要的应用领域有:计算机辅助设计与制造(CAD/CAM)、科学计算可视化、地理信息系统与制图、事务管理和办公自动化、虚拟现实系统、过程控制和指挥系统、计算机动画。
6、计算机图形系统的硬件设备有哪些?硬件设备包括主机、输入设备和输出设备。
输入设备通常为键盘、鼠标、数字化仪、扫描仪和光笔等。
输出设备则为图形显示器、绘图仪和打印机。
7、在彩色CRT的荫罩法技术中,说说每个象素的组成结构?谈谈彩色是如何产生的?彩色CRT显示器中,每个象素位置上分布着呈三角形排列的三个荧光彩色点,三个荧光点分别发射红光、绿光和蓝光。
这样的彩色CRT有三支电子枪,分别与三个荧光点相对应,即每支电子枪发出的电子束专门用于轰击某一个荧光点。
屏幕上的荧光点、荫罩板上的小孔和电子枪被精确地安排处于一条直线上,使得由某一电子枪发出的电子束只能轰击到它所对应的荧光点上。
这样,只要调节各电子枪发出电子束的强弱,即可控制各象素中三个荧光点所发出的红、绿、蓝三色光的亮度。
于是我们可以根据彩色中所含红、绿、蓝三色的数量,以不同的强度激励三个荧光点,从而可以产生范围很广的彩色。