第五章 光学模型及其算法实现

上传人:daj****de2 文档编号:167775832 上传时间:2022-11-05 格式:DOCX 页数:15 大小:298.99KB
收藏 版权申诉 举报 下载
第五章 光学模型及其算法实现_第1页
第1页 / 共15页
第五章 光学模型及其算法实现_第2页
第2页 / 共15页
第五章 光学模型及其算法实现_第3页
第3页 / 共15页
资源描述:

《第五章 光学模型及其算法实现》由会员分享,可在线阅读,更多相关《第五章 光学模型及其算法实现(15页珍藏版)》请在装配图网上搜索。

1、第五章 光学模型及其算法实现一、复习要求1简单光反射模型 2增量式光反射模型 3局部光反射模型 4光源模型 5简单光透射模型 6光线跟踪显示技术二、内容提要1简单光反射模型(1)基本光学原理 照度定律普通物理学中的照度定律(Lambert余弦定律):兀I=KfIL cos。,朕0,-式中,反射常数0与物体表面性质有关,也描述物体的颜色。注意:按一般规定,入射光L是从表面上一点指向光源的矢量。 材质分配事实上,一个物体的颜色就是它所反射出的光的颜色,取决于光源的颜色和该物体对光 的反射性。例如,将一个阳光下的红球放到只有黄灯照明的室内,它就变成黑的了,因为那 里没有任何红色光可被反射,而所有黄色

2、光都被吸收了。在使用光照时,原有的“绘图颜色”概念已不能适用,而采用“材质”一词。定义:材质(material)被定义为一个物体对环境光、漫反射光、镜面反射光的反射性。它 们分别以一个对应的RGB值表示,称为材质的Ambient, Diffuse, Specular分量(即光学定 律中的反射系数 Ka, Kd, Ks)。ads材质还可以包括另一种辐射性,用于描述自身发光的物体,例如汽车尾灯或夜光表。通4U 电脑书库()maito:wdg98常,灯具的表面也被看成是一个自发光体。 折射和透射Snell 正弦定律(或称折射定律)属于几何光学原理,用于确定两个物体间的入射角与 折射角的关系:sin

3、0耳1 = 2sin 0耳21式中,0表示在物体1表面处的入射角,而02表示在物体2内部的折射角;耳和耳2分 别是这两个物体的折射率。如图5-1所示,除了从同侧光源射过来的反射光外,观察者还将会看到从另一侧光源穿过物体后射出的透射光:物体2视点% 物体1TI1 物体1反射方向另一侧光源月侯入射光法矢AN同侧光源峯入射光+ N法矢XT V 透射方向视线图 5-1 光的折射和透射(2)简单光反射模型(Phong模型)的导出简单光反射模型只模拟物体表面对光的反射作用,并不考虑物体表面的透射和散射作 用。在简单光反射模型中一个点光源照射到物体表面一点,再反射出来的光,可分为三部分: 环境光(泛光)、漫

4、反射光镜面反射光。在 Phong 模型中,物体表面的光照效果是环境反射光、光源的漫反射光和镜面反射光的合成效果。环境反射光(Ambient Light):从背景物体散射出来的光。可用下式计算:I =KI1 a a其中 Ka 为环境光系数a光源的漫反射光(Diffuse Light):从一个粗糙的、无光泽的表面反射出,它与入射角有关(即符合 Lamber 定律)I2=KdIT cos 62 dL其中Kd为粗糙度d镜面反射光(Specular Reflection):从一个光滑的、明亮的表面反射出(或称单反射光):I3=KsILC0Sna其中,K为单向反射率;n控制反射光束的锥度,其值越大,光束越

