真实感图形生成.ppt
《真实感图形生成.ppt》由会员分享,可在线阅读,更多相关《真实感图形生成.ppt(77页珍藏版)》请在三一办公上搜索。
1、计算机图形学高级话题-,真实感图形生成,讲授主要内容:,引言消隐真实感图形的绘制实时真实感图形学技术总结,引言,对于场景中的物体、要得到它的真实感图形,就要对它进行透视投影,并消除隐藏面,然后计算可见面的光照明暗效果,最后在计算机中绘制出让观察者有身临其境感觉的图形.,消隐,消隐的概念消隐算法分类消隐算法深度缓存器算法区间扫描线算法深度排序算法区域细分算法光线投射算法BSP树算法多边形区域排序算法,消隐的概念,用计算机生成三维物体的真实图形,在用显示设备描述物体的图形时,必须把三维信息经过某种投影变换,在二维的显示表面上绘制出来。由于投影变换失去了深度信息,往往导致图形的二义性。要消除二义性,
2、就必须在绘制时消除被遮挡的不可见的线或面,习惯上称作消除隐藏线和隐藏面,或简称为消隐。消隐实例,物体的线框图 经消隐处理后的图形,消隐算法分类,按其实现方式分为:图象空间消隐算法 图象空间(屏幕坐标系)消隐算法以屏幕像素为采样单位,确定投影于每一个像素的可见景物表面区域,并将其颜色作为该像素的显示颜色景物空间消隐算法 直接在景物(观察坐标系)中确定视点不可见的表面区域,并将它们表达成同原表面一致的数据结构,深度缓存器算法,深度缓存器算法最早由Catmull提出的,是一种典型的,最简单的图象空间面消隐算法.该算法也称为Z-buffer算法算法的原理算法的实现步骤算法的特点,深度缓存器算法原理,先
3、将待处理的景物表面上的采样点变换到图象空间(屏幕坐标系),计算其深度值。根据采样点在屏幕上的投影位置,将其深度与已存储在Z缓存器中的相应像素处的原可见点的深度值进行比较。如果新的采样点的深度值大于原可见点的深度,表明新的采样点遮住了原可见点,则采用该采样点处的颜色更新帧缓存器中相应像素的颜色,同时用其深度值更新Z缓存器中的深度值。否则,不作修改。,Z-Buffer算法的特点,优点:形体在屏幕上的出现顺序是无关紧要的,算法简单;便于硬件实现。缺点:占用空间大 不利于实现反走样、透明和半透明等处理,深度排序算法,深度排序算法的主要步骤:1.把所有的多边形按顶点最大z坐标值进行排序。2.解决当多边形
4、z范围发生交迭时出现的不明确问题。3.按最大z坐标值逐渐减小的次序,对每个多边形进行扫描转换。,算法的基本思想是按多边形离开观察位置的距离进行排序,然后按照距离减少的次序,把每个多边形内部点应有的象素值送入帧缓存存贮器中。算法考查多边形的深度次序是在客体空间中进行,图形显示时覆盖步骤是在图象空间中实现,所以可以说是一个客体空间和图象空间的混合算法。,不明确问题检验方法,所有多边形按顶点最大z坐标值排序后得到一个排序表,设P是排在表中最后的那个多边形。设Q是排在P前面并且z坐标范围与其发生交迭的一个多边形,对Q与P的次序关系进行检查。,检查可以按下面列出的五个步骤进行,每个步骤判断一种情况。,1
5、多边形的x坐标范围不相交迭,所以多边形不相交迭。2多边形的y坐标范围不相交迭,所以多边形不相交迭。3.P整个在Q远离观察点的一侧。4.Q整个在P的靠近观察点的一侧。5.多边形在z=0平面上的投影本身不相交迭。,如果所有这五步检查都为假,就假定P是遮挡了Q,交换P和Q在排序表中的位置。如果仍做交换,算法会永远循环下去而没有结果。为了避免循环,可以做一个限制。当做过首次五步检查后,发生某个多边形被移到排序表的末尾时,就立即加上一个标记,以后就不能再做移动。出现再次应该移动时,用一个多边形所在的平面,把另一个多边形剪裁分为两个。,扫描线算法,扫描线算法是图象空间算法,它建立图象是通过每次处理一条扫描
6、线来完成的。这个算法是第四章讨论的多边形填充的扫描线算法的推广。在多边形填充的扫描线算法中,只是对一个多边形做扫描转换,而这里是同时对多个多边形做扫描转换。,P,Q,画家算法,画家算法又称深度优先级表法,它是深度排序算法的一种具体实现。先画远景,再画中景,最后画近景。,区域分割算法,区域分割算法将投影平面分割成区域,考察区域内的图象。如果容易决定在这个区域内某些多边形是可见的,那么就可以显示那些可见的多边形,完成对这一区域的显示任务。否则,就将区域再分割成小的区域,对小的区域递归地进行判断。由于区域逐渐变小,在每个区域内的多边形逐渐变少,最终总可以判定哪些多边形是可见的。这个算法利用的区域的相
7、关性,这种相关性是指位于适当大小的区域内的所有象素,表示的其实是同一个表面。,BSP树算法,BSP(binary space-partitioning)树算法将表面由后往前地在屏幕上绘出,该算法特别适用于场景中物体位置固定不变、仅视点移动的情况。利用BSP树来判别表面的可见性,其主要操作是在每次分割空间时,判别该表面相对于视点与分割平面的位置关系,即位于其内侧还是外侧。,平面P1将空间分割为两部分,一组物体位于P1的后面(相对于视点),而另一组则在P1之前,而B和D在P1之后。平面P2对空间进行了二次分割,并生成如图(b)所示的二叉树表示。在这棵树上,物体用叶节点表示,分割平面前方的物体组作为
8、左分支,而后方的物体组为右分支。,对于由多边形面组成的物体,可以选择与多边形面重合的分割平面,利用平面方程来区分“内”、“外”多边形顶点。随着将每个多边形面作为分割平面,可生成一棵树,与分割平面相交的每个多边形将被分割为两部分。一旦BSP树创建完毕,即可选择树上的面并由后往前显示,即前面物体覆盖后面的物体。目前已有许多系统借助硬件来完成BSP树创建和处理的快速实现。,光线投射算法,考查由视点出发穿过观察平面上一像素而射入场景的一条射线,则可以确定出场景中与该射线相交的物体。在计算出光线与物体表面的交点之后,离像素最近的交点所在的表面即为可见面。这种可见性判别模式应用了光线投射算法。,光线投射(
9、ray casting)建立于几何光学的基础之上,它沿光线的路径追踪可见面,是一种有效的可见性判别手段。由于场景中有无限多条光线,而我们仅对穿过像素的光线感兴趣,因此可考虑从像素出发,逆向跟踪射入场景的光线路径。光线投射算法对于包含曲面,特别是球面的场景有很高的效率。,一条由象素点射入场景的视线,光线投射算法可以看做是深度缓冲器算法的一种变形。在深度缓冲器算法,每次处理一个表面并对表面上的每个投影点计算深度值。计算出来的值与以前保存的深度进行比较,从而确定每个像素所对应的可见表面。在光线投射算法中,每次处理一个像素,并沿光线的投射路径计算出该像素所对应的所有表面的深度值。光线跟踪技术通过追踪多
10、条光线在场景中的路径,以得到多个物体表面所产生的反射和折射效果。而在光线投射中,跟踪的光线仅从每个像素到最近的物体为止。,真实感图形的绘制,消隐能反映景物间的相互遮挡关系,能够增强图形的深度感和层次感.如何利用计算机进行真实感图形的绘制呢?,真实感图形的绘制步骤,场景造型采用数学方法建立三维场景的几何描述并输入到计算机取景变换、透视投影将三维几何描述转换为二维透视图的内容视域裁剪、消除隐藏面确定景物中的所以可见面,将视域之外或其它景物遮挡的不可见面消除绘制真实感图形根据一定的光照模型和光强度计算,将其转换为适合图形设备的颜色值,生成投影画面上每个像素的光强度,让观察者产生身临其境的感觉,基本概
11、念颜色,颜色 要产生具有高度真实感的图形,颜色是最重要的部分。在我们的光照明模型中,通常只要分别计算R、G、B 三个分量的光强值,就可以得到某个象素点上的颜色值,给人以某种颜色的感觉。我们从人体视觉的角度出发,介绍计算机图形学中颜色和视觉的一些相关知识。,颜色的三特性,颜色有如下三个特性:色调(Hue)、饱和度(Saturation)和亮度(Lightness)。色调,是一种颜色区别于其它颜色的因素,也就是我们平常所说的红、绿、蓝、紫等;饱和度是指颜色的纯度,鲜红色饱和度高,而粉红色的饱和度低。与之相对应,从光学物理学的角度出发,颜色的三个特性分别为:主波长(Dominant Waveleng
12、th)、纯度(Purity)和明度(Luminance)。主波长是产生颜色光的波长,对应于视觉感知的色调;光的纯度对应于饱和度,而明度就是光的亮度。,三色学说,三色学说:某一种波长的光可以通过三种不同 波长的光混合而复现出来,且红(R)、绿(G)、蓝(B)三种单色光可以作为基本的颜色原色,把这三种光按照不同的比例混合就能准确的复现其它任何波长的光,而它们等量混合就可以产生白光。三色学说是我们真实感图形学的生理视觉基础,我们根据三色学说用RGB来定义我们的颜色,三色学说是我们颜色视觉中最基础、最根本的理论。,漫反射及具体光源的照明,1环境光 在多数实际环境中,存在由于许多物体表面多次反射而产生的
13、均匀的照明光线,这就是环境光线。环境光线的存在使物体得到漫射照明.亮度计算如下:I=Ia a,其中I是可见表面的亮度,Ia是环境光线的总亮度,a是物体表面对环境光线的反射系数,它在0到1之间.2漫反射 具体光源在物体表面可以引起漫反射和镜面反射。漫反射是指来自具体光源的能量到达表面上的某一点后,就均匀地向各个方向散射出去,使得观察者从不同角度观察时,这一点呈现的亮度是相同的。通常不光滑的粗糙表面总是呈现出漫反射的效果,Lambert定律指出,漫反射的效果与表面相对于光源的取向有关,即:Id=Ip d COS 其中Id是漫反射引起的可见表面上一点的亮度。Ip是点光源发出的入射光线引起的亮度。d是
14、漫反射系数,它的取值在0到1之间,随物体材料不同而不同。是可见表面法向N和点光源方向L之间的夹角,即入射角,它应该在0到90之间。,为了简化公式中余弦值的实际计算,可以假定向量N和L都已经正规化,即已经是长度为1的单位向量,这样就可以使用向量的数量积或内积。因为这时,于是得:Id=Ip Id(L N)将环境光线和漫反射的效果结合起来,计算亮度的公式应该写成:I=Ia a+Ip Id(),通常认为具体光源对可见表面产生的照明作用,是随着光源与表面之间距离的增加而下降的。设R是光线从光源发出到达表面再返回的距离,则,I=Ia a+Ip Id()/R2,表面,对于平行投影,光源在无穷远处,故距离R成
15、为无穷大。对于透视投影,1/R2也常常有很大的数值范围而使效果不好。一种比较逼真的效果,可通过用r+k代替R2来获得:,I=Ia a+Ip Id()/(r+k)其中r是光源到表面的距离,k是根据经验选取的一个常数。,基本概念,光照模型(Illumination Model):又称明暗模型,描述物体表面的色彩明暗与光源特性和物体表面特性的关系。主要用于物体表面某点处的光强度计算.光照模型的分类简单光照模型复杂光照模型,光照模型的分类,简单的光照模型:仅考虑光源照射在物体表面产生的反射光,并且常假设物体表面是光滑的,所以生成的图形可以模拟出不透明物体表面的明暗过渡,具有一定的真实感.复杂的光照模型
16、:除了考虑反射光外,还要考虑周围环境的光对物体表面影响、透明度、光源的位置和个数等,这种光照模型被称为整体光照模型,它能模拟出镜面影像、透明等光照效果,可以绘制更接近自然景物的图形.,简单的光照模型与复杂光照模型的比较,简单光照模型绘制效果 复杂光照模型绘制效果,明暗处理方法,在计算机图形学中,曲面体(例如球)也通常是用多面体逼近表达的。这时,如果只是将每个多边形用单一的光强来绘制就会造成整个景物表面的颜色过渡不光滑,影响了曲面的显示效果。因此,通常采用的方法是:采用插补的方法,使得表面明暗光滑化。示例演示最常使用的表面明暗光滑化的方法有两种Gourand方法 Phong方法,明暗处理示例,牛
17、的三角网格模型 用简单光照明模型显示明暗处理后模型显示,线框图 恒定光强绘制图 Gourand方法光滑处理后图形,Gourand方法光滑处理示例,Phong方法光滑处理示例,线框图 恒定光强绘制图 Phong方法光滑处理后图形,镜面反射与Phong模型 镜面反射是指来自具体光源的光能到达可见表面上的某一点后,主要沿着由射入角等于反射角所决定的方向传播,从而使得观察者从不同角度观察时,这一点呈现的亮度并不相同。在任何有光泽的表面上都可以观察到镜面反射的效果。例如,用很亮的光照射一个红色的苹果,会发现最亮点不是红色的,而是有些呈现白色,这是入射光线的颜色。这个最亮点就是有镜面反射引起的。如果观察者
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 真实感 图形 生成

链接地址:https://www.31ppt.com/p-6006628.html