《计算机图形学第九章PPT演示文稿》由会员分享,可在线阅读,更多相关《计算机图形学第九章PPT演示文稿(32页珍藏版)》请在金锄头文库上搜索。
1、第九章 真实感图形生成技术,本 章 重 点,1.了解真实感图形绘制的基本原理。 2.了解并掌握简单光照模型的组成及应用。 3.了解并掌握绘制真实感图形时常用的多边 形明暗处理的方法。 难点:1.如何使用简单光照模型? 2.如何绘制真实感图形?,9.1 引言 真实感图形的绘制是计算机图形学的一个重要组成部分, 它综合利用了数学、物理学、计算机科学和其它科学知识,在 计算机图形设备上生成象彩色照片那样的真实感图形。 一. 真实感图形的生成步骤 初始数据的输入 图形变换 消隐和裁剪 辉度计算 根据基于光学物理的光照模型,计算可见面投射到观察者 眼中的光亮度大小和色彩分量,并将它转换成适合图形设备的
2、颜色值,从而确定投影面上每一象素的颜色,最终生成图形。,二. 颜色 三基色原理 三基色的条件是:这三种颜色中任意二种的组合都不能产生 第三种颜色,这三种基本颜色就称之为三基色。最常用的三基色 是红色(Red)、绿色(Green)、蓝色(Blue)。 由配色实验可知,标准白光的配色方程为: F白1R1G1B 任意彩色光的配色方程为: FRRGGBB 其中,R、G、B分别为红基色单位、绿基色单位和蓝基色 单位,R、G、B分别表示合成颜色F时所需红、绿、蓝三刺激值的 大小。,三. 光照模型 物体上某一种颜色的明暗程度(辉度)需采用光照模型进行计算。简单的光照模型仅考虑光源照射到物体表面产生的反射光,
3、所生成的图形可以模拟出不透明物体表面的明暗程度,具有一定的真实感。 复杂的光照模型除了考虑上述因素之外,还要考虑周围环境光对物体表面的影响。它可以模拟出镜面映象、透明、纹理等,可使绘制的图形更逼真。,9.2 简单光照模型 当光照射到物体表面上时,会出现三种情况: 光可以通过物体表面向空间反射,产生反射光。 对于透明体,光可以穿透该物体并从另一端射出,产生透射光。 部分光将被物体表面吸收而转换成热。 上述三部分中,仅仅是反射光和透射光能够进入人眼产生视觉效果。,物体表面的反射光和透射光的强弱决定了物体表面的明暗程度,而这些光中所含不同波长光的比例则决定了物体表面的色彩。 一般我们假定入射光均为白
4、光。 假设物体不透明,那么物体表面呈现的颜色仅由其反射光决定。 通常,反射光由三个分量组成,分别是环境反射、漫反射和镜面反射。 环境反射分量是假设入射光均匀地从周围环境入射至物体表面,并等量地向各个方向反射出去,因此也可以看成是一种漫反射光,且只占一般漫反射光的很小一部分。,一. 漫反射分量表示特定光源在物体表面产生的反射光中,那些向空间各个方向均匀反射出去的光,这种反射光的计算可以使用朗伯余弦定律:对于一个漫反射体,其表面的反射光亮度和光源入射角(入射光线与表面法向量的夹角)的余弦成正比。即: I漫IpdCOS 其中 I漫为表面反射光亮度 Ipd为光线垂直入射时反射光亮度 为光线入射角 朗伯
5、余弦定律说明了当观察一个漫反射体时,人眼接收到的光亮度和观察者的位置无关。,光源,Ipd,由于物体表面除受特定光源照射外,还受到从周围 环境来的反射光的照射,这些环境光的照明效果,可以 采用环境反射分量予以模拟。 由于假定环境反射分量基于均匀入射的漫射光,因 此可以用一常数来表示。则 I漫Ipa IpdCOS Ipa为环境反射分量,一般取(0.020.2)Ipd。 对于许多物体,如石灰粉刷的白墙,纸张等,使用 上式计算其反射光亮度是可行的。但对于某些物体,如擦 亮的金属,光滑的塑料等,受光照射后会表现出特有的 光泽,如一个点光源照射一个金属球时会在球面形成一 块特别亮的区域,呈现所谓的“高光”
6、。这实质是光源在金属球面上产生的镜面反射光。,二 .镜面反射为朝一定方向的反射光,它遵守光的反射定律,反射光和入射光对称地位于表面法向的二侧。 实用时,常采用余弦函数的幂次来模拟一般光滑表面的镜面反射光的空间分布: I镜IpsCOS n 其中: I镜为观察者接收到的镜面反射光亮度 Ips为镜面反射方向上的镜面反射光亮度 为镜面反射方向和视线方向的夹角 n 为物体表面光泽度 上式表明,投向观察者的镜面反射光不仅取决于入射光,而且和观察者的观察方向有关。,A,B,Ips,光源,观察者,三. phong模型 一个实用的光照模型 phong模型便可表示如下: 上式中的I均为光谱量。为避免光谱计算,可将
7、其转换到光栅图形显示器的RGB三基色系统。这样,phong模型可表示成:,式中: 0R0,G0,B01,分别为物体颜色的R、G、B值; d 是背景光的比率,也就是环境反射分量系数, 一般取d1 (0.020.2之间) 是光源和法线间的夹角(入射角); 是视线和反射光间的夹角; 是反射强度(01); n 是物体表面光泽度。 该公式表明,一旦物体的基本颜色以及各种反射光的比例确定,那么从景物表面上某点到达观察者的反射光强弱就仅仅与光源入射角和视角有关。,四. 法线、视线和光源矢量 phong模型中,R0,G0,B0,d,n等参数都是根据作图的需要人为规定的,所以关键是计算cos和cos。而和角都是
8、一些矢量间的夹角。因此,真实感图形生成中的一个重要问题就是物体表面法矢、视线方向矢量和光源方向矢量的计算。,1三角形面片的法矢 设有一三角形面片,其顶点顺序按逆时针方向标识,其三顶 点坐标分别表示为p1(x1,y1,z1)、p2(x2,y2,z2)、p3(x3, y3,z3)。 若设三角形面片的法线矢量为 N(nx,ny,nz) 则 NP2P1P2P3 可表示为: nx(yiyj)(zizj) ny(zizj)(xixj) 其中 j nz(xixj)(yiyj),i=1,3,i=1,i=1,3,3,i+1 (i3) 1 (i=3),p1,p2,p3,N,2视线方向矢量 对于一个小三角形面片而言
9、,前面已得到了它的法线矢量N,如果我们从面片外的一个视点处 E 观察该面片,那么面片上的任一点与E连接就是该点处的视线方向。 设三角形的重心坐标为G(gx,gy,gz) 则 gx gy gz, xi,i=1, yi, Zi,i=1,i=1,3,3,3,3,3,3,G,(gx,gy,gz),E,(ex,ey,ez),N,若设视点E(ex,ey,ez)到多边形重心的视线方向矢量 为V(vx,vy,vz),则视线方向矢量的方向数可由下式求得:,Vx gx ex Vy gy ey Vz gz ez,3光源方向矢量 对于点光源,需先给定光源的位置 L(lx, ly, lz)。将这个 光源和物体表面上的任
10、一可见点 P(px, py, pz)连接的矢量 I(ix, iy, iz)作为该点处的光源方向矢量。 即: ix = px lx iy = py ly iz = pz lz,五. 一般物体的表示 对于一般的物体,如果其表面的光滑度较低,也就是镜面反射不太明显, 甚至可忽略不计(如一般的地表、橡胶制品等等)则可将前述phong模型中的镜面反射部分去掉而简化成:,又因环境反射光所占比例极小(d1),有时也可忽略不计,故可得:,六. 金属材质的表示 对于金属材料制成品可不考虑漫反射,而只考虑镜面反射。其材质感可由高光效应表现出来。计算公式可简化为:,在实际使用中,由于cos的计算不方便(要计算反射光
11、方向矢量),所以常用N(法线)和H(光源矢量和视线矢量的二等分矢量)之间的夹角余弦值来代替。,),(,),(,(,(,H可理解为朝观察方向产生镜面反射的虚拟表面的法向量。显然,H和表面的实际向量N之间的角度反映了射向观察者的镜面反射光的大小。,9.3 多边形表示的明暗处理 1. 三角形面素法 假想场景中的所有物体均由三角形面素所组成。对于平面多面体,可将其每个面划分成三角形;而对于光滑曲面体也可以采用小平面逼近的方法来近似地表示,然后将各个小平面也划分成三角形。 因为同一个三角形上的所有点必处于同一个平面上,所以所有点的法向相同,这样就可取其中一点作为代表(通常取其重心点)。根据视点、光源、物
12、体的颜色等已知的条件及物体的材质,采用前述的公式计算出该点的辉度值,并以此作为整个三角形面素的辉度值。 在计算三角形面素辉度值时,要计算三角形面素的重心坐标、法线矢量、视线矢量和光源方向矢量。其计算方法与前述的完全一样。,三角形面素的最大特点是简单、快速。特别是由规则离散数据构成的场景(如航测的地形数据,按格子点划分可直接生成相应的三角形面素)采用此法更加方便。 其缺点是真实感程度较差。特别是对于曲面容易使其失去表面的光滑性而呈现多面体状,这是由于不连续的法向量跳跃,而引起不连续的辉度跳跃。 解决上述问题的最简单的方法是采用Gouraud明暗处理方法。,2. Gouraud 方法(双线性亮度插
13、值法) Gouraud方法的思想是对离散的辉度采样并作双线性插值,以获得一个连续的辉度函数。 具体做法:首先计算多边形所有顶点的亮度,之后,把它们作为曲面光亮度的采样点,然后再利用多边形顶点的光亮度插值计算出多边形内任一点的光亮度,在这里与扫描线绘制算法结合起来,沿当前扫描线进行双线性插值。即先用多边形顶点的光亮度线性插值出当前扫描线与多边形交点处的光亮度,然后再用交点的光亮度线性插值出扫描线位于多边形内区段上每一象素处的光亮度值。, 计算多边形各顶点的法矢量 取该顶点各相邻多边形法矢量的平均值。, 计算多边形各顶点的辉度值 利用前述的phong模型公式,分别计算出I1、 I2 、I3、 I4
14、 。 采用线性插值方法,计算出Ia 和 Ib 1 y1 y2 1 y1 y4 采用线性插值方法,计算出Is 1 xb xa,Ia =, I1(ys y2) + I2(y1 ys),Ib =, I1(ys y4) + I4(y1 ys),Is =, Ia(xb xs) + Ib(xs xa),当扫描线 ys 由 j 变成 j+1时, Ia 和 Ib 的增量分别为 Ia和 Ib ,则: Ia,j+1=Ia,j + Ia Ib,j+1=Ia,j + Ib 其中 1 y1y2 1 y1y4 当 xs 由 i 增为 i+1 时 Is,i+1= Is,i + IS 其中: 1 xb xa, Ia =,(I
15、1 I2), Ib =,(I1 I4), IS=,(Ib Ia),3. Phong方法(双线性法向量插值法) phong方法的思想是对离散的法向量采样并作双线性插值, 构造一个连续的法向量函数。,N1,N2,N3,N4,Na,Nb,Ns,扫描线, 计算多边形各顶点的法矢量; 采用线性插值方法,计算出 当前扫描线与多边形交点处 的法矢量 Na 和 Nb ; 采用线性插值方法,计算出Ns ; 由Ns计算出象素点S处的辉度值 Is ; 线性插值的计算可采用前述的增量法。,简单光照明模型亦称局部光照明模型,其假定物体是不透明的,只考虑光源的直接照射,而将光在物体之间的传播效果笼统地模拟为环境光。 而整体光照明模型则不然,它考虑了物体之间的相互影响以产生整体照明效果,本 章 小 结 1. 为了使绘制的图形具有真实感,必须进一步模拟人的视觉 效果,能够表示物体表面的颜色和明暗色调。这种模拟是 通过光照模型来实现的。 2.简单光照模型是光照模型中的一种,它仅模拟光照射到物 体表面上时所产生的各种反射光。 3.phong