5、窄,表示该表面越 s明亮(如磨光金属面 大理石)(较小可表示苹果、木质等)当a = 0 (即视线位于反射方向上)时,将呈现一个高光点hotspot)(如白光下的铜球上 的亮白点)根据 Phong 模型的定义,在多边形所有的点处按下式计算光强: I=I1+I2+I3 = KaIa + 1 2 3 a aKdILCOS0 + KsC0Sna注意:在具体计算中,反射系数Kd、Ks和Ka也可按RGB分解成三个分量:(Kdr,Kdg, Kj、 (K , K , Kb)和(K , K , Kb),各分量范围均为0.01.0。sr sg sb ar ag ab2增量式光反射模型(1)双线性光强插值法(Gou

6、rand Shading)在图像空间中,Gouraud光照模型(双线性光强插值法)计算各像素的光强如下:(1) 只在多边形的顶点处,按下式计算光强:图 5-3 求法矢的平均值I = KI + KdILcos0 (只考虑环境光和aa dL漫反射光)而顶点的法矢等于各邻面法矢的平均值:N =1 NA n ii=1(2) 对于多边形边上和内部的各点(像素)用顶点明暗度的线性插值计算出:另一种计算多边形边上和内部的各点光强的改进方法是增量法,它利用扫描线的相关性 来简化计算如下:对于边上的点:IS, y+1 = IS, y + “AB,It, y+1 = It, y + AIad对于内部的点:Ix+1

7、, p = Ix, P + AIST,Gouraud 算法优缺点:算法简单,计算量小。但不能再现高光。适用粗糙表面(2)双线性法向插值法(Phong Shading)在图像空间中, Phong 光照模型(双线性法向插值法)计算各像素的度如下顶点的法矢等于各邻面法矢的平均值,即丄Nnii=1对于多边形上和内部的各点(像素),用顶点法矢的线性插值。计算公式如下:的切平面法矢的近似值Phong算法优缺点:真实感强,但计算量较大,适用光滑表面目前大多数渲染软件采用Gouraud和Phong光照模型作为Quick(快速)和Full(完全) Rendering,能满足一般真实感显示要求。Gouraud 和

8、 Phong 光照模型两者比较如下:Gouraud ShadingPhong Shading双线性光强插值法适用于漫反射光(粗糙表面)马赫带效应较重双线性法向插值法适用于镜面反射光(特别是有高光的金属表面)马赫带效应较轻生成多面体真实感图象效果差 高光域准确速度较快(算法简单、计算量小) 速度较慢(计算量较大)然而,这类简单光照模型共同存在下列的问题:由于光强函数的一阶导数不连续,线性插值法均有马赫带效应(光照效果在数值上不连 续)。 透明效果需要另作处理才行,而且不能产生阴影。注:实用 Phong 光照模型的计算公式要考虑随距离的线性或平方反比衰减(3) 加速算法在简单的光线跟踪算法中,每条

9、射线都要和所有物体求交,然后再对所得的全部交点进 行排序,才能确定可见点。因此对于每条射线,计算复杂度都是O(n)以上。当物体个数较 少时,计算量还可以接受。但是当环境较复杂,物体个数较多时(例如成干个原子组成的分 子模型或成万个多边形构成的建筑物模型),简单的光线跟踪算法的处理速度就无法接受了。 然而,对于每条射线,它实际上只与少数几个物体有交,与绝大多数物体根本不相交。也 就是说,对于复杂环境,大多数求交计算都是无效运算。我们可以通过一些途经来减少这种 无效运算。这就是加速算法所要考虑的主要问题。一般说来,加速算法是通过预先把物体按 空间位置适当地组织起来,以便在绘制时缩小搜索范围,减少排

10、序时间来提高效率的。常用 的组织方法有包围体树、自适应八叉树和三维立方体阵列。3局部光反射模型局部光反射是由光源直接照射到射入点,经漫反射和镜面反射到视点而形成。4光源模型在计算机图形学中,光源模型的三个基本因素是几何形状、光强分布和光谱分布。有向光源(directed lights):方向保持不变,即为平行光(发射出半圆柱面光); 光源强度不作衰减。如太阳光、远光源。点光源(pointlights):方向是从光源位置到面片中心,发射出圆球面光;光强分布 是各向同性的,要考虑随距离的线性或平方反比衰减(falloff);可以产生阴影。聚光灯(sp。tlights):发射出圆锥形光束;要考虑随距

11、离的线性或平方反比衰减;可 以产生软阴影区域。从几何形状上讲,一般电灯(钨丝白炽灯)理想化成点光源,而且光强分布是各向同性 的;一般日光灯(长管灯)可理想化成线光源;经过特殊设计的吸顶灯可理想化成面光源。5简单光透射模型1) 透明效果的模拟方法 透射计算公式最简单的透明算法不考虑折射的影响,即假定光线穿过透明体表面时不改变方向,此时则有:(如图12.11C所示)ITR = (1 - KT)Ireflect + KTItransmit,其中 KT 丘0, 1、Kt称为物体的透明度(Transparency),可取值范围从0 (不透明)至1.0 (全透明)。光线照 射到透明体表面的两个交点A和B处

