《真实感图形的生成技术.ppt》由会员分享,可在线阅读,更多相关《真实感图形的生成技术.ppt(34页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、真实感图形的生成技术现在学习的是第1页,共34页现在学习的是第2页,共34页现在学习的是第3页,共34页 真实感图形绘制真实感图形绘制:通过综合利用数学、物理学、计算机以及心理学等知识在计算机图形输出设备上绘制出能够以假乱真的美丽景象。涉及的技术有消隐、光照、纹理等。现在学习的是第4页,共34页8.1 消隐技术 消隐技术是计算机图形学的一个基本问题。问题由来:因为存在不透光的物体,因此挡住了某些物体部分的光线到达观测者,这些物体部分成为隐藏的不可见部分。投影变换将三维信息变换到二维平面上,这个过程中深度信息被丢失,生成的图形往往具有二义性.现在学习的是第5页,共34页 要消除二义性,就必须在绘
2、制时消除被遮挡的不可见的线或面,习惯上称作消除隐藏线和隐藏面,简称为消隐。计算机生成的图要能真实的反应这一问题,因此必须把隐藏部分消除。消隐结果与观察物体有关,也与视点有关。现在学习的是第6页,共34页 消隐分类根据处理场景时是直接对物体定义进行处理还是处理它们的投影图像分类 物空间消隐(Object space algorithms)投影之前直接在三维空间中对物体进行消隐。把n个对象中的每一个与其它(n-1)个对象比较,消去不可见的对象:像空间消隐(Image space algorithms)投影到二维显示空间并光栅化(图象空间)后进行消隐。现在学习的是第7页,共34页 物体空间的消隐算法
3、将场景中每一个面与其他每个面比较,求出所有点、边、面遮挡关系。以场景中的物体为处理单元;for(场景中的每一个物体)将其与场景中的其它物体比较,确定其表面的可见部分;显示该物体表面的可见部分;现在学习的是第8页,共34页 图像空间的消隐算法对屏幕上每个象素进行判断,决定哪个多边形在该象素可见。以窗口内的每个像素为处理单元;for(窗口内的每一个像素)确定距视点最近的物体,以该物体表面的颜色来显示像素 现在学习的是第9页,共34页8.2 多面体的消隐处理 多面体可分解为面,面是由边(线)围成。所以多面体的消隐问题可以看为求面与面之间的遮挡关系,进而转为求面对线的遮挡关系。在遮挡判断中,需要反复地
4、进行线线、线面之间的求交运算。现在学习的是第10页,共34页 为了提高算法的效率,需要设法减少求交的工作量。1、消除自隐藏面设V为由视点出发的观察向量,N为某多边形面的法向量。若V N0,称该多边形为后向面。若V Nxmax2)或(ymin1ymax2)(8.1)或(xmin2xmax1)或(ymin2ymax1)时 两边界盒不相交,则原来的两条边也不相交。式8.1只是一个充分条件,上图中Q1Q2和Q3Q4虽然不相交,但是他们不满足8.1。现在学习的是第14页,共34页 大量的不相交线段是可以用边界盒的方法判断出来。边界盒的方法还可用于判断两个多边形或两个多面体是否相交。现在学习的是第15页,
5、共34页 3、在观察坐标系下判断线段与多边形的前后关系。如多边形完全在线段之后,则线段完全可见,无需就线段和多边形的遮挡关系进行进一步判断。以上措施有效地减少了直线段求交的次数。现在学习的是第16页,共34页Z缓冲器算法 帧缓存来存放每个象素的颜色值 初值可放对应背景颜色的值 深度缓存来存放每个象素的深度值,即相应象素所对应的物体上的点在观察坐标系下的Z坐标值。初值取成z的极小值现在学习的是第17页,共34页Z缓冲器算法 帧缓存来存放每个象素的颜色值 初值可放对应背景颜色的值 深度缓存来存放每个象素的深度值,即相应象素所对应的物体上的点在观察坐标系下的Z坐标值。初值取成z的极小值。现在学习的是
6、第18页,共34页 z缓冲器中的单元与帧缓冲器中的单元一一对应 算法思路:先将z缓冲器中个单元的初始值置为-1(规范视见体的最小n值)。当要改变某个像素的颜色值时,首先检查当前多边形的深度值是否大于该像素原来的深度值(保存在该像素所对应的Z缓冲器的单元中),如果大于,说明当前多边形更靠近观察点,用它的颜色替换像素原来的颜色;否则说明在当前像素处,当前多边形被前面所绘制的多边形遮挡了,是不可见的,像素的颜色值不改变。现在学习的是第19页,共34页Z-Buffer算法()帧缓存全置为背景色深度缓存全置为最小Z值for(每一个多边形)扫描转换该多边形 for(该多边形所覆盖的每个象素(x,y)计算该
7、多边形在该象素的深度值Z(x,y);if(Z(x,y)大于Z缓存在(x,y)的值)把Z(x,y)存入Z缓存中(x,y)处 把多边形在(x,y)处的颜色值存入帧缓存的(x,y)处 现在学习的是第20页,共34页 Z-Buffer算法在象素级上以近物取代远物。形体在屏幕上的出现顺序是无关紧要的。优点:有利于硬件实现。缺点:占用空间大,需要一个很大的z缓冲器。现在学习的是第21页,共34页 颜色是外来的光刺激作用于人的视觉器官而产生的主观感觉,影响的因素有:物体本身 光源 周围环境 观察者的视觉系统8.4 光照技术现在学习的是第22页,共34页图图(a)经过光照计算的球经过光照计算的球 (b)不经过
8、光照计算的球不经过光照计算的球 建立数学模型模拟物体表面的光照建立数学模型模拟物体表面的光照明物理现象,按照数学模型计算物明物理现象,按照数学模型计算物体表面向视线方向辐射进入人眼中体表面向视线方向辐射进入人眼中的光亮度,即可获得像素所对应的的光亮度,即可获得像素所对应的物体上的可见点的颜色,这样绘制物体上的可见点的颜色,这样绘制出来的图形具有较强的真实感,如出来的图形具有较强的真实感,如图图 (a)(a)。这些数学模型就称为明暗。这些数学模型就称为明暗效应模型或者光照明模型。效应模型或者光照明模型。物体表面所呈现的颜色是由表面向视线方向辐物体表面所呈现的颜色是由表面向视线方向辐射进入人眼中光
9、决定的。射进入人眼中光决定的。现在学习的是第23页,共34页 当光照射到物体表面时,光可能被吸收、反射和透射当光照射到物体表面时,光可能被吸收、反射和透射,被物体吸收的部分转化为热,只有反射、透射的光,被物体吸收的部分转化为热,只有反射、透射的光能够进入人眼产生视觉效果,它们决定了物体所呈现能够进入人眼产生视觉效果,它们决定了物体所呈现的颜色。如果物体是不透明的,则透射光不存在,物的颜色。如果物体是不透明的,则透射光不存在,物体的颜色仅由反射光决定。这种情形正是简单光照模体的颜色仅由反射光决定。这种情形正是简单光照模型需要考虑的,简单光照模型只考察光源直接照射下型需要考虑的,简单光照模型只考察
10、光源直接照射下物体表面的反射情况。物体表面的反射情况。现在学习的是第24页,共34页Phong光照明模型光照明模型(简单光照模型)简单光照明模型模拟物体表面对光的反射作用 光源为点光源。反射光由环境光(Ambient Light)、漫反射光(Diffuse ReflectionDiffuse Reflection)和镜面反射光(Specular Specular ReflectionReflection)三部分组成。现在学习的是第25页,共34页环境光环境光 环境光环境光(ambient light)来自周围环境来自周围环境(如墙面如墙面)散射的光,散射的光,在空间近似均匀分布,入射至物体表面
11、后向空间各个方向均在空间近似均匀分布,入射至物体表面后向空间各个方向均匀反射出去。匀反射出去。正是由于有了环境光,场景中没有直接光照的部分才可见。eaaIIK现在学习的是第26页,共34页漫反射分量表示特定光源在物体表面的反射光中那些向空漫反射分量表示特定光源在物体表面的反射光中那些向空间各个方向均匀反射出去的光。间各个方向均匀反射出去的光。理想漫反射理想漫反射现在学习的是第27页,共34页表示特定光源在物体表面的反射光中那些遵循反射定律的光表示特定光源在物体表面的反射光中那些遵循反射定律的光。对于纯镜面,反射光和入射光对称地分布在表面法向的两侧。对于一般光滑表面,表面可理解为由许多朝向不同的
12、微小平面构成,入射光经许多微小平面反射后形成的反射光不再是单向的,而是分布于理想镜面反射方向的周围。镜面反射光将会在反射方向附近形成镜面反射光将会在反射方向附近形成很亮的光斑,称为高光现象很亮的光斑,称为高光现象.现在学习的是第28页,共34页q 光滑明暗处理(a)多边形表示的物体 (b)Gouraud明暗处理?在计算机图形学中,光滑的曲目表面常用多边形逼近表示。而光照计算时需要用到点的法矢量,如果多边形上点的法矢量总是取多边形的面法矢,则由于不同平面片之间法矢量不连续,最终绘制出来的图像看起来呈多面体状。现在学习的是第29页,共34页首先多边形的顶点法矢量不再简单的取为其所在多边形的面法矢,
13、而是取为共该顶点的所有多边形的面法矢的平均值;其次多边形内部点的法矢量也不再简单地取为多边形的面法矢,而是利用多边形顶点的法矢量通过双线性插值计算出。两个主要算法 双线性光强插值、Gouraud明暗处理双线性法向插值、Phong明暗处理现在学习的是第30页,共34页对P点进行双线性插值 Phong明暗处理(插值法矢)如图,P1、P2、P3是多边形顶点,其法矢量视为共该点的所有多边形法矢量的平均值。由P1、P2的法矢量可以线性插值计算出A点的法矢量,由P1、P3的法矢量可以线性插值计算出B点的法矢量,于是P点的法矢量可以由A、B点处的法矢量线性插值计算出,计算出P的法矢量后应用简单光照模型可以计
14、算出P点的光亮度。由于每个像素点都需要法向量插值和光照计算,Phong明暗处理计算量较大,一种简化的处理方法是先利用光照模型计算出多边形顶点处亮度,然后对亮度进行双线性插值,直接获得像素的颜色,如上图,P1、P2、P3是多边形顶点,其亮度已经计算出。A点的亮度可以由P1、P2点的亮度线性插值计算出,B点的亮度可以由P1、P3点的亮度线性插值计算出,于是P点的亮度可以由A、B点的亮度线性插值计算出。现在学习的是第31页,共34页光强(法向)插值 双线性插值由顶点的光强(法向)插值计算各边的光强(法向),然后由各边的光强(法向)插值计算出多边形内部点的光强(法向)1I2I3I4IaIbIsI扫描线
15、Y YX XO O1221121441141()()1()()1()()assbsssbbsasabaIIyyIyyyyIIyyIyyyyIIxxIxxxx现在学习的是第32页,共34页8.5 物体表面细节的模拟物体表面的细节可以分为两类:一类是由物体表面颜色色彩、明暗变化体现出来的细节,如光滑瓷砖表面上装饰图案,它主要取决于物体表面的材质属性材质属性;另一类是由物体表面不规则的细小凹凸造成的细节,如桔子表面的皱纹,它主要取决于物体本身的几何形状几何形状。在计算机中描述物体材质属性、几何形状的细节很难,如果只追求看起来象就可以了,可以通过纹理映射的方式生成物体表面的细节。纹理映射可以分为:颜色纹理映射颜色纹理映射和几何纹理映射几何纹理映射。颜色纹理映射用来在光滑表面上产生花纹图案的效果,几何纹理映射用来使物体表面产生凹凸不平的效果。一般地讲,利用纹理映射可以在不增加场景描述复杂度,不显著增加计算量的前提下,大幅度地提高图形的真实感。现在学习的是第33页,共34页现在学习的是第34页,共34页