《第八章 真实感图形的绘制优秀课件.ppt》由会员分享,可在线阅读,更多相关《第八章 真实感图形的绘制优秀课件.ppt(107页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第八章真实感图形的绘制第1页,本讲稿共107页第三第三 确定场景中的所有可见面。确定场景中的所有可见面。(消除隐藏面算法)(消除隐藏面算法)第四第四 计算场景中可见面的颜色。计算场景中可见面的颜色。(基于光学物理的光照模型计算)(基于光学物理的光照模型计算)第2页,本讲稿共107页 光照模型光照模型并不需要精确地考虑真实并不需要精确地考虑真实世界中光线和表面的性质,而只需要在兼世界中光线和表面的性质,而只需要在兼顾精确程度和计算成本的要求下,追求更顾精确程度和计算成本的要求下,追求更好的显示效果。好的显示效果。通常设计一个通常设计一个光照模型光照模型需要考虑的主需要考虑的主要问题是要问题是照明
2、特性、表面特性和观察角度。照明特性、表面特性和观察角度。第3页,本讲稿共107页 照明特性是指可见表面被照明的情况,照明特性是指可见表面被照明的情况,主要有主要有光源光源的数目和性质,环境光及阴影效的数目和性质,环境光及阴影效应等。应等。表面特性主要是指表面特性主要是指表面表面对入射光线的反对入射光线的反射、折射或透明的不同情形,还有表面的纹理射、折射或透明的不同情形,还有表面的纹理及颜色等。及颜色等。观察角度是指观察景物时观察角度是指观察景物时观察者观察者相对可相对可见表面所在的见表面所在的位置位置。不同光照模型的区别主要在于模拟的不同光照模型的区别主要在于模拟的方法方法,实现的,实现的复杂
3、程度复杂程度,及取得的显示,及取得的显示效果效果等方面。等方面。第4页,本讲稿共107页一一般般来来说说,光光照照模模型型可可以以分分解解为为三三个个部部分分,即即漫漫射射照照明明、具具体体光光源源的的照照射射及及透透射射效效应应。具具体体光光源源的的照照明明产产生生的的效效果果又分为又分为漫反射漫反射和和镜面反射镜面反射两部分。两部分。简单的简单的光照光照模型(局部)仅考虑光源模型(局部)仅考虑光源照射在物体表面产生的反射光。照射在物体表面产生的反射光。复杂的复杂的光照光照模型模型(整体整体)要考虑周围环要考虑周围环境的光对物体表面的影响。境的光对物体表面的影响。第5页,本讲稿共107页第一
4、节第一节 漫反射及具体漫反射及具体 光源的照明光源的照明1 1环境光环境光 在在多多数数实实际际环环境境中中,存存在在由由于于许许多多物物体体表表面面多多次次反反射射而而产产生生的的均均匀匀的的照照明明光光线线,这这就就是是环环境境光光线线。环环境境光光线线的的存存在在使使物物体体得到漫射照明得到漫射照明.亮度计算如下:亮度计算如下:I=Iaa 第6页,本讲稿共107页 其中其中I是可见表面的亮度,是可见表面的亮度,Ia是环境光线是环境光线的总亮度,的总亮度,a是物体表面对环境光线的反射是物体表面对环境光线的反射系数,它在系数,它在0到到1之间之间.2漫反射漫反射具体光源在物体表面可以引起具体
5、光源在物体表面可以引起漫反射漫反射和镜面反射。和镜面反射。漫反射是指来自具体光源的漫反射是指来自具体光源的能量到达表面上的某一点后,就均匀地能量到达表面上的某一点后,就均匀地向各个方向散射出去,使得观察者从不向各个方向散射出去,使得观察者从不同角度观察时,这一点呈现的亮度是相同角度观察时,这一点呈现的亮度是相同的。同的。通常不光滑的通常不光滑的粗糙粗糙表面总是呈现出漫表面总是呈现出漫反射的效果反射的效果第7页,本讲稿共107页 Lambert定律指出,漫反射的效果与定律指出,漫反射的效果与表面相对于光源的取向有关,即:表面相对于光源的取向有关,即:Id=IpdCOS其中其中Id是漫反射引起的可
6、见表面上一是漫反射引起的可见表面上一点的亮度。点的亮度。Ip是点光源发出的入射光线引是点光源发出的入射光线引起的亮度。起的亮度。d是漫反射系数,它的取值在是漫反射系数,它的取值在0到到1之间,随物体材料不同而不同。之间,随物体材料不同而不同。是可见是可见表面法向表面法向N和点光源方向和点光源方向L之间的夹角,即之间的夹角,即入射角,它应该在入射角,它应该在0到到90之间。之间。第8页,本讲稿共107页为为了了简简化化公公式式中中余余弦弦值值的的实实际际计计算算,可可以以假假定定向向量量N和和L都都已已经经正正规规化化,即即已已经经是是长长度度为为1的的单单位位向向量量,这这样样就就可可以以使使
7、用用向量的数量积或内积。向量的数量积或内积。因为这时因为这时,于是得:,于是得:Id=Ipd(LN)将将环环境境光光线线和和漫漫反反射射的的效效果果结结合合起起来来,计计算算亮度的公式应该写成:亮度的公式应该写成:I=Iaa+Ipd()第9页,本讲稿共107页 通常认为具体光源对可见表面产生的通常认为具体光源对可见表面产生的照明作用,是随着光源与表面之间距离照明作用,是随着光源与表面之间距离的增加而下降的。设的增加而下降的。设R是光线从光源发出是光线从光源发出到达表面再返回的距离,则到达表面再返回的距离,则 I=Iaa+Ipd()/R2LN表面表面第10页,本讲稿共107页 对于平行投影,光源
8、在无穷远处,故对于平行投影,光源在无穷远处,故距离距离R成为无穷大。对于透视投影,成为无穷大。对于透视投影,1/R2也也常常有很大的数值范围而使效果不好。一常常有很大的数值范围而使效果不好。一种比较逼真的效果,可通过用种比较逼真的效果,可通过用r+k代替代替R2来获得:来获得:I=Iaa+Ipd()/(r+k)其其中中r是是光光源源到到表表面面的的距距离离,k是是根根据经验选取的一个常数。据经验选取的一个常数。第11页,本讲稿共107页3.3.镜面反射与镜面反射与Phong模型模型镜镜面面反反射射是是指指来来自自具具体体光光源源的的光光能能到到达达可可见见表表面面上上的的某某一一点点后后,主主
9、要要沿沿着着由由射射入入角角等等于于反反射射角角所所决决定定的的方方向向传传播播,从从而而使使得得观观察察者者从从不同角度观察时,这一点呈现的亮度并不相同。不同角度观察时,这一点呈现的亮度并不相同。在在任任何何有有光光泽泽的的表表面面上上都都可可以以观观察察到到镜镜面面反反射射的的效效果果。例例如如,用用很很亮亮的的光光照照射射一一个个红红色色的的苹苹果果,会会发发现现最最亮亮点点不不是是红红色色的的,而而是是有有些些呈呈现现白白色色,这这是是入入射射光光线线的的颜颜色色。这这个个最最亮亮点点就就是是有有镜镜面面反反射射引引起起的的。如如果果观观察察者移动位置,会看到最亮点也随之移动。者移动位
10、置,会看到最亮点也随之移动。第12页,本讲稿共107页指向点光源指向点光源反射方向反射方向指向观察点指向观察点镜镜面面反反射射 在镜面反射的示意图中,只有当观察者相对表在镜面反射的示意图中,只有当观察者相对表面的方向面的方向V与反射光线的方向与反射光线的方向R之间的夹角之间的夹角为零为零时,才能看到镜面反射引起的反射光线。对于不是时,才能看到镜面反射引起的反射光线。对于不是非常理想的光泽表面,例如一个苹果,反射光线引非常理想的光泽表面,例如一个苹果,反射光线引起的亮度随着起的亮度随着的增大而迅速下降。的增大而迅速下降。第13页,本讲稿共107页由由PhongBui-Tuong提提出出的的光光照
11、照明明模模型型,用用来来近近似似反反射射光光线线引引起起的的亮亮度度随随着着增增大大而而下下降降的的速速率率。n取取值值一一般般在在1到到2000之之间间,决决定定于于反反射射表表面面的的有有关关性性质质。对对于于理理想想的的反反射射表表面面,n就就是是无无穷穷大大。这这里里选选用用,是以经验观察为基础的。,是以经验观察为基础的。对实际物质来说,被镜面反射的入对实际物质来说,被镜面反射的入射光的数量是与入射角射光的数量是与入射角有关的。如果将有关的。如果将镜面反射光的百分数记为镜面反射光的百分数记为,那么就可,那么就可以将计算表面亮度的公式修改而得到:以将计算表面亮度的公式修改而得到:第14页
12、,本讲稿共107页 这里可以假定反射光线的方向向量这里可以假定反射光线的方向向量R和指向观察点的向量和指向观察点的向量V都已经正规化,即都已经正规化,即已经是长度为已经是长度为1的单位向量,于是可以简的单位向量,于是可以简单地利用向量内积计算余弦值:单地利用向量内积计算余弦值:。对。对,通常根据经验选取一个常数,通常根据经验选取一个常数来代替,这样公式可写成下面更容易计来代替,这样公式可写成下面更容易计算的形式:算的形式:第15页,本讲稿共107页 对于彩色表面,上述各公式也可以应用,对于彩色表面,上述各公式也可以应用,只需分别应用于对各颜色分量的计算。例如,只需分别应用于对各颜色分量的计算。
13、例如,选择通常的红、绿、蓝颜色系统,这时上述选择通常的红、绿、蓝颜色系统,这时上述公式中有关亮度及反射系数等,就要看做是公式中有关亮度及反射系数等,就要看做是三元向量。通过分别对各颜色分量进行计算,三元向量。通过分别对各颜色分量进行计算,就可以完成对彩色表面的亮度计算。就可以完成对彩色表面的亮度计算。第16页,本讲稿共107页第17页,本讲稿共107页第18页,本讲稿共107页第19页,本讲稿共107页第20页,本讲稿共107页4 4光的衰减光的衰减 光光在在传传播播的的过过程程中中,其其能能量量会会衰衰减减。光光的的传传播播过过程程分分为为两两个个阶阶段段:从从光光源源到到物物体体表表面面的
14、的传传播播及及从从物物体体表表面面到到人人眼眼的的传传播播。光光的的第第一一个个传传播播阶阶段段的的衰衰减减使使物物体体表表面面的的入入射射光光强强度度变变弱弱,第第二二个个阶阶段段的的衰衰减减使使人人眼眼接接受到的物体表面的受到的物体表面的反射光反射光的强度变弱的强度变弱.光在光源到物体表面的过程中的衰减光在光源到物体表面的过程中的衰减 在在同同一一光光源源的的照照射射下下,距距光光源源近近的的物物体体看起来亮,而距光源较远的物体看起来暗。看起来亮,而距光源较远的物体看起来暗。第21页,本讲稿共107页 衰衰减减比比例例为为光光的的传传输输距距离离平平方方的的倒倒数数,若若以衰减函数以衰减函
15、数f(d)来表示衰减的比例,则来表示衰减的比例,则 f(d)=1/d2 其中,其中,d为光的传播距离。为光的传播距离。这这种种变变化化规规律律对对点点光光源源来来说说是是正正确确的的,但但真真实实的的世世界界中中物物体体并并不不是是以以点点光光源源照照射射的的。为为了了弥弥补补点点光光源源的的不不足足,产产生生真真实实感感更更强强的的图图形形,一个有效的衰减函数如下所示:一个有效的衰减函数如下所示:f(d)=min(1/(C0+C1d+C2d2),1)第22页,本讲稿共107页考虑考虑f(d),得到光照明计算式,得到光照明计算式光在物体表面到人眼过程中的衰减光在物体表面到人眼过程中的衰减为为模
16、模拟拟光光在在这这段段传传播播过过程程中中的的衰衰减减,许许 多多 系系 统统 采采 用用 深深 度度 暗暗 示示 技技 术术(DepthCueing)。深深度度暗暗示示技技术术最最初初用用于于线线框框图图形的显示,使距视点远的比近的点暗一些。形的显示,使距视点远的比近的点暗一些。第23页,本讲稿共107页 首首先先,在在投投影影坐坐标标系系(为为方方便便起起见见,记记为为xyz,)中中定定义义两两个个平平面面Z=Zf,Z=Zb,分分别别为为前前参参考考面面与与后后参参考考面面,并并赋赋予予比比例例因因子子Sf和和Sb(Sf,Sb0,1)。给给定定物物体体上上一一点点的的深深度度值值Z0,该点
17、对应的比例因子该点对应的比例因子S0这样来确定:这样来确定:当当Z0Zf时(时(Z0较较Zf更近)更近),取取S0=Sf当当Z0Zf)时时,I=I,即即亮度没有被衰减。亮度没有被衰减。第25页,本讲稿共107页 当当物物体体位位于于后后裁裁剪剪面面之之后后(Z0Zb)时时,I=Idc=0,即即亮亮度度被被衰衰减减为为0。而而当当Z0Zb,Zf时时,I=S0I,亮亮度度被被部部分分衰衰减减。由由此此可可以以产产生真实效果较好的图形。生真实效果较好的图形。第26页,本讲稿共107页第二节第二节 多边形网的明暗处理多边形网的明暗处理 多边形网方法是指用若干多边形表多边形网方法是指用若干多边形表面去拟
18、合任意形状复杂形体的方法。面去拟合任意形状复杂形体的方法。对用多边形网方法表现的任意形体,形对用多边形网方法表现的任意形体,形成明暗有三种基本的方法,即成明暗有三种基本的方法,即常数常数明暗法明暗法(均匀着色法)、(均匀着色法)、亮度插值亮度插值明暗法明暗法(Gouraud着色方法)及着色方法)及法向量插值法向量插值明暗明暗法(法(Phong着色方法)。着色方法)。第27页,本讲稿共107页1 1常数明暗法常数明暗法 常常数数明明暗暗法法又又称称均均匀匀着着色色法法,就就是是对对每每个个多多边边形形表表面面,整整个个地地用用一一个个亮亮度度值值(或或颜颜色色值值)。应用这种方法,应该有以下假设
19、成立:。应用这种方法,应该有以下假设成立:(1)(1)光光源源在在无无穷穷远远处处。多多边边形形表表面面上上的的任任意意点点的的NL是常数。是常数。(2)(2)观观察察者者在在无无穷穷远远处处。多多边边形形表表面面上上的的任意点的任意点的RV也是常数。也是常数。(3)(3)该多边形表面代替了被模拟的真实表该多边形表面代替了被模拟的真实表面,而并不是对一个曲面的近似。面,而并不是对一个曲面的近似。第28页,本讲稿共107页 最后那个假设常常会产生较大误差。这最后那个假设常常会产生较大误差。这时用来逼近曲面的各多边形表面可能会被分时用来逼近曲面的各多边形表面可能会被分辨出来。由于每个小面与其相邻的
20、小面在亮辨出来。由于每个小面与其相邻的小面在亮度上常有差别,所以在显示图形时就能看到度上常有差别,所以在显示图形时就能看到这种差别,这种差别由于这种差别,这种差别由于Mach带效应而得带效应而得到加强。到加强。Mach带效应带效应指的是当亮度发生不指的是当亮度发生不连续的突然变化时,看上去会有一种边缘增连续的突然变化时,看上去会有一种边缘增强的感觉。视觉上会感到边缘的亮侧更亮,强的感觉。视觉上会感到边缘的亮侧更亮,暗侧更暗。暗侧更暗。Mach带效应是一种由人类视觉带效应是一种由人类视觉系统加工处理而产生的一种感受现象。系统加工处理而产生的一种感受现象。第29页,本讲稿共107页第30页,本讲稿
21、共107页第31页,本讲稿共107页2Gouraud方法方法亮亮度度(或或颜颜色色)插插值值明明暗暗法法通通常常被被称称为为Gouraud着着色色方方法法。增增加加逼逼近近空空间间形形体体的的多多边边形形表表面面的的数数目目,Mach带带效效应应可可以以随随之之减减弱。弱。亮亮度度(或或颜颜色色)插插值值明明暗暗法法处处理理过过程程有有以下四个步骤:以下四个步骤:(1)计算各多边形表面的法向量。计算各多边形表面的法向量。(2)计算各顶点的法向量。这里顶点的法向,计算各顶点的法向量。这里顶点的法向,指共享该顶点的所有多边形表面法向的平均指共享该顶点的所有多边形表面法向的平均值。值。第32页,本讲
22、稿共107页 如果有一条边是作为边界准如果有一条边是作为边界准备显示出来的,可以对这条边的备显示出来的,可以对这条边的每个顶点,计算两个法向量,每每个顶点,计算两个法向量,每个是一侧各边形表面法向量的平个是一侧各边形表面法向量的平均值。均值。第33页,本讲稿共107页(3)(3)计计算算各各顶顶点点的的亮亮度度。因因为为各各顶顶点点的的法法向向已已经经求求得得,所所以以已已经经可可以以利利用用上上节节讨讨论的计算亮度的公式进行计算。论的计算亮度的公式进行计算。(4)(4)计计算算各各多多边边形形表表面面上上任任意意点点处处的的亮亮度度值值,实实行行对对多多边边形形表表面面的的明明暗暗处处理理。
23、做做法法是是先先利利用用顶顶点点的的亮亮度度值值,在在边边上上做做线线性性插插值值,求求得得边边上上的的亮亮度度值值。再再用用之之在在扫扫描描线线上上做做线线性性插插值,从而求得多边形面内任意点处的亮度值。值,从而求得多边形面内任意点处的亮度值。第34页,本讲稿共107页ap第35页,本讲稿共107页3Phong方法方法法向量插值明暗法是越南人法向量插值明暗法是越南人Bui-TuongPhong提出来的,通常称为提出来的,通常称为Phong氏形成明氏形成明暗法。暗法。这个方法是对法向量进行插值,而不是这个方法是对法向量进行插值,而不是对亮度进行插值。在求得各顶点法向后,求对亮度进行插值。在求得
24、各顶点法向后,求多边形边上各点及多边形面内任意点处法向多边形边上各点及多边形面内任意点处法向所用的插值方法,与亮度插值明暗法中进行所用的插值方法,与亮度插值明暗法中进行插值计算的方法相同。因此这个插值也可以插值计算的方法相同。因此这个插值也可以很好地应用前面提到的扫描线算法。很好地应用前面提到的扫描线算法。第36页,本讲稿共107页 求得扫描线上每点的法向量后,在每点求得扫描线上每点的法向量后,在每点处实际计算亮度,可以应用任何一种光照明模处实际计算亮度,可以应用任何一种光照明模型。型。如果应用镜面反射,比起亮度插值法会如果应用镜面反射,比起亮度插值法会得到明显的改进,因为强光能更加真实地得得
25、到明显的改进,因为强光能更加真实地得到反映。即使不应用镜面反射,法向插值的到反映。即使不应用镜面反射,法向插值的结果也比亮度插值的结果好。这是因为对每结果也比亮度插值的结果好。这是因为对每一点都使用法向量的近似值,使得可以减少一点都使用法向量的近似值,使得可以减少Mach带效应引起的问题。但另一方面,对每带效应引起的问题。但另一方面,对每一点都要计算亮度,使得计算量大为增加一点都要计算亮度,使得计算量大为增加.第37页,本讲稿共107页 绘制多边形的步骤:绘制多边形的步骤:(1)计算多边形的单位法矢量。计算多边形的单位法矢量。(2)计算多边形顶点的单位法向量。计算多边形顶点的单位法向量。(3)
26、在在扫扫描描线线消消隐隐算算法法中中,对对多多边边形形顶顶点点的的法法向向量量进进行行双双线线性性插插值值,计计算算出出多多边边形形内内部部(扫扫描描线线上上位位于于多多边边形形内内部部)各各点点的法向量。的法向量。双线性插值的方法如图所示,双线性插值的方法如图所示,NA由由N1,N2线性插值得到:线性插值得到:第38页,本讲稿共107页第39页,本讲稿共107页(4)(4)利用光照明模型计算利用光照明模型计算P点的颜色。点的颜色。当扫描线当扫描线y递增一个单位变为递增一个单位变为y+1时,时,NA,NB的增量分别为的增量分别为NA,NB,即,即 当当x x递递增增一一个个单单位位(P P点点
27、沿沿扫扫描描右右移移一一个个单单位位)时,时,NPNP增量为增量为NPNP即即第40页,本讲稿共107页 Phong着着色色方方法法中中,多多边边形形上上每每一一点点需需要要计计算算 一一 次次 光光 照照 明明 模模 型型,因因 而而 计计 算算 量量 远远 大大 于于Gouraud着着色色方方法法。但但是是Phong着着色色方方法法绘绘制制的的图图形形更更加加真真实实,特特别别体体现现在在如如下下两两个个场场合合(考考虑要绘制一个三角形)。虑要绘制一个三角形)。如如果果镜镜面面反反射射指指数数n较较大大,三三角角形形左左下下角角的的顶顶点点a(R与与V的的夹夹角角)很很小小,而而另另两两个
28、个顶顶点点的的a很很大大,以以光光照照明明模模型型计计算算的的结结果果是是左左下下角角顶顶点点的的亮亮度度非非常常大大(高高光光点点),另另两两个个顶顶点点的的亮亮度度小小。若若采采用用Gouraud方方法法绘绘制制,由由于于它它是是对对顶顶点点的的亮亮度度进进行行插插值,导致高光区域不正常地扩散成很大一块区域。值,导致高光区域不正常地扩散成很大一块区域。第41页,本讲稿共107页 而而根根据据n的的意意义义,当当n较较大大时时,高高光光区区域域实实际际应应该该较较集集中中。采采用用Phong方方法法绘制的结果更符合实际情况。绘制的结果更符合实际情况。当实际的高光区域位于三角形中间时,当实际的
29、高光区域位于三角形中间时,采用采用Phong方法能产生正确的结果,而若方法能产生正确的结果,而若采用采用Gouraud方法,由于按照光照明模方法,由于按照光照明模型计算出来的三个顶点处的亮度都较小,型计算出来的三个顶点处的亮度都较小,线性插值的结果是三角形中间不会产生线性插值的结果是三角形中间不会产生高光区域。高光区域。第42页,本讲稿共107页 对于对于隐藏面隐藏面消除算法,是从消除算法,是从观察点观察点看,确看,确定哪些表面是可见的。而对于定哪些表面是可见的。而对于阴影阴影发现算法,发现算法,是从是从点光源点光源“看看”,确定哪些表面是可见的。,确定哪些表面是可见的。从观察点和从点光源都能
30、看见的表面,就是可见从观察点和从点光源都能看见的表面,就是可见的表面。从观察点可见,而从点光源不可见的表的表面。从观察点可见,而从点光源不可见的表面,就在阴影之中。面,就在阴影之中。应当注意,这种简便方法不能构造出来应当注意,这种简便方法不能构造出来自分布光源的阴影。如果要把分布光源造成自分布光源的阴影。如果要把分布光源造成的阴影也考虑进去,则必须计算阴影的的阴影也考虑进去,则必须计算阴影的本影本影和半影和半影。第三节第三节 阴阴 影影第43页,本讲稿共107页第44页,本讲稿共107页 不透明体遮住不透明体遮住光源光源时,如果光源是比较大时,如果光源是比较大的发光体,所产生的的发光体,所产生
31、的影子影子就有两部分,完全就有两部分,完全暗的部分叫暗的部分叫本影本影,半明半暗的部分叫,半明半暗的部分叫半影半影。第45页,本讲稿共107页 当要显示一个客体时,可以分别对当要显示一个客体时,可以分别对观察点及各点光源实施同样的消除隐藏观察点及各点光源实施同样的消除隐藏面的算法,分别对观察点及各点光源确面的算法,分别对观察点及各点光源确定出相应的可见部分和不可见部分,然定出相应的可见部分和不可见部分,然后把所得结果进行整理,通过正确形成后把所得结果进行整理,通过正确形成明暗而表现出来。明暗而表现出来。当要对同一物体从许多不同观察点进当要对同一物体从许多不同观察点进行观察时,对所看到的一系列情
32、形,行观察时,对所看到的一系列情形,可以可以只做一次发现阴影的计算只做一次发现阴影的计算,因为当点光源,因为当点光源相对物体是固定时相对物体是固定时.阴影实际上和观察点的阴影实际上和观察点的位置无关。位置无关。第46页,本讲稿共107页 计算阴影还有许多其他的方法。对由多边形表计算阴影还有许多其他的方法。对由多边形表面组成的客体面组成的客体,是对从光源来说是完全可见或者部是对从光源来说是完全可见或者部分可见的多边形分可见的多边形,都附加上另一个与之共面的多边都附加上另一个与之共面的多边形形,称为称为细碎多边形细碎多边形.计算细碎多边形的方法计算细碎多边形的方法,是用遮挡光线多边是用遮挡光线多边
33、形的投影形的投影,相对多边形表面相对多边形表面,用对多边形进行剪裁用对多边形进行剪裁的算法进行剪裁的算法进行剪裁.下图示意说明了这种情况下图示意说明了这种情况.图中在立方体图中在立方体和光源之间有一个不透明的三角形面和光源之间有一个不透明的三角形面,立方体立方体有两个面产生了阴影有两个面产生了阴影,在那两个面上附加上了在那两个面上附加上了细碎多边形细碎多边形.第47页,本讲稿共107页 从观察点看是可见的从观察点看是可见的,并且被细碎并且被细碎多边形覆盖的部分多边形覆盖的部分,要进行全部的明暗处要进行全部的明暗处理理,即要同时计算漫射照明及具体光源即要同时计算漫射照明及具体光源照明等结合起来的
34、效果照明等结合起来的效果.从观察点看是从观察点看是可见的可见的,但没有被细碎多边形覆盖的部分但没有被细碎多边形覆盖的部分.实际上是在阴影之中实际上是在阴影之中,应该只计算漫射应该只计算漫射照明引起的效果。照明引起的效果。第48页,本讲稿共107页光源在无穷远处光源在无穷远处投射阴影的多边形投射阴影的多边形细碎多边形细碎多边形位于立方体位于立方体顶面的阴影顶面的阴影位于多边位于多边形前面的形前面的阴影阴影完全位于阴影中的面,完全位于阴影中的面,因而并不加上细碎多因而并不加上细碎多边形边形第49页,本讲稿共107页第四节第四节 纹纹 理理 纹理纹理(texture)(texture)物体的表面细节
35、物体的表面细节 光光滑滑表表面面上上额额外外地地增增加加图图案案,当当图图案案加加上上后后,表表面面仍仍然然保保持持光光滑滑,这这一一过过程程基基本本上可用一个上可用一个映射函数映射函数描述描述;表表面面呈呈现现出出凸凸凹凹不不平平的的形形状状,这这一一过过程程可用一个可用一个扰动函数扰动函数来描述来描述.第50页,本讲稿共107页 光滑表面上描绘花纹是花纹图案在光滑表面上描绘花纹是花纹图案在客体表面上的映射客体表面上的映射,即可以表示为由一个即可以表示为由一个坐标系至另一个坐标系的变换坐标系至另一个坐标系的变换.在在纹纹理理空空间间的的正正交交坐坐标标系系(u,w)(u,w)中中定定义义一一
36、个个纹纹理理图图案案,而而在在另另一一个个正正交交坐坐标标系系(s,t)(s,t)中中定定义义了了一一个个表表面面,那那么么,通通过过一一个个函函数数变变换换,即即一一个个映映射射函函数数来来把把花花纹纹绘绘制制到表面上去到表面上去.s=s=(u,w)t=g(u,w)(u,w)t=g(u,w)或或 u=h(s,t)u=h(s,t)w=k(s,t)w=k(s,t)第51页,本讲稿共107页第52页,本讲稿共107页 最最简简单单的的映映射射,可可以以是是一一个个线线性性函数函数.如如 s=Au+B,t=Cw+Ds=Au+B,t=Cw+D纹纹理理的的定定义义可可能能不不是是由由数数学学函函数数给给
37、出出的的,这这样样的的纹纹理理包包括括一一般般绘绘制制的的图图案案及及照照片片等等其其它它形形式式的的图图案案.这这多多用用一一个个二二维维数数组组定定义义,数数组组代代表表一一个用于光栅图形显示的位图个用于光栅图形显示的位图.第53页,本讲稿共107页显显示示纹纹理理图图案案涉涉及及从从物物体体空空间间到到图图象象空空间间,以以及及从从纹纹理理空空间间到到物物体体空空间间的的变换变换,此外还要进行适当的视图变换此外还要进行适当的视图变换.我我们们可可以以用用CatmullCatmull的的分分割割算算法法来来实实现现纹纹理理的的显显示示,在在这这个个算算法法中中,曲曲面面片片不不断断地地被被
38、分分割割,直直至至每每一一个个子子曲曲面面片片仅仅包包含含一一个个象象素素中中心心为为止止,然然后后,将将子子曲曲面面片片中中心心的的参参数数值值映映射射到到纹纹理理空空间间中中,根根据据纹纹理理空空间间中中相相交交点点处处的的花花纹纹图图象象值值决决定该像素处的光强定该像素处的光强.第54页,本讲稿共107页 对于具有不同粗糙程度的物体对于具有不同粗糙程度的物体表面纹理的实现表面纹理的实现,可以通过对表面可以通过对表面法法向量进行扰动向量进行扰动,来产生凹凸不平的视来产生凹凸不平的视觉效果觉效果.Blinn Blinn通过在原始表面上增加一通过在原始表面上增加一个干扰函数个干扰函数 T(u,
39、v),T(u,v),来定义一个具有来定义一个具有粗糙纹理效果的新表面粗糙纹理效果的新表面.第55页,本讲稿共107页 设设O(u,v)O(u,v)是一个表面是一个表面,用用(u,v)(u,v)来表示该表面上的一点来表示该表面上的一点.表示此点的法向量表示此点的法向量 新表面上对应点的位量矢量为新表面上对应点的位量矢量为:第56页,本讲稿共107页 新的表面的法向量为新的表面的法向量为 第57页,本讲稿共107页 当当T(u,v)T(u,v)很小时很小时,上式中的最后一上式中的最后一项可以忽略项可以忽略,则有则有:第58页,本讲稿共107页 或或N=N+D,DN=N+D,D为一个干扰向量为一个干
40、扰向量,在这里为上在这里为上式后两项的和式后两项的和.第59页,本讲稿共107页第五节第五节 整体光照明模型整体光照明模型 局部光照明模型局部光照明模型不考虑周围环境对不考虑周围环境对当前景物表面的光照明影响,忽略了当前景物表面的光照明影响,忽略了光能在环境景物之间的传递,因此很光能在环境景物之间的传递,因此很难生成表现自然界杂场景的高质量真难生成表现自然界杂场景的高质量真实感图形。为了增加图形的真实感,实感图形。为了增加图形的真实感,必须考虑环境的必须考虑环境的漫射、镜面反射和规则漫射、镜面反射和规则透射透射对景物表面产生的对景物表面产生的整体照明效果整体照明效果。第60页,本讲稿共107页
41、 表现场景整体照明效果的一个重要方表现场景整体照明效果的一个重要方面是面是透明现象的模拟透明现象的模拟。透过透明性能很好的透明体,如玻透过透明性能很好的透明体,如玻璃窗,观察到的璃窗,观察到的景物不会产生变形景物不会产生变形。但但透过另一些透明物体,如透明球等进透过另一些透明物体,如透明球等进行观察时,位于行观察时,位于其后的景物呈现严重的其后的景物呈现严重的变形变形。这种变形是由于光线穿过透明介。这种变形是由于光线穿过透明介质时发生质时发生折射折射而引起的,因而是一种几而引起的,因而是一种几何变形。有些透明物体的透明性更差,何变形。有些透明物体的透明性更差,观察者通过它们看到的只是背后景物朦
42、观察者通过它们看到的只是背后景物朦胧的轮廓。胧的轮廓。第61页,本讲稿共107页 这种模糊变形是由于透明体表面这种模糊变形是由于透明体表面粗糙或透明物体材料掺有杂质以至于粗糙或透明物体材料掺有杂质以至于从某方向来的透射光宏观上不遵从折从某方向来的透射光宏观上不遵从折射定律而向各个方向散射。此外,透射定律而向各个方向散射。此外,透明材料的滤光特性也影响透明性能。明材料的滤光特性也影响透明性能。整体光照明模型还要模拟光在景整体光照明模型还要模拟光在景物之间的物之间的多重反射多重反射.第62页,本讲稿共107页 一般来说,物体表面入射光除来一般来说,物体表面入射光除来自光源外,还来自四面八方不同自光
43、源外,还来自四面八方不同景物表景物表面的反射面的反射。局部光照明模型简单地将。局部光照明模型简单地将周围环境对景物表面光亮度的贡献概周围环境对景物表面光亮度的贡献概括成一均匀入射的环境分量并用一常括成一均匀入射的环境分量并用一常数表示,忽略了来自环境的镜面反射数表示,忽略了来自环境的镜面反射光和漫射光,使图形真实性受到影响。光和漫射光,使图形真实性受到影响。第63页,本讲稿共107页1 1、透射光亮度的简单模拟、透射光亮度的简单模拟I=(1-tt)Ic+ttIt,0tt1 第64页,本讲稿共107页 在玻璃杯的边缘处,由于介质的厚度增在玻璃杯的边缘处,由于介质的厚度增加,因而使透明度降低。这时
44、可取下式来表加,因而使透明度降低。这时可取下式来表现这种效果:现这种效果:t tt t=t=tmin min+(t+(tmaxmax t tminmin)1-(1-)1-(1-)2 2、WhittedWhitted光照明模型光照明模型WhittedWhitted在在PhongPhong模型中增加了环境镜模型中增加了环境镜面反射光亮度面反射光亮度I Is s和环境规则透射光亮度和环境规则透射光亮度I It t,以模拟周围环境的光投射在景物表面上产生以模拟周围环境的光投射在景物表面上产生的理想镜面反射和规则透射现象。的理想镜面反射和规则透射现象。第65页,本讲稿共107页WhittedWhitte
45、d模型基于下列假设:景物表面向模型基于下列假设:景物表面向空间某方向空间某方向V V辐射的光亮度辐射的光亮度I I由三部分组成,由三部分组成,一是由一是由光源直接照射光源直接照射引起的反射光亮度引起的反射光亮度I Ic c,另一是沿另一是沿V V的的规则透射方向规则透射方向r r来的环境光来的环境光I Is s投投射在光滑表面上产生的镜面反射光,最后是射在光滑表面上产生的镜面反射光,最后是沿沿V V的规则投射方向的规则投射方向t t来的环境光来的环境光I It t 通过透通过透射在透明体表面上产生的规则透射光,射在透明体表面上产生的规则透射光,I Is s和和I It t分别表示了环境在该物体
46、表面上的镜面分别表示了环境在该物体表面上的镜面映像和透射映像映像和透射映像 第66页,本讲稿共107页第67页,本讲稿共107页WhittedWhitted模型可用以下公式求出:模型可用以下公式求出:I=I I=Ic c+k+ks sI Is s+k+kt tI It t 其中其中k ks s和和k kt t为反射系数和透射系数,为反射系数和透射系数,它们均在它们均在0 0至至1 1之间取值。之间取值。在在WhittedWhitted模型中,模型中,I Ic c的计算可采的计算可采用用PhongPhong模型,因此,求解模型的关模型,因此,求解模型的关键是键是I Is s和和I It t计算。
47、由于计算。由于I Is s和和I It t是来自是来自V V的镜面反射方向的镜面反射方向r r和规则透射方向和规则透射方向t t的的环境光亮度,因而首先必须确定环境光亮度,因而首先必须确定r r和和t t。第68页,本讲稿共107页为此可应用几何光学中的反射定律和折为此可应用几何光学中的反射定律和折射定律。设射定律。设 1 1是是V V方向空间媒质的折射方向空间媒质的折射率,率,2 2是物体的折射率,那么向量是物体的折射率,那么向量r r和和t t可由下列公式得到可由下列公式得到 第69页,本讲稿共107页第70页,本讲稿共107页第六节第六节 光线跟踪光线跟踪 光线跟踪技术是从光线投射(光线
48、跟踪技术是从光线投射(ray castingray casting)技术)技术发展而来的。光线投射的基本原理很简单,假设从视发展而来的。光线投射的基本原理很简单,假设从视点点V V通过屏幕象素通过屏幕象素e e向场景投射一光线交场院景中的景向场景投射一光线交场院景中的景物于物于P P1 1,P P2 2,P Pm m点点,那么离视点最近的那么离视点最近的P P1 1点就是画点就是画面在象素面在象素e e处的可见点处的可见点,象素象素e e的光亮度应由的光亮度应由P P1 1点向点向P P1 1V V方向辐射的光亮度决定。如果通过方向辐射的光亮度决定。如果通过V V点向屏幕上的每点向屏幕上的每一
49、象素都投射光线以求得每一投射光线与场景的第一个一象素都投射光线以求得每一投射光线与场景的第一个交点(可见点),并置相应象素的光亮度为交点处的光交点(可见点),并置相应象素的光亮度为交点处的光亮度,那第我们就得到一幅完整的真实感图形。亮度,那第我们就得到一幅完整的真实感图形。第71页,本讲稿共107页第72页,本讲稿共107页光线投射算法只能实现局部光照明效果。这光线投射算法只能实现局部光照明效果。这种方法的突出优点是不必再单独消隐,算法种方法的突出优点是不必再单独消隐,算法简单。简单。第73页,本讲稿共107页 虽然光线在景物间的反射和折射可以无限进虽然光线在景物间的反射和折射可以无限进行下去
50、,但在计算机中不可能做无休无止的光线跟行下去,但在计算机中不可能做无休无止的光线跟踪,需要给出光线跟踪的结束条件。当被跟踪的光踪,需要给出光线跟踪的结束条件。当被跟踪的光线射出画面或跟踪深度达到给定层次时,应停止跟线射出画面或跟踪深度达到给定层次时,应停止跟踪过程。考虑到被跟踪光线经多次反射和透射后会踪过程。考虑到被跟踪光线经多次反射和透射后会衰减(由于衰减(由于k ks s和和k kt t的作用),也可通过判别跟踪光的作用),也可通过判别跟踪光线对显示象素光亮度线对显示象素光亮度I I的贡献是否小于一阈值来动的贡献是否小于一阈值来动态控制跟踪深度。设颜色灰度等级为态控制跟踪深度。设颜色灰度等