12、的光强分别是反射光强It和透射光强It。reflecttransmit显然,在全透明场合下TR= K IT transmit(即 kt = 1),图 5-6 光的透射 只有光的透射效果:这也称为规则透射。注意:1.在颜色四元组RGBA中,ALPHA = 1 - KT,称作不透明度。2.对不透明物体,将会在地面上投射出阴影(Shadow)。 漫透射、理想透明和半透明一个点光源照射在透明体表面上,将可能产生如下三种光透射作用:对于表面粗糙的透明物体上,将形成漫透射。透射出来的光将朝着各方向均匀地散 射,此时透射光强It与入射光强IL及入射角的余弦cose成正比,即:It = Ktcose 式中,K

13、t称为透射系数,可取01.0。 进入理想的透明物体的透射光只沿折射方向传播,而在其他方向都看不见透射光。 进入一般较透明(或半透明)物体的透射光也往其他方向传播一部分透射光,并且 某方向透射光的强度随着偏离透射方向(即下述卩角的增大)而明显地衰减。It = KtILCOSntP式中,IL是光源的强度或入射光强;Kt称为透射系数,可取01.0。幕值nt用于控制 透射光束的锥度,其范围12000;其值越大,光束越窄。卩为视线V与透射方向T之间的 夹角。2) Wittded 光透射模型Whitted光透射模型是1980年Whitted提出的,并运用在光线跟踪算法的实现中。它考 虑了环境光、漫反射光和

14、镜面反射光(即Phong模型)以及从环境反射或透视到视线的光。 具体计算如下:I = K I + 工 I (K cos 0 + K cos ns a) + k I + KIpa aLidss st ti=lK + Kd丫I (L N) + KI (R V)ns + KI + KtIta a d Li is Li is s t tii式中,第一部分包含了 Phong模型中的所有参数;第二部分模拟了场景光投射在光滑 表面上产生的理想镜面反射作用(即a = 0),K为镜面反射率;第三部分模拟了场景光通过s透明体表面产生的规则透射作用(即不考虑折射时的全透明),K为透射系数。I和I分别 tst 表示场

15、景中其他物体反射和透射过来的光在该物体表面上的镜面映像和透射映像,如图所 示。图 5-7 透明体表面上的镜面映像和透射映像3) Hall 光透射模型Hall整体光照模型要比Whitted模型更为完善,还考虑沿着反射方向和折射(透射)方 向的散射现象,以模拟“透射高光”。在 Hall 整体光照模型中,假定光源和视点都在无穷远处,使光线和视线方向简化为常 向量。计算公式如下:I = I + Ip 局部 全局(1) I= KaIa +局部 a a=IK + K力Ia a di即包括环境光、漫反射光、XI (K cos 0 + K cos ns a + K cos nt p)Li dsti(L N)

16、+ KLiXI (R V)ns + K 工 I (T V) nt s Lit Liii 镜面反射光和透射光。即由其局也物K体反射或透射在透明体表面上产生的沿着视线方向的光。6光线跟踪显示技术1) 基本光线跟踪算法Ray-Tracing 算法的基本思想如下:在物体空间中,假定视点取在Z轴上,XOY平面取作为投影屏幕(其与显示器屏幕的像 素布局一一对应),通过跟踪多个光源对各像素的贡献而计算出它们的色彩明暗度。在光线遇到某一物体(不是背景)时,应继续跟踪光线,而不管光线的强度或深度如何。光线跟踪算法包括下列的三个步骤:步骤一、从视点穿过某像素P发出一条射线R,它逆着光线方向跟踪所有光源在这个 可见

