计算机图形学课件第七章-真实感图形生成技术.ppt
1,计 算 机 图 形 学,Computer Graphics,王汝传,南京邮电大学 计算机学院,2,7.1 概述一、真实感图形定义 真实感图形的显示是使用计算机产生同照片同样的黑白图像或彩色图像。计算机图形学研究目的最终是用计算机生成图形,具有真实感使物体和自然界中物体 相似,包括颜色、纹理、明暗等。,第七章 真实感图形生成技术,第七章 真实感图形生成技术7.1 概述7.2 简单光照模型7.3 明暗处理方法7.4 阴影生成方法7.5 整体光照模型和光线跟 踪算法7.6 纹理处理方法7.7 图形颜色和颜色模型,3,二、真实感图形应用1、产品外形设计2、飞行驾驶模拟训练3、动画制作、城市规划、医学气象等三、真实感图形特点1、反映物体表面颜色和亮度2、表现物体质感3、能通过光照下物体的阴影,改善场景的深度感和层次感4、能模拟透明物体的透明效果和镜面物体的镜像 效果,4,四、影响真实感图形因素1、物体本身形状2、物体表面特征:材质、感光度,纹理等3、照射物体光源4、物体与光源相对位置5、物体周围环境,5,7.2 简单光照模型 一个物体表面为什么会出现明暗、颜色等,主要由于物体发光达到人眼的结果。光照在物体表面上有三种情况:1、反射光:光通过物体表面被反射;2、透视光:对于透明物体光穿过该物体而从另端射出;3、光被物体吸收而变成热。我们视觉效果是反射光和透视光。,第七章 真实感图形生成技术7.2 简单光照模型7.2.1 环境反射光7.2.2 漫反射光7.2.3 镜面反射光7.2.3 Phong光照模型,6,下面讨论不包含透射光的简单光照模型。假设物体不透明,那么物体表面呈现的颜色仅由其反射光决定,通常人们把反射光考虑成三个分量的组合,这三个分量分别是:环境反射漫反射镜面反射,7,7.2.1 环境反射光 环境反射光是由于邻近物体所造成的光多次反射所产生的,其光亮度可表示为:Ie=IaKa式中 Ie-物体对环境光反射亮度;Ia-环境光亮度;Ka-物体表面对环境光反射系数(0Kal)。,8,7.2.2 漫反射光 漫反射光是由特定光源在物体表面反射光中那些向空间各方向均匀反射出去的光。设物体表面在P点法线为N,从P点指向光源的向量为L,两者夹角为。于是,点P处漫反射光的强度为:Id=Ip kd cos式中 Id 表面漫反射光的亮度;Ip 入射光的光亮度;kd漫射系数 0Kd l;入射光线与法线间夹角,0/2。,当物体表面垂直于入射光方向时(N、L方向一致)看上去最亮。当越来越大,接近900时,则看上去越来越暗。,9,7.2.3 镜面反射光 上面讨论漫反射是一个粗糙无光泽表面,如粉笔。如果一个点光源照射到一个抛光的金属球时,在球上形成一块特别亮的区域,呈现所谓“高光”。它是光源在金属球面上产生的镜面反射光。对于一个理想的镜面,入射到表面上的光严格地遵守光的反射定律朝一个方向镜面反射方向反射出去;对于一般光滑表面,由于表面具有一定粗糙度,其表面实际上是由许多朝向不同微小表面组成,其镜面反射光散布在反射方向周围。,10,BTPhong1975年提出来用余弦函数的幂次来模拟镜面反射光的空间分布,可表示为:IsIpKs cosnIs 观察者接收到镜面反射光亮度;Ip 入射光的亮度;镜面反射方向和视线方向的夹角;n 镜面反射光的会聚系数(与物体表面光滑度有关)一般取12000;Ks镜面反射系统(与材料性质和入射光波长有关)。表面越光滑,其镜面反射光会聚程度较高,n值较大。,与漫反射不同,镜面反射光与物体颜色无关。,11,7.2.4 Phong光照模型综上所述,从视点观察到物体表面上任一点亮度I应为环境光、漫反射光、镜面反射光的总和,即:IIeIdIs 即:IIe KaIp(Kd cosK s cosn),当光源不只一个,而是有m个光源,则上式可写为:这就是简单光照模型。,12,令L为入射光方向单位矢量,N为表面法线单位矢量,R为反射光方向单位矢量,V为视线方向单位矢量,如图,则余弦函数可用矢量点积来表示,即(LN)=cos(RV)=cos 即 IIa KaIp Kd(LN)K s(RV)n,对于彩色显示,可把光源分成红、绿、蓝(RGB)三基色光,对每一基色分别用相应算式来计算,即 Ir Ia Kar Ip Kdr(LN)Ks(RV)n Ig Ia KagIp Kdg(LN)Ks(RV)n Ib Ia KabIp Kdb(LN)Ks(RV)n上式中镜面反射光一项对三个式子都是一样。,13,7.3.1 概述 明暗处理就是使物体表面光强度强弱表现。上一节介绍了简单照明模型,只要知道物体表面某一点的法线就可以算出该点反射光强度。对于表面是弯曲的形体,计算出曲面每一点法线,然后再按照模型来计算每一点明暗程度,计算工作量太大。,第七章 真实感图形生成技术7.3 明暗处理方法7.3.1 概述7.3.2 哥罗德强度插值法7.3.3 Phong法向插值法,7.3 明暗处理方法,因此,用平面多面体来逼近弯曲表面形体。对于平面多边形来说,由于它的每个表面都是平面,而在同一平面上,任一点法线都是一样,因此,只要用一个固定的强度值来表示面上所有点(即整个面)的明暗程度就可以了,这样使得计算工作大为简化。,14,7.3.1 概述 为了不使光强度急剧变化,我们用下面两种方法。,7.3 明暗处理方法,1、哥罗德(Gouraud)强度插值法 2、冯(Phong)法向插值法,15,7.3.2 哥罗德(Gouraud)强度插值法 1、计算多边形每个顶点法向量 求出与该顶点相邻的多面体各面的法向平均值,作为该顶点法向。如图P点法向量为:Np=(N1+N2+N3)/3 其中N1、N2、N3分别是以 P为公共顶点的三个面的外法向;Np是 P点外法向。2、计算各个顶点的光亮度I1,I2,Im,16,7.3.2 哥罗德(Gouraud)强度插值法 3、用插值方法计算出多边形上任一点的光强度,如图:,4、用扫描线方法沿水平方向插值来计算出多边形内部各点的光亮度值,例如点R的光亮度可以用下式计算:,17,利用哥罗德法思路简明,计算方便,但对于镜面反射处理不理想,我们可用下面方法处理。7.3.3 冯(Phong)法向插值法 我们上面介绍方法是以光强度进行插值,但对于镜面反射光亮度往往不理想,而Phong法是以法向进行插值,其原理和上面一样,所不同的是在上面插值公式中用N代替I即可,N是一个矢量,I是标量,所以法向插值计算量大一些,但产生效果好,比较真实,能显示出镜面特亮区域。,18,7.4 阴影生成方法,第七章 真实感图形生成技术7.4 阴影生成方法7.4.1 概述7.4.2 自身阴影生成方法7.4.3 投射阴影生成方法,7.4.1 概述1、定义:阴影是指景物中没有被光源直接照射的暗区。在场景中阴影显示出来,可增强图形立体感,使得计算机生成画面更具有真实感。2、阴影分类(1)自身阴影(2)投射阴影,19,投射阴影又分为:本影和半影1、本影 物体影子中间全黑的轮廓分明部分是本影。本影是没有被光源照射部分。2、半影 本影周围半明半暗部分是半影,半影是一部分被光源照射,一部分未被光源照射。本影计算复杂,一般只考虑半影计算。,20,7.4.2 自身阴影生成方法 生成过程如下:(l)首先将视点置于光源位置,以光线照射方向作为观察方向,对在光照模型下的物体实施消隐算法,判别出在光照模型下的物体的“隐藏面”并在数据文件中加以标识;,(2)然后按实际的视点位置和观察方向,对物体实施消隐算法,生成真正消隐后的立体图形;,(3)检索数据文件,核查消隐后生成的图形中,是否包含有在光照模型下的“隐藏面”。如有,则加以阴影符号标识这些面。,21,7.4.3 投射阴影生成方法,1、影域多面体方法,2、Z缓冲器方法,3、光线跟踪法,22,7.4.3 投射阴影生成方法1、影域多面体方法 基本思想:先求出景物空间中光线被该物体轮廓多边形所遮挡的区域,即影域多面体。然后 再判断其后物体是否在该影域内,若在影域内为阴影。,这个算法与扫描线算法相结合就容易实现。,23,7.4.3 投射阴影生成方法2、Z缓冲器方法 由于阴影是光线照射不到面观察者却可见到的区域,换句话说,阴影是相对于光源不可见而观察点却可见到的区域。所以在画面中生成阴影的过程基本上相当于二次消隐,一次是对光源消隐,另一次是对视点消隐,Z缓冲器算法就是基于这个原理。,该法的优点:能处理任意复杂的景物,可以较方便地在光滑曲面上生成阴影,且计算量小,程序简单;,缺点:阴影缓冲器的存储耗费较大。,24,7.4.3 投射阴影生成方法3、光线跟踪法 要判断某点是否在阴影内,从该点的光源发一条射线,若与物体不相交,则说明不在阴影内,若与物体相交,说明在阴影内。,这种方法比较易于实现,且可以生成十分真实的阴影,但计算工作量较大。,25,7.5 整体光照模型和光线跟踪算法,前面介绍了简单光照模型,所考虑条件是对于不透明物体,若是透明物体,简单光照模型公式就不适合了。我们先考虑透明性物体简单模型。7.5.1 透明性简单模型条件:1、透明体不应折射 2、无漫透视,光通过透明体时不产生模糊变形,26,7.5 整体光照模型和光线跟踪算法,7.5.1 透明性简单模型如图,A是透明体,Pt是视线穿过透明体与背后物体B的交点。此时由P点光到达观察者光强度为:I(lt)Ic十tIt 0t1 Ic为 P点光亮度,t为透明系数,t0时对应不透明面t1为透明面,Ic和It可用前面介绍的Phong模型计算。,这种方法无法模拟光通过透明介质时产生折射现象,须用下面介绍的整体光照明模型。,27,7.5.2 整体光照模型 景物表面某点P向观察点辐射的光亮度由三部分组成,依下式求出。II1十Is Ks It Kt式中,I1光源直接照射引起的反射光亮度,按照 Phong模型来计算 Is在镜面反射方向上其它物体向点P轴射的光亮度;It在折射方向上其它物体向点P辐射的光亮度;Ks景物表面的反射系数;Kt景物的透射系数。,Is、It的确定要求助于光线跟踪算法。,28,7.5.3 光线跟踪算法如何求象素点P亮度,由三部分组成:1、光源直接照射及环境光所产生局部光亮度。2、反射方向来的光对 A的作用。3、透射方向来的光对A点的作用。,29,A点光强度为:IAI1AIsAKsAItAKtA,为了求IsA和ItA,必须求IB和IC:IB I1BIsBKsBItBKtB IC I1CIsCKsCItCKtCIsC 可由连续跟踪内反射光线6求得,ItC背景光。,最后,用 IsA IB;ItCIC代入求 A点光强度公式,即可求得A点光强度。,30,跟踪光线结束条件,光线与光源相交 光线与背景相交 被跟踪的光线对着交点处光强度作用趋近于0,31,7.6 纹理处理方法7.6.1 概述纹理:物体表面的细节,分颜色纹理和几何纹理。颜色纹理:指光滑表面上附加花纹和图案;几何纹理:景物表面微观上呈现的起伏不平;,颜色纹理用纹理映射来处理,几何纹理用扰动函数来描述。,32,7.6.2 纹理映射纹理映射将平面图案景物表面图案屏幕空间如图,实际上是坐标间转换。设花纹在(u,w)坐标系中,景物表面在(,)中,即:f(u,w),g(u,w)或相反 ur(,),w s(,),一般映射函数为线性函数,即 Au十B CwD式中A,B,C,D可由两个坐标系中已知点之间关系获得,33,7.6.2 纹理映射,(a)(b)(c),将(a)中所示图案映射到图(b)中所示球面片上,球面片位于第一卦限内,图案是由相交直线组成的简单二维网格,球面片的参数表示为:,xsin sin 0/2 y=cos/4/2 z=cos sin取线性映射函数,Au十B,CwD,34,假定四边形图案的四角映射到四边形曲面片四角片,即u0,w0,在0,/2u1,w0,在/2,/2u0,w1,在0,/4u1,w1,在/2,/4可解得 A/2,B0,C一/4,D/2故由uw空间在空间的线性映射函数为:u/2,/2 w/4 由空间至uw空间的逆映射为:u/(/2)w=(/2)/(/4),35,将uw空间中的一条直线映射到空间,然后换算到XYZ坐标系,运算结果如表71所示,完整的结果如(c)所示。,表7.1 空间直线换算表,36,7.6.3 扰动映射扰动:就是在表面每一点上沿其表面法向方向附加一个新的向量,这一向量比较小,不影响原表面的大致形状,但对其表面该点处的法向产生较大扰动作用,结果使曲面变得非常粗糙,通过恰当选择扰动函数,可使生成图形具有不同的皱折纹理效果。,37,7.7 图形颜色和颜色模型 一个真实感图形离不开颜色,所以说真实感图形与颜色有密切关系,但对于颜色认识本质直到现在还不十分清楚,它涉及到物理学、化学、心理学及生理学。,7.7.1 颜色的性质1、颜色本质 颜色与物体本身、光源、周围环境及观察者视觉有关系。人们之所以能见到物体,是因为物体本身发出光,另外亦能见到其它的一些物体,这是因为它们能反射光。一张白纸看起来为白色,就因为它在白光照射下,把所有颜色都反射掉了,什么光也没有被吸收。如果用蓝色灯光照射白纸,这纸看起来呈蓝色。,38,2、颜色的几个术语(1)在心理生物学上a、色彩:颜色的“色彩”b、色饱和度:颜色的纯度。即单色光中掺入白光度量。c、明度(亮度):光强度,(2)在心理物理学上a、主波长:观察光线所见颜色光的波长,对应于色彩b、色纯度:光的色饱和度c、亮度:颜色光强度,(3)颜色三刺激理论 三刺激理论基于这样一个假设:人类眼睛的视网膜中有三种锥状视觉细胞,分别对红、绿、蓝三种光最敏感。彩色图形显示器(CRT)上每个像素都是由红、绿、蓝三种荧光点组成。这是以人类视觉颜色感知的三刺激理论为基础设计的。,39,7.7.2 CIE色度图1、引言 彩色CRT用红、绿、蓝三种基色来表示,即RGB加色系统。用这三种颜色的任意两种不能产生第三种颜色,称这三种颜色为原色。用这种原色的混合匹配能产生光谱中的每一种颜色,其匹配过程可表示为:C=rR+gG+Bb 但是有不少试验光无法用三色光相加的方法获得匹配,例如蓝绿色,所以人们希望找出另一组原色来替代R、G、B,即CIE色度图。,各种波长光的RGB匹配系数,40,7.7.2 CIE色度图2、CIE色度图 1931年国际照明委员会(CIE)规定通用二维色度图和三原色X、Y、Z用于颜色匹配。X、Y、Z为消除色度坐标中负值而设计,实际上并不存在,光谱中任何波长光都可以用这三种标准原色来匹配。,CIE标准观察者曲线,