《真实感图形生成参考 幻灯片.ppt》由会员分享,可在线阅读,更多相关《真实感图形生成参考 幻灯片.ppt(57页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、真实感图形生成参考 第1页,共57页,编辑于2022年,星期一引言引言对于场景中的物体、要得到它的真实感图形,对于场景中的物体、要得到它的真实感图形,就要对它进行透视投影,并消除隐藏面,然就要对它进行透视投影,并消除隐藏面,然后计算可见面的光照明暗效果,最后在计算后计算可见面的光照明暗效果,最后在计算机中绘制出让观察者有身临其境感觉的图形机中绘制出让观察者有身临其境感觉的图形.第2页,共57页,编辑于2022年,星期一 6.1 6.1 消隐消隐 o消隐的概念消隐的概念o消隐算法分类消隐算法分类o消隐算法消隐算法n深度缓存器算法深度缓存器算法n区间扫描线算法区间扫描线算法n深度排序算法深度排序算
2、法n区域细分算法区域细分算法n光线投射算法光线投射算法nBSP树算法树算法n多边形区域排序算法多边形区域排序算法第3页,共57页,编辑于2022年,星期一消隐的概念消隐的概念o用计算机生成三维物体的真实图形用计算机生成三维物体的真实图形,在用显示在用显示设备描述物体的图形时,必须把三维信息经过设备描述物体的图形时,必须把三维信息经过某种投影变换,在二维的显示表面上绘制出来。某种投影变换,在二维的显示表面上绘制出来。由于投影变换失去了深度信息,往往导致图形由于投影变换失去了深度信息,往往导致图形的二义性。要消除二义性,就必须在绘制时消的二义性。要消除二义性,就必须在绘制时消除被遮挡的不可见的线或
3、面,习惯上称作消除除被遮挡的不可见的线或面,习惯上称作消除隐藏线和隐藏面,或简称为隐藏线和隐藏面,或简称为消隐消隐。o消隐实例消隐实例 物体的线框图物体的线框图 经消隐处理后的图形经消隐处理后的图形第4页,共57页,编辑于2022年,星期一消隐算法分类消隐算法分类o按其实现方式分为按其实现方式分为:n图象空间消隐算法图象空间消隐算法 图象空间图象空间(屏幕坐标系屏幕坐标系)消隐算法以屏幕像素为消隐算法以屏幕像素为采样单位采样单位,确定投影于每一个像素的可见景物确定投影于每一个像素的可见景物表面区域表面区域,并将其颜色作为该像素的显示颜色并将其颜色作为该像素的显示颜色n景物空间消隐算法景物空间消
4、隐算法 直接在景物直接在景物(观察坐标系观察坐标系)中确定视点不可见的中确定视点不可见的表面区域表面区域,并将它们表达成同原表面一致的数并将它们表达成同原表面一致的数据结构据结构第5页,共57页,编辑于2022年,星期一深度缓存器算法o深度缓存器算法最早由深度缓存器算法最早由Catmull提出的提出的,是是一种典型的一种典型的,最简单的图象空间面消隐算法最简单的图象空间面消隐算法.o该算法也称为该算法也称为Z-buffer算法算法o算法的原理算法的原理o算法的实现步骤算法的实现步骤o算法的特点算法的特点第6页,共57页,编辑于2022年,星期一深度缓存器算法原理深度缓存器算法原理o先将待处理的
5、景物表面上的采样点变换到图象先将待处理的景物表面上的采样点变换到图象空间空间(屏幕坐标系屏幕坐标系),计算其深度值。,计算其深度值。o根据采样点在屏幕上的投影位置,将其深度与根据采样点在屏幕上的投影位置,将其深度与已存储在已存储在Z缓存器中的相应像素处的原可见点缓存器中的相应像素处的原可见点的深度值进行比较。的深度值进行比较。n如果新的采样点的深度值大于原可见点的深度,如果新的采样点的深度值大于原可见点的深度,表明新的采样点遮住了原可见点,则采用该采表明新的采样点遮住了原可见点,则采用该采样点处的颜色更新帧缓存器中相应像素的颜色,样点处的颜色更新帧缓存器中相应像素的颜色,同时用其深度值更新同时
6、用其深度值更新Z缓存器中的深度值。缓存器中的深度值。n否则,不作修改。否则,不作修改。第7页,共57页,编辑于2022年,星期一Z-Buffer算法的特点算法的特点o优点优点:n形体在屏幕上的出现顺序是无关紧要的形体在屏幕上的出现顺序是无关紧要的,算法简算法简单单;n便于硬件实现。便于硬件实现。o缺点缺点:n占用空间大占用空间大 n不利于实现反走样、透明和半透明等处理不利于实现反走样、透明和半透明等处理第8页,共57页,编辑于2022年,星期一画家算法画家算法 画家算法又称深度优先级表法,画家算法又称深度优先级表法,它是深度排序算法的一种具体实现。它是深度排序算法的一种具体实现。先画远景,再画
7、中景,最后画近先画远景,再画中景,最后画近景。景。第9页,共57页,编辑于2022年,星期一 区域分割算法区域分割算法 区域分割算法区域分割算法将投影平面分割成区域将投影平面分割成区域,考察区,考察区域内的图象。如果容易决定在这个区域内某些多域内的图象。如果容易决定在这个区域内某些多边形是可见的,那么就可以显示那些可见的多边边形是可见的,那么就可以显示那些可见的多边形,完成对这一区域的显示任务。否则,就将区形,完成对这一区域的显示任务。否则,就将区域再分割成小的区域,对小的区域递归地进行判域再分割成小的区域,对小的区域递归地进行判断。由于区域逐渐变小,在每个区域内的多边形断。由于区域逐渐变小,
8、在每个区域内的多边形逐渐变少,最终总可以判定哪些多边形是可见的。逐渐变少,最终总可以判定哪些多边形是可见的。这个算法利用的区域的相关性,这种相关性是指这个算法利用的区域的相关性,这种相关性是指位于适当大小的区域内的所有象素,表示的其实位于适当大小的区域内的所有象素,表示的其实是同一个表面。是同一个表面。第10页,共57页,编辑于2022年,星期一 光线投射(光线投射(ray castingray casting)建立于几)建立于几何光学的基础之上,它沿光线的路径追踪何光学的基础之上,它沿光线的路径追踪可见面,是一种有效的可见性判别手段。可见面,是一种有效的可见性判别手段。由于场景中有无限多条光
9、线,而我们仅对由于场景中有无限多条光线,而我们仅对穿过像素的光线穿过像素的光线感兴趣,因此可考虑感兴趣,因此可考虑从像素出发,逆向跟踪射入场景的光线从像素出发,逆向跟踪射入场景的光线路径。光线投射算法对于包含曲面,特路径。光线投射算法对于包含曲面,特别是球面的场景有很高的效率别是球面的场景有很高的效率 。第11页,共57页,编辑于2022年,星期一像素 一条由象素点射入场景的视线 第12页,共57页,编辑于2022年,星期一 光光线线投投射射算算法法可可以以看看做做是是深深度度缓缓冲冲器器算算法法的的一一种种变变形形。在在深深度度缓缓冲冲器器算算法法,每每次次处处理理一一个个表表面面并并对对表
10、表面面上上的的每每个个投投影影点点计计算算深深度度值值。计计算算出出来来的的值值与与以以前前保保存存的的深深度度进进行行比比较较,从从而而确确定定每每个个像像素素所所对对应应的的可可见见表表面面。在在光光线线投投射射算算法法中中,每每次次处处理理一一个个像像素素,并并沿沿光光线线的的投投射射路路径径计计算算出出该该像像素素所所对对应应的的所所有有表面表面的深度值。的深度值。光线跟踪技术通过追踪多条光线在场景中的路径,以光线跟踪技术通过追踪多条光线在场景中的路径,以得到多个物体表面所产生的反射和折射效果。而在光线得到多个物体表面所产生的反射和折射效果。而在光线投射中,跟踪的光线仅从每个像素到最近
11、的物体为止。投射中,跟踪的光线仅从每个像素到最近的物体为止。第13页,共57页,编辑于2022年,星期一真实感图形的绘制真实感图形的绘制o消隐能反映景物间的相互遮挡关系消隐能反映景物间的相互遮挡关系,能够增强图形能够增强图形的深度感和层次感的深度感和层次感.o如何利用计算机进行真实感图形的绘制呢如何利用计算机进行真实感图形的绘制呢?第14页,共57页,编辑于2022年,星期一真实感图形的绘制步骤真实感图形的绘制步骤1.1.场景造型场景造型n采用数学方法建立三维场景的几何描述并输入到计算机采用数学方法建立三维场景的几何描述并输入到计算机2.2.取景变换、透视投影取景变换、透视投影n将三维几何描述
12、转换为二维透视图的内容将三维几何描述转换为二维透视图的内容3.3.视域裁剪、消除隐藏面视域裁剪、消除隐藏面n确确定定景景物物中中的的所所以以可可见见面面,将将视视域域之之外外或或其其它它景景物物遮遮挡挡的的不不可见面消除可见面消除4.4.绘制真实感图形绘制真实感图形n根据一定的光照模型和光强度计算根据一定的光照模型和光强度计算,将其转换为适合图形设将其转换为适合图形设备的颜色值备的颜色值,生成投影画面上每个像素的光强度生成投影画面上每个像素的光强度,让观察者让观察者产生身临其境的感觉产生身临其境的感觉第15页,共57页,编辑于2022年,星期一基本概念基本概念颜色颜色o颜色颜色 要产生具有高度
13、真实感的图形,颜色是最重要的部要产生具有高度真实感的图形,颜色是最重要的部分。在我们的光照明模型中,通常只要分别计算分。在我们的光照明模型中,通常只要分别计算R R、G G、B B 三个分量的光强值,就可以得到某个象素点上的颜三个分量的光强值,就可以得到某个象素点上的颜色值,给人以某种颜色的感觉。色值,给人以某种颜色的感觉。我们从人体视觉的角度出发,介绍计算机图我们从人体视觉的角度出发,介绍计算机图形学中颜色和视觉的一些相关知识。形学中颜色和视觉的一些相关知识。第16页,共57页,编辑于2022年,星期一颜色的三特性颜色的三特性o颜色有如下三个特性:颜色有如下三个特性:色调色调(Hue)(Hu
14、e)、饱和度、饱和度(Saturation)(Saturation)和和亮度亮度(Lightness)(Lightness)。色调,是一种颜色区别于其它颜色的。色调,是一种颜色区别于其它颜色的因素,也就是我们平常所说的红、绿、蓝、紫等;饱和度因素,也就是我们平常所说的红、绿、蓝、紫等;饱和度是指颜色的纯度,鲜红色饱和度高,而粉红色的饱和度低。是指颜色的纯度,鲜红色饱和度高,而粉红色的饱和度低。o与之相对应,从光学物理学的角度出发,颜色的三个特性分别与之相对应,从光学物理学的角度出发,颜色的三个特性分别为:主波长为:主波长(Dominant Wavelength)(Dominant Wavele
15、ngth)、纯度、纯度(Purity)(Purity)和明度和明度(Luminance)(Luminance)。主波长是产生颜色光的波长,对应于视觉感知的。主波长是产生颜色光的波长,对应于视觉感知的色调;光的纯度对应于饱和度,而明度就是光的亮度。色调;光的纯度对应于饱和度,而明度就是光的亮度。第17页,共57页,编辑于2022年,星期一三色学说三色学说o三色学说三色学说:某一种波长的光可以通过三种不同某一种波长的光可以通过三种不同 波长波长的光混合而复现出来,且红的光混合而复现出来,且红(R)(R)、绿、绿(G)(G)、蓝、蓝(B)(B)三三种单色光可以作为基本的颜色原色,把这三种光种单色光可
16、以作为基本的颜色原色,把这三种光按照不同的比例混合就能准确的复现其它任何波长按照不同的比例混合就能准确的复现其它任何波长的光,而它们等量混合就可以产生白光。的光,而它们等量混合就可以产生白光。o三色学说是我们真实感图形学的生理视觉基础,三色学说是我们真实感图形学的生理视觉基础,我们根据三色学说用我们根据三色学说用RGBRGB来定义我们的颜色,三来定义我们的颜色,三色学说是我们颜色视觉中最基础、最根本的理论。色学说是我们颜色视觉中最基础、最根本的理论。第18页,共57页,编辑于2022年,星期一漫反射及具体光源的照明漫反射及具体光源的照明1 1环境光环境光 在在多多数数实实际际环环境境中中,存存
17、在在由由于于许许多多物物体体表表面面多多次次反反射射而而产产生生的的均均匀匀的的照照明明光光线线,这这就就是是环环境境光光线线。环环境境光光线线的存在使物体得到漫射照明的存在使物体得到漫射照明.亮度计算如下:亮度计算如下:I=II=Ia a a a 第19页,共57页,编辑于2022年,星期一 其中其中I I是可见表面的亮度,是可见表面的亮度,I Ia a是环境光是环境光线的总亮度,线的总亮度,a a是物体表面对环境光线是物体表面对环境光线的反射系数,它在的反射系数,它在0 0到到1 1之间之间.2 2漫反射漫反射 具体光源在物体表面可以引起具体光源在物体表面可以引起漫反射漫反射和镜面反射。和
18、镜面反射。漫反射是指来自具体光源的漫反射是指来自具体光源的能量到达表面上的某一点后,就均匀地能量到达表面上的某一点后,就均匀地向各个方向散射出去,使得观察者从不向各个方向散射出去,使得观察者从不同角度观察时,这一点呈现的亮度是相同角度观察时,这一点呈现的亮度是相同的。同的。通常不光滑的通常不光滑的粗糙粗糙表面总是呈现出漫表面总是呈现出漫反射的效果反射的效果 第20页,共57页,编辑于2022年,星期一 Lambert Lambert定律指出,漫反射的效果与表面定律指出,漫反射的效果与表面相对于光源的取向有关,即:相对于光源的取向有关,即:I Id d=I=Ip p d d COSCOS 其中其
19、中I Id d是漫反射引起的可见表面上一是漫反射引起的可见表面上一点的亮度。点的亮度。I Ip p是点光源发出的入射光线引起是点光源发出的入射光线引起的亮度。的亮度。d d是漫反射系数,它的取值在是漫反射系数,它的取值在0 0到到1 1之间,随物体材料不同而不同。之间,随物体材料不同而不同。是可是可见表面法向见表面法向N N和点光源方向和点光源方向L L之间的夹角,之间的夹角,即入射角,它应该在即入射角,它应该在00到到9090之间。之间。第21页,共57页,编辑于2022年,星期一 为为了了简简化化公公式式中中余余弦弦值值的的实实际际计计算算,可可以以假假定定向向量量N N和和L L都都已已
20、经经正正规规化化,即即已已经经是是长长度度为为1 1的的单单位位向向量量,这这样样就就可可以以使使用用向向量量的数量积或内积。的数量积或内积。因为这时因为这时 ,于是得:,于是得:I Id d=I=Ip p I Id d(L(L N)N)将将环环境境光光线线和和漫漫反反射射的的效效果果结结合合起起来来,计算亮度的公式应该写成:计算亮度的公式应该写成:I=II=Ia a a a+I+Ip p I Id d()()第22页,共57页,编辑于2022年,星期一 通常认为具体光源对可见表面产生的通常认为具体光源对可见表面产生的照明作用,是随着光源与表面之间距离的照明作用,是随着光源与表面之间距离的增加
21、而下降的。设增加而下降的。设R R是光线从光源发出到是光线从光源发出到达表面再返回的距离,则达表面再返回的距离,则 I=II=Ia a a a+I+Ip p I Id d()/R()/R2 2 表面表面第23页,共57页,编辑于2022年,星期一 对于平行投影,光源在无穷远处,故对于平行投影,光源在无穷远处,故距离距离R R成为无穷大。对于透视投影,成为无穷大。对于透视投影,1/R1/R2 2也常常有很大的数值范围而使效果不好。也常常有很大的数值范围而使效果不好。一种比较逼真的效果,可通过用一种比较逼真的效果,可通过用r+kr+k代替代替R R2 2来获得:来获得:I=II=Ia a a a+
22、I+Ip p .I Id d.()/(r+k)()/(r+k)其其中中r r是是光光源源到到表表面面的的距距离离,k k是是根根据据经经验选取的一个常数。验选取的一个常数。第24页,共57页,编辑于2022年,星期一6.2 光照技术光照技术o光照模型光照模型(Illumination Model):又称明暗模型又称明暗模型,描述物体表面的色彩明暗与光描述物体表面的色彩明暗与光源特性和物体表面特性的关系。主要用于物体表源特性和物体表面特性的关系。主要用于物体表面某点处的光强度计算面某点处的光强度计算.o光照模型的分类光照模型的分类n简单光照模型简单光照模型简单光照模型简单光照模型n复杂光照模型复
23、杂光照模型第25页,共57页,编辑于2022年,星期一光照模型的分类光照模型的分类n简单的光照模型简单的光照模型:仅考虑光源照射在物体表面产生的反仅考虑光源照射在物体表面产生的反射光射光,并且常假设物体表面是光滑的并且常假设物体表面是光滑的,所以生成的图形所以生成的图形可以模拟出不透明物体表面的明暗过渡可以模拟出不透明物体表面的明暗过渡,具有一定的真具有一定的真实感实感.n复杂的光照模型复杂的光照模型:除了考虑反射光外除了考虑反射光外,还要考虑周围环境的光还要考虑周围环境的光对物体表面影响、透明度、光源的位置和个数等对物体表面影响、透明度、光源的位置和个数等,这种光照模这种光照模型被称为整体光
24、照模型型被称为整体光照模型,它能模拟出镜面影像、透明等光照效它能模拟出镜面影像、透明等光照效果果,可以绘制更接近自然景物的图形可以绘制更接近自然景物的图形.简单的光照模型与复杂光照模型的比较简单的光照模型与复杂光照模型的比较 简单光照模型绘制效果 复杂光照模型绘制效果第26页,共57页,编辑于2022年,星期一明暗处理方法明暗处理方法o在计算机图形学中,曲面体(例如球)也通常是用多面在计算机图形学中,曲面体(例如球)也通常是用多面体逼近表达的。这时,如果只是将每个多边形用单一的体逼近表达的。这时,如果只是将每个多边形用单一的光强来绘制就会造成整个景物表面的颜色过渡不光滑,光强来绘制就会造成整个
25、景物表面的颜色过渡不光滑,影响了曲面的显示效果。影响了曲面的显示效果。因此,通常采用的方法是:因此,通常采用的方法是:采用插补的方法,使得表面明暗光滑化。采用插补的方法,使得表面明暗光滑化。o示例演示示例演示o最常使用的表面明暗光滑化的方法有两种最常使用的表面明暗光滑化的方法有两种nGourand方法方法 nPhong方法方法 第27页,共57页,编辑于2022年,星期一明暗处理示例明暗处理示例o牛的三角网格模型牛的三角网格模型n 用简单光照明模型显示用简单光照明模型显示n明暗处理后模型显示明暗处理后模型显示线框图 恒定光强绘制图 Gourand方法光滑处理后图形Gourand方法光滑处理示例
26、方法光滑处理示例Phong方法光滑处理示例方法光滑处理示例线框图 恒定光强绘制图 Phong方法光滑处理后图形第28页,共57页,编辑于2022年,星期一 镜面反射与镜面反射与PhongPhong模型模型 镜镜面面反反射射是是指指来来自自具具体体光光源源的的光光能能到到达达可可见见表表面面上上的的某某一一点点后后,主主要要沿沿着着由由射射入入角角等等于于反反射射角角所所决决定定的的方方向向传传播播,从从而而使使得得观观察察者者从从不不同同角角度度观观察察时时,这这一点呈现的亮度并不相同。一点呈现的亮度并不相同。在在任任何何有有光光泽泽的的表表面面上上都都可可以以观观察察到到镜镜面面反反射射的的
27、效效果果。例例如如,用用很很亮亮的的光光照照射射一一个个红红色色的的苹苹果果,会会发发现现最最亮亮点点不不是是红红色色的的,而而是是有有些些呈呈现现白白色色,这这是是入入射射光光线线的的颜颜色色。这这个个最最亮亮点点就就是是有有镜镜面面反反射射引引起起的的。如如果观察者移动位置,会看到最亮点也随之移动。果观察者移动位置,会看到最亮点也随之移动。第29页,共57页,编辑于2022年,星期一镜镜面面反反射射 在镜面反射的示意图中,只有当观察者相在镜面反射的示意图中,只有当观察者相对表面的方向对表面的方向V V与反射光线的方向与反射光线的方向R R之间的夹角之间的夹角 为零时,才能看到镜面反射引起的
28、反射光线。对于为零时,才能看到镜面反射引起的反射光线。对于不是非常理想的光泽表面,例如一个苹果,反射光不是非常理想的光泽表面,例如一个苹果,反射光线引起的亮度随着线引起的亮度随着 的增大而迅速下降。的增大而迅速下降。第30页,共57页,编辑于2022年,星期一 由由Phong Phong Bui-TuongBui-Tuong提提出出的的光光照照明明模模型型,用用 来来近近似似反反射射光光线线引引起起的的亮亮度度随随着着 增增大大而而下下降降的的速速率率。n n取取值值一一般般在在1 1到到20002000之之间间,决决定定于于反反射射表表面面的的有有关关性性质质。对对于于理理想想的的反反射射表
29、表面面,n n就就是是无无穷穷大大。这这里里选用选用 ,是以经验观察为基础的。,是以经验观察为基础的。对实际物质来说,被镜面反射的入射对实际物质来说,被镜面反射的入射光的数量是与入射角光的数量是与入射角 有关的。如果将镜有关的。如果将镜面反射光的百分数记为面反射光的百分数记为 ,那么就可以,那么就可以将计算表面亮度的公式修改而得到:将计算表面亮度的公式修改而得到:第31页,共57页,编辑于2022年,星期一 这里可以假定反射光线的方向向量这里可以假定反射光线的方向向量R R和指向观察点的向量和指向观察点的向量V V都已经正规化,都已经正规化,即已经是长度为即已经是长度为1 1的单位向量,于是可
30、以的单位向量,于是可以简单地利用向量内积计算余弦值:简单地利用向量内积计算余弦值:。对。对 ,通常根据经验选取一个常数,通常根据经验选取一个常数 来代替,这样公式可写成下面更容易计算来代替,这样公式可写成下面更容易计算的形式:的形式:第32页,共57页,编辑于2022年,星期一 对于彩色表面,上述各公式也可以应对于彩色表面,上述各公式也可以应用,只需分别应用于对各颜色分量的计用,只需分别应用于对各颜色分量的计算。例如,选择通常的红、绿、蓝颜色算。例如,选择通常的红、绿、蓝颜色系统,这时上述公式中有关亮度及反射系统,这时上述公式中有关亮度及反射系数等,就要看做是三元向量。通过分系数等,就要看做是
31、三元向量。通过分别对各颜色分量进行计算,就可以完成别对各颜色分量进行计算,就可以完成对彩色表面的亮度计算。对彩色表面的亮度计算。第33页,共57页,编辑于2022年,星期一 光的衰减光的衰减 光光在在传传播播的的过过程程中中,其其能能量量会会衰衰减减。光光的的传传播播过过程程分分为为两两个个阶阶段段:从从光光源源到到物物体体表表面面的的传传播播及及从从物物体体表表面面到到人人眼眼的的传传播播。光光的的第第一一个个传传播播阶阶段段的的衰衰减减使使物物体体表表面面的的入入射射光光强强度度变变弱弱,第第二二个个阶阶段段的的衰衰减减使使人人眼眼接接受受到到的的物物体体表表面面的的反反射射光光的强度变弱
32、,的强度变弱,光光在在光光源源到到物物体体表表面面的的过过程程中中的的衰衰减减。在在同同一一光光源源的的照照射射下下,距距光光源源近近的的物物体体看看起起来来亮亮,而距光源较远的物体看起来暗。而距光源较远的物体看起来暗。第34页,共57页,编辑于2022年,星期一 衰衰减减比比例例为为光光的的传传输输距距离离平平方方的的倒倒数数,若若以以衰衰减减函数函数f(d)f(d)来表示衰减的比例,则来表示衰减的比例,则 f(d)=1/df(d)=1/d2 2 其中,其中,d d为光的传播距离。为光的传播距离。这这种种变变化化规规律律对对点点光光源源来来说说是是正正确确的的,但但真真实实的的世世界界中中物
33、物体体并并不不是是以以点点光光源源照照射射的的。为为了了弥弥补补点点光光源源的的不不足足,产产生生真真实实感感更更强强的的图图形形,一一个个有有效效的的衰衰减函数的取法如下:减函数的取法如下:第35页,共57页,编辑于2022年,星期一GouraudGouraud方法方法 亮亮度度(或或颜颜色色)插插值值明明暗暗法法 通通常常被被称称为为GouraudGouraud着着色色方方法法。增增加加逼逼近近空空间间形形体体的的多多边边形形表表面面的的数数目目,MachMach带带效效应应可可以以随随之之减减弱。弱。亮亮度度(或或颜颜色色)插插值值明明暗暗法法处处理理过过程程有有以以下四个步骤:下四个步
34、骤:(1)(1)计算各多边形表面的法向量。计算各多边形表面的法向量。(2)(2)计算各顶点的法向量。这里顶点的法向,计算各顶点的法向量。这里顶点的法向,指共享该顶点的所有多边形表面法向的平均指共享该顶点的所有多边形表面法向的平均值。值。第36页,共57页,编辑于2022年,星期一 如果有一条边是作为边界准备显示出来的,如果有一条边是作为边界准备显示出来的,可以对这条边的每个顶点,计算两个法向量,每可以对这条边的每个顶点,计算两个法向量,每个是一侧各边形表面法向量的平均值。个是一侧各边形表面法向量的平均值。第37页,共57页,编辑于2022年,星期一(3)(3)计计算算各各顶顶点点的的亮亮度度。
35、因因为为各各顶顶点点的的法法向向量量已已经经求求得得,所所以以已已经经可可以以利利用用上上节节讨论的计算亮度的公式进行计算。讨论的计算亮度的公式进行计算。(4)(4)计计算算各各多多边边形形表表面面上上任任意意点点处处的的亮亮度度值值,实实行行对对多多边边形形表表面面的的明明暗暗处处理理。做做法法是是先先利利用用顶顶点点的的亮亮度度值值,在在边边上上做做线线性性插插值值,求求得得边边上上的的亮亮度度值值。再再用用之之在在扫扫描描线线上上做做线线性性插插值,从而求得多边形面内任意点处的亮度值。值,从而求得多边形面内任意点处的亮度值。第38页,共57页,编辑于2022年,星期一 PhongPhon
36、g方法方法 法向量插值明暗法是越南人法向量插值明暗法是越南人Bui-Tuong PhongBui-Tuong Phong提提出来的,通常称为出来的,通常称为PhongPhong氏形成明暗法。氏形成明暗法。这个方法是对法向量进行插值,而不是对亮这个方法是对法向量进行插值,而不是对亮度进行插值。在求得各顶点法向后,求多边形度进行插值。在求得各顶点法向后,求多边形边上各点及多边形面内任意点处法向所用的插边上各点及多边形面内任意点处法向所用的插值方法,与亮度插值明暗法中进行插值计算的值方法,与亮度插值明暗法中进行插值计算的方法相同。因此这个插值也可以很好地应用前方法相同。因此这个插值也可以很好地应用前
37、面提到的扫描线算法。面提到的扫描线算法。第39页,共57页,编辑于2022年,星期一 求得扫描线上每点的法向量后,在每点处实际求得扫描线上每点的法向量后,在每点处实际计算亮度,可以应用任何一种光照明模型。计算亮度,可以应用任何一种光照明模型。如果应用镜面反射,比起亮度插值法会得到如果应用镜面反射,比起亮度插值法会得到明显的改进,因为强光能更加真实地得到反映。明显的改进,因为强光能更加真实地得到反映。即使不应用镜面反射,法向插值的结果也比亮度即使不应用镜面反射,法向插值的结果也比亮度插值的结果好。这是因为对每一点都使用法向量插值的结果好。这是因为对每一点都使用法向量的近似值,使得可以减少的近似值
38、,使得可以减少MachMach带效应引起的问带效应引起的问题。但另一方面,对每一点都要计算亮度,使题。但另一方面,对每一点都要计算亮度,使得计算量大为增加。得计算量大为增加。第40页,共57页,编辑于2022年,星期一 绘制多边形的步骤:绘制多边形的步骤:(1 1)计算多边形的单位法矢量。计算多边形的单位法矢量。(2 2)计算多边形顶点的单位法向量。计算多边形顶点的单位法向量。(3 3)在在扫扫描描线线消消隐隐算算法法中中,对对多多边边形形顶顶点点的的法法向向量量进进行行双双线线性性插插值值,计计算算出出多多边边形形内内部部(扫扫描描线线上上位位于于多多边边形形内内部部)各各点点的的法法向向量
39、。量。双线性插值的方法如图所示,双线性插值的方法如图所示,NANA由由N1N1,N2N2线性插值得到:线性插值得到:第41页,共57页,编辑于2022年,星期一第42页,共57页,编辑于2022年,星期一 PhongPhong着着色色方方法法中中,多多边边形形上上每每一一点点需需要要计计算算一一次次光光照照明明模模型型,因因而而计计算算量量远远大大于于GouraudGouraud着着色色方方法法。但但是是PhongPhong着着色色方方法法绘绘制制的的图图形形更更加加真真实实,特特别体现在如下两个场合(考虑要绘制一个三角形)。别体现在如下两个场合(考虑要绘制一个三角形)。如如果果镜镜面面反反射
40、射指指数数n n较较大大,三三角角形形左左下下角角的的顶顶点点a a(R R与与V V的的夹夹角角)很很小小,而而另另两两个个顶顶点点的的a a很很大大,以以光光照照明明模模型型计计算算的的结结果果是是左左下下角角顶顶点点的的亮亮度度非非常常大大(高高光光点点),另另两两个个顶顶点点的的亮亮度度小小。若若采采用用GouraudGouraud方方法法绘绘制制,由由于于它它是是对对顶顶点点的的亮亮度度进进行行插插值值,导致高光区域不正常地扩散成很大一块区域。导致高光区域不正常地扩散成很大一块区域。第43页,共57页,编辑于2022年,星期一 而而根根据据n n的的意意义义,当当n n较较大大时时,
41、高高光光区区域域实实际际应应该该较较集集中中。采采用用PhongPhong方方法法绘制的结果更符合实际情况。绘制的结果更符合实际情况。当实际的高光区域位于三角形中间时,当实际的高光区域位于三角形中间时,采用采用PhongPhong方法能产生正确的结果,而若方法能产生正确的结果,而若采用采用GouraudGouraud方法,由于按照光照明模方法,由于按照光照明模型计算出来的三个顶点处的亮度都较型计算出来的三个顶点处的亮度都较小,线性插值的结果是三角形中间不小,线性插值的结果是三角形中间不会产生高光区域。会产生高光区域。第44页,共57页,编辑于2022年,星期一透明处理透明处理o现实世界中有许多
42、透明物体,如玻璃,透过现实世界中有许多透明物体,如玻璃,透过透明物体,可以观察到其后面的景物。如何透明物体,可以观察到其后面的景物。如何模拟这种透明效果呢?模拟这种透明效果呢?o模拟透明的最简单的方法是忽略光线在穿过模拟透明的最简单的方法是忽略光线在穿过透明体时所发生的折射。虽然这种模拟方法透明体时所发生的折射。虽然这种模拟方法产生的结果不真实,但在许多场合往往非常产生的结果不真实,但在许多场合往往非常有用。例如:我们有时希望能够看到透过某有用。例如:我们有时希望能够看到透过某透明物体观察其后面的景物,而又不希望景透明物体观察其后面的景物,而又不希望景物应为折射而发生变形。物应为折射而发生变形
43、。第45页,共57页,编辑于2022年,星期一6.3 模拟景物表面细节模拟景物表面细节o用前面介绍的方法生成的物体图象,往往由于其表面过于光滑用前面介绍的方法生成的物体图象,往往由于其表面过于光滑和单调,看起来反而不真实,这是因为在现实世界中的物体,和单调,看起来反而不真实,这是因为在现实世界中的物体,其表面通常有它的表面细节,即各种纹理,如刨光的木材表面其表面通常有它的表面细节,即各种纹理,如刨光的木材表面上有木纹,建筑物墙壁上有装饰图案,机器外壳表面有文字说上有木纹,建筑物墙壁上有装饰图案,机器外壳表面有文字说明它的名称、型号等。它们是通过颜色色彩或明暗度变化体现明它的名称、型号等。它们是
44、通过颜色色彩或明暗度变化体现出来的表面细节,这种纹理称为出来的表面细节,这种纹理称为颜色纹理颜色纹理。o另一类纹理则是由于不规则的细小凹凸造成的,例如桔子另一类纹理则是由于不规则的细小凹凸造成的,例如桔子皮表面的皱纹皮表面的皱纹,通常称为通常称为几何纹理几何纹理.第46页,共57页,编辑于2022年,星期一纹理映射纹理映射 纹理映射就是把我们得到的纹理映射到三维物体的表面纹理映射就是把我们得到的纹理映射到三维物体的表面的技术。的技术。l示例示例 图片图片l演示实例演示实例l带光照的演示带光照的演示l不带光照的演示不带光照的演示上图是纹理映射场景的一个部分,其中墙的砖块纹理和地板的木条纹理都是二
45、维图象。照片 经纹理映射,光照处理后计算机生成图形第47页,共57页,编辑于2022年,星期一 纹理纹理(texture)(texture)物体的表面细节物体的表面细节 光光滑滑表表面面上上额额外外地地增增加加图图案案,当当图图案案加加上上后后,表表面面仍仍然然保保持持光光滑滑,这这一一过过程程基基本本上上可用一个可用一个映射函数映射函数描述描述;表表面面呈呈现现出出凸凸凹凹不不平平的的形形状状,这这一一过过程程可用一个可用一个扰动函数扰动函数来描述来描述.第48页,共57页,编辑于2022年,星期一 光滑表面上描绘花纹是花纹图案在客体表光滑表面上描绘花纹是花纹图案在客体表面上的映射,即可以表
46、示为由一个坐标系至另面上的映射,即可以表示为由一个坐标系至另一个坐标系的变换。一个坐标系的变换。在在纹纹理理空空间间的的正正交交坐坐标标系系(u,w)(u,w)中中定定义义一一个个纹纹理理图图案案,而而在在另另一一个个正正交交坐坐标标系系(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)第49页,共57页,编辑于2022年,星期一 最最简简单单
47、的的映映射射,可可以以是是一一个个线线性性函函数。如数。如 s=Au+Bs=Au+B,t=Cw+Dt=Cw+D 纹纹理理的的定定义义可可能能不不是是由由数数学学函函数数给给出出的的,这这样样的的纹纹理理包包括括一一般般绘绘制制的的图图案案及及照照片片等等其其它它形形式式的的图图案案。这这多多用用一一个个二二维维数数组组定定义义,数数组组代代表一个用于光栅图形显示的位图。表一个用于光栅图形显示的位图。第50页,共57页,编辑于2022年,星期一 显显示示纹纹理理图图案案涉涉及及从从物物体体空空间间到到图图象象空空间间,以以及及从从纹纹理理空空间间到到物物体体空空间间的的变变换换,此外还要进行适当
48、的视图变换。此外还要进行适当的视图变换。我我们们可可以以用用Catmull的的分分割割算算法法来来实实现现纹纹理理的的显显示示,在在这这个个算算法法中中,曲曲面面片片不不断断地地被被分分割割,直直至至每每一一个个子子曲曲面面片片仅仅包包含含一一个个象象素素中中心心为为止止,然然后后,将将子子曲曲面面片片中中心心的的参参数数值值映映射射到到纹纹理理空空间间中中,根根据据纹纹理理空空间间中中相相交交点点处处的的花花纹纹图图象象值值决决定定该该像像素素处处的光强。的光强。第51页,共57页,编辑于2022年,星期一6.4 产生阴影产生阴影o阴影是现实生活中一个很常见的光照现象,它是阴影是现实生活中一
49、个很常见的光照现象,它是由于光源被物体遮挡而在该物体后面产生的较暗由于光源被物体遮挡而在该物体后面产生的较暗的区域。在真实感图形学中,通过阴影可以反映的区域。在真实感图形学中,通过阴影可以反映出物体之间的相互关系,增加图形的立体效果和出物体之间的相互关系,增加图形的立体效果和真实感。真实感。o从原理上讲,计算阴影的本影部分是十分清楚简洁的:从原理上讲,计算阴影的本影部分是十分清楚简洁的:从阴影的产生原因上看,有阴影区域的物体表面都无从阴影的产生原因上看,有阴影区域的物体表面都无法看见光源,我们只要把光源作为观察点,那么我们法看见光源,我们只要把光源作为观察点,那么我们在前面介绍的任何一种隐藏面
50、消除算法可以用来生成在前面介绍的任何一种隐藏面消除算法可以用来生成阴影区域。阴影区域。第52页,共57页,编辑于2022年,星期一 对于对于隐藏面隐藏面消除算法,是从消除算法,是从观察点观察点看,确看,确定哪些表面是可见的。而对于定哪些表面是可见的。而对于阴影阴影发现算法,发现算法,是从是从点光源点光源“看看”,确定哪些表面是可见的。,确定哪些表面是可见的。从观察点和从点光源都能看见的表面,就是从观察点和从点光源都能看见的表面,就是可见的表面。从观察点可见,而从点光源不可见的表面。从观察点可见,而从点光源不可见的表面,就在阴影之中。可见的表面,就在阴影之中。应当注意,这种简便方法不能构造出应当