17、点(即离视点最近的交点)上产生的色彩明暗度:IA = 1局部+ 1全局其中I局部和I全局的具体计算按步骤二。 局部 全局步骤二、 首先计算出可见点处的曲面法矢(并存储它,以供备用),然后查找表面数据表(其含有表面的颜色属性、粗糙度、反射率、透明度等)进行计算:Hall整体光照模型)1局部=昭+咏罰+ Kscosnsa + Kcos切 即包括环境光、漫反射光、镜面反射光和透射光。1 全局=KrIr+ KtIt即由其他物体反射或折射到视线的反射或透视方向的光。步骤三、判断可见点是否处在阴影(shadow)中:从该点向光源引射线。若射线与某个不 透明的物体相交,则该点在阴影中(此时只取环境光),而返

18、回到步骤一。光线跟踪法的特点:a. 同时处理消隐和渲染,并有透明效果和阴影生成。b. Ray-Tracing 本质上是一种递归算法(层次等于物体个数),效率极高 算法加速方法:事实上每条射线只与少数几个物体相交。若预先将物体按空间位置适当地组织起来(如 采用包围体),则可缩小搜索范围,避免不必要的求交运算。树:仅当射线与根结点有交时 才进行它与子结点求交优缺点:光线跟踪法是目前最常用的高级渲染技术之一,但没有考虑物体表面之间的 漫反射(如辐射度计算方法)。在光线跟踪算法中,跟踪光线的终止条件有以下四个:1) 被跟踪的光线与光源相交;2) 被跟踪的光线遇到背景;3) 被跟踪的光线对某交点处的光强

19、贡献趋于零;4) 光线跟踪的深度已经很深了。(2) 光线与物体求交与坐标系平面求交光线与坐标系平面的交点可以由下面向量方程求出:S+td二x I+y Jii由于 s=xI+yJ+zK, d=xf+yJ+zK,可推出:x + tx = xsdi0,光线与平面相交如果t0,光线与平面相交如果t0,光线的反向延长线与平面相交 与球面求交体,右图为一半径为R,中心点为(xc,yc,zc)的球 (x,y,z)是球面上的任意一点。设向量 c=xcI+ycJ+zcK, p=xI+yJ+zK 贝球体的向量方程为:|p-c|=R令 r(t)=s+td 与该平面相交,贝 |s+td-c|2=R2展开得:|d|2t

20、2+2|s-c|d|t+|s-c|2=R2令 A=IB|2, B=k-clldl, C=k-c|2-R2,则At2+2Bt+C=0B + B2 ACA 0 不相交B2 - AC 0 两个(可能的)交点3) 光线跟踪中的简单阴影定义5-1:阴影(shadow)是指景物中那些没有被光源直接照射到的暗区。阴影生成从原理上来说非常简单:只有那些从视点可见的、而从光源不可见的面(多边 形)才会落在阴影内。换句话说,若将视点放在光源处,那末它看不到所该光源产生的阴影。 因此,阴影生成的一般性算法如下:步骤一、将光源位置作为视点,利用消隐算法求出它的不可见面(包括背面和被其他面 遮挡的面)和可见面。这样,将

21、所有面分为两大类。步骤二、在实际的视点处,对上述面进行消隐,并选用一种光照模型双重可见面的明暗 度,而对上述不可见面的可见部分采用环境光,形成阴影。步骤三、将不可见面的可见部分投射到地面上,即表示影线/而光职全阴議 半阴老子(shadow)。注意:仅当存在某一投影面(如地面、墙面)时,物体才有可能在该平面上投射出其影子。定义5-2:阴影可分为全阴影(whole-shadow)和半阴影 (half-shadow)两种。全阴影就是物体表面上那些没有被所有光 源直接照射的部分,而半阴影是指物体表面上那些只被一部分 光源直接照射的部分。定义5-3:全阴影加上在它周围的半阴影而组成一个软阴影 (soft

22、-shadow)区域,使影子边缘有较缓慢的过渡。图 5-11 半阴影区显然,单个点光源只能形成全阴影,而半阴影则是由多个 点光源或线光源、面光源产生的,如图5-11所示。由于半阴影的计算量较大,许多场合下(除聚光灯外)我们只考虑由点光源产生的全阴影。 因为光源在物体表面上产生的阴影区域均为它们的不可见面。若取光源作为视点,那么任何 隐藏面消除算法都能用于阴影计算。在实际应用中,还需根据阴影计算的特点考虑如何减少 其时间和空间耗费。三、例题分析例1设n=I+J+2K为通过点P0=(1,1,0)的平面的法线矢量。试判断s=-2I+J+2K, d=I-K的光 线是否与平面相交。解答:因为 n d =

23、 1 x 1 +1 x 0 + 2 x ( 1) = 1 丰 0故而可以引入:P 二(x - x ) I + (y - y ) J + (z - z ) K 0 s 0 s 0 s 二1 - (-2)I + (1 -1) J + (0 - 2)K二 31 - 2 K=10,光线与平面相交n p1 x 3 +1 x 0 + 2 x (-2)t =n d一 1所以交点是(xs+xd,y$+yd,zs+zd)=(-1,1,1)四、习1写出简单光反射模型近似公式,并说明其适用范围及能产生的光照效果。 2写出线光源的光强公式及其积分算法。3. 试描述Witted光透射反射模型和Hall光透射模型。 4简

24、单叙述光线跟踪算法。5.试描述光线与几种常见物体面的求交算法。五、解题指导与习题解答1.答案:简单光反射模型只模拟物体表面对光的反射作用,并不考虑物体表面的透射和散 射作用。在简单光反射模型中一个点光源照射到物体表面一点,再反射出来的光,可分为三 部分:环境光(泛光)、漫反射光镜面反射光。根据Phong模型的定义,在多边形所有的点处按下式计算光强:I=I1+I2+I3 = KI +123 a aKdILCOS0 + 5吨在 Phong 模型中,物体表面的光照效果是环境反射光、光源的漫反射光和镜面反射光的 合成效果。2.答案:线光源的光强公式如下:其中爲表示漫反射系数,曲表示漫反射率,是来自光源

25、的光亮度,回是成朝 辐射方向的投影角。是被照射表面的法向,“是单位光线向量。在一般情况下,上述公式只能用数值算法做近似的计算。其实质是用多个点光源来近似 线光源。3.答案:Whitted光照模型是一种全局光照模型,它模拟了由环境引起的镜面反射分量和 规则透射分量。在这个模型中,假定被照明物体的表面非常光滑,从而可以用理想镜面反射 分布函数来模拟镜面反射;同样,对于透射也采用理想的情况。它可以用如下公式描述:=4 +厶+其中是局部光照模型计算的反射光亮度,二比瓦厶表示镜面反射分量,表示透射分量。勺表示衰减系数,表示镜面反射系数,瓦 表示镜面反射率,勺是环境的光亮度,帆环境的透射光亮度,尺表示光线

26、向量的规则透射向量。Hall 模型对 Whitted 模型进行了改进,它的特点是:1)引入光源引起的规则透射分量,用以模拟“透射高光”。2)显式表示表面光谱漫反射率、光谱镜面反射率和光谱规则透射率,且用菲涅耳反射 函数和折射函数分别表示镜面反射率和透射率。3)用反映材料滤光特性的函数表示传输过程中的衰减因子。以上特点使 Hall 模型成为整体光谱光照模型,并能表现更精致的照明效果。4. 答案:在物体空间中,假定视点取在Z轴上,XOY平面取作为投影屏幕(其与显示器屏幕 的像素布局一一对应),通过跟踪多个光源对各像素的贡献而计算出它们的色彩明暗度。光线跟踪算法包括下列的三个步骤:步骤一、从视点穿过

27、某像素P发出一条射线R,它逆着光线方向跟踪所有光源在这个可见点(即离视点最近的交点)上产生的色彩明暗度:IA = I 局部 + I 全局其中I局部和I仝局的具体计算按步骤二。局部全局步骤二、 首先计算出可见点处的曲面法矢(并存储它,以供备用),然后查找表面数据表(其含有表面的颜色属性、粗糙度、反射率、透明度等)进行计算(Hall整体光照模型)1局部=昭+佃辭+ Kscosnsa + /叫卩)即包括环境光、漫反射光、镜面反射光和透射光。1 全局=KrIr+ KtIt即由其他物体反射或折射到视线的反射或透视方向的光。步骤三、判断可见点是否处在阴影(shadow)中:从该点向光源引射线。若射线与某个不 透明的物体相交,则该点在阴影中(此时只取环境光),而返回到步骤一。5. 答案: 见本章光线与物体求交部分详述。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!