真实感图形生成2ppt课件_第1页
真实感图形生成2ppt课件_第2页
真实感图形生成2ppt课件_第3页
真实感图形生成2ppt课件_第4页
真实感图形生成2ppt课件_第5页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、计算机图形学高级话题计算机图形学高级话题-真实感图形生成讲授主要内容:讲授主要内容:o 引言引言o 消隐消隐o 真实感图形的绘制真实感图形的绘制o 实时真实感图形学技术实时真实感图形学技术o 总结总结引言引言对于场景中的物体、要得到它的真实对于场景中的物体、要得到它的真实感图形,就要对它进行透视投影,并消除感图形,就要对它进行透视投影,并消除隐藏面,然后计算可见面的光照明暗效果,隐藏面,然后计算可见面的光照明暗效果,最后在计算机中绘制出让观察者有身临其最后在计算机中绘制出让观察者有身临其境感觉的图形境感觉的图形. .真实感图形的绘制步骤真实感图形的绘制步骤1.1.场景造型场景造型采用数学方法建

2、立三维场景的几何描述并输入到计算采用数学方法建立三维场景的几何描述并输入到计算机。机。2.2.视域裁剪、消除隐藏面视域裁剪、消除隐藏面确定景物中的所有可见面,将视域之外或其它景物遮确定景物中的所有可见面,将视域之外或其它景物遮挡的不可见面消除。挡的不可见面消除。3.3.取景变换、透视投影取景变换、透视投影将三维几何描述转换为二维透视图的内容。将三维几何描述转换为二维透视图的内容。4.4.绘制真实感图形绘制真实感图形根据一定的光照模型和光强度计算,将其转换为适合根据一定的光照模型和光强度计算,将其转换为适合图形设备的颜色值,生成投影画面上每个像素的光强图形设备的颜色值,生成投影画面上每个像素的光

3、强度,让观察者产生身临其境的感觉。度,让观察者产生身临其境的感觉。 消隐消隐 o 消隐的概念消隐的概念o 消隐算法分类消隐算法分类o 消隐算法消隐算法o 深度缓存器算法深度缓存器算法o 区间扫描线算法区间扫描线算法o 深度排序算法深度排序算法o 区域细分算法区域细分算法o 光线投射算法光线投射算法o BSP树算法树算法o 多边形区域排序算法多边形区域排序算法消隐的概念消隐的概念o 用计算机生成三维物体的真实图形,在用显示用计算机生成三维物体的真实图形,在用显示设备描述物体的图形时,必须把三维信息经过设备描述物体的图形时,必须把三维信息经过某种投影变换,在二维的显示表面上绘制出来。某种投影变换,

4、在二维的显示表面上绘制出来。由于投影变换失去了深度信息,往往导致图形由于投影变换失去了深度信息,往往导致图形的二义性。的二义性。o 要消除二义性,就必须在绘制时消除被遮挡的要消除二义性,就必须在绘制时消除被遮挡的不可见的线或面,习惯上称作消除隐藏线和隐不可见的线或面,习惯上称作消除隐藏线和隐藏面,或简称为消隐。藏面,或简称为消隐。o 消隐实例消隐实例 消隐实例消隐实例 物体的线框图物体的线框图 经消隐处理后的图形经消隐处理后的图形消隐算法分类消隐算法分类o 按其实现方式分为:按其实现方式分为:o 图像空间消隐算法图像空间消隐算法o 图像空间图像空间( (屏幕坐标系屏幕坐标系) )消隐算法以屏幕

5、像素消隐算法以屏幕像素为采样单位,确定投影于每一个像素的可见为采样单位,确定投影于每一个像素的可见景物表面区域,并将其颜色作为该像素的显景物表面区域,并将其颜色作为该像素的显示颜色。如深度缓冲器算法、示颜色。如深度缓冲器算法、A A缓冲器算法、缓冲器算法、区间扫描线算法等。区间扫描线算法等。o 景物空间消隐算法景物空间消隐算法o 直接在景物直接在景物( (观察坐标系观察坐标系) )中确定视点不可见中确定视点不可见的表面区域,并将它们表达成同原表面一致的表面区域,并将它们表达成同原表面一致的数据结构。如的数据结构。如BSPBSP算法、多边形区域排序算算法、多边形区域排序算法等。法等。o 介于二者

6、之间的算法,如深度排序算法、区介于二者之间的算法,如深度排序算法、区域细分算法、光线投射算法等。域细分算法、光线投射算法等。 n 排序:各景物表面按照距离视点远近排序,排排序:各景物表面按照距离视点远近排序,排序结果用于确定消隐对象之间的遮挡关系。序结果用于确定消隐对象之间的遮挡关系。n 连贯性:连贯性是指所考察的物体或视区内的连贯性:连贯性是指所考察的物体或视区内的图像局部保持不变的一种性质,用于提高排序图像局部保持不变的一种性质,用于提高排序效率。效率。基本的原则基本的原则9.1 深度缓存器算法( Z-buffer)o 基本原理o 帧缓存:保存各像素点的颜色。o Z缓存:保存屏幕坐标系上各

7、像素点所对应的深度值。深度缓存器算法( Z-buffer)图图9.1 深度缓存器算法的原理深度缓存器算法的原理观察方向:Z轴负向深度缓存器算法( Z-buffer)o 算法步骤o 初始化:把Z缓存中各(x,y)单元置为z的最小值,而帧缓存各(x,y)单元置为背景色。o 在把物体表面相应的多边形扫描转换成帧缓存中的信息时,对于多边形内的每一采样点(x,y)进行处理:o 计算采样点(x,y)的深度z(x,y);o 如z(x,y)大于Z缓存中在(x,y)处的值,则把z(x,y)存入Z缓存中的(x,y)处,再把多边形在z(x,y)处的颜色值存入帧缓存的(x,y)地址中。o 如何计算采样点(x,y)的深

8、度z(x,y)。o 假定多边形的平面方程为:Ax+By+Cz+D=0。CDByAxyxz),(深度缓存器算法( Z-buffer)图图9.2 利用扫描线的连贯性加快深度的计算利用扫描线的连贯性加快深度的计算深度缓存器算法( Z-buffer)n 扫描线上所有后继点的深度值:n 当处理下一条扫描线y=y-1时,该扫描线上与多边形相交的最左边x最小交点的x值可以利用上一条扫描线上的最左边的x值计算: ),() 1(), 1(CAyxzCDByxAyxz 1min,min, 1kxxyy深度缓存器算法( Z-buffer)n 扫描线深度缓存器算法:增加多边形表 ),( ) 1()1( ) 1() 1

9、,(min,min,min, 1min, 1CBkAyxzCDyBkxACDyBAxyxzyyyy深度缓存器算法( Z-buffer)o 优点o 简单o 便于硬件实现o 缺陷o 占用太多的存储单元o 在实现反走样、透明和半透明等效果方面有困难深度缓存器算法( Z-buffer)o 避免对被遮挡区域的采样是进一步提高扫描线算法计算效率的关键。图图9.3 区间扫描线算法原理区间扫描线算法原理9.2 区间扫描线算法o 算法o 三张表:边表、多边形表、有效边表。o 分割子区间,确定子区间上的唯一可见面。图图9.4 扫描线子区间扫描线子区间区间扫描线算法o 特殊情形特殊情形o 贯穿情形:为了使算法能处理

10、互相贯穿的多贯穿情形:为了使算法能处理互相贯穿的多边形,扫描线上的分割点不仅应包含各多边边形,扫描线上的分割点不仅应包含各多边形的边与扫描线的交点,而且应包含这些贯形的边与扫描线的交点,而且应包含这些贯穿边界与扫描线的交点。穿边界与扫描线的交点。o 循环遮挡:将多边形进行划分以消除循环遮循环遮挡:将多边形进行划分以消除循环遮挡。挡。区间扫描线算法图图9.5 多边形贯穿和循环遮挡的情形多边形贯穿和循环遮挡的情形o 算法原理:算法约定距视点近的优先级高,算法原理:算法约定距视点近的优先级高,距视点远的优先级低。生成图像时,优先级距视点远的优先级低。生成图像时,优先级低的多边形先画,优先级高的多边形

11、后画。低的多边形先画,优先级高的多边形后画。这样,后画的多边形就会将先画的多边形遮这样,后画的多边形就会将先画的多边形遮挡住,从而达到消隐的效果。挡住,从而达到消隐的效果。o 算法的关键是多边形排序。算法的关键是多边形排序。9.3 深度排序算法画家算法)o 算法原理:考察投影平面上的一块区域,如算法原理:考察投影平面上的一块区域,如果可以很果可以很“容易地判断覆盖该区域中的哪容易地判断覆盖该区域中的哪个或哪些多边形是可见的,则可按这些多边个或哪些多边形是可见的,则可按这些多边形的光照属性和几何位置计算确定子区域内形的光照属性和几何位置计算确定子区域内各像素的显示颜色;否则就将这块区域细分各像素

12、的显示颜色;否则就将这块区域细分为若干较小的区域,并把上述推断原则递归为若干较小的区域,并把上述推断原则递归地应用到每个较小的区域中去。地应用到每个较小的区域中去。9.4 区域细分算法o 多边形的分类图图9.6 多边形的投影与考察区域之间的关系多边形的投影与考察区域之间的关系区域细分算法o 可见性测试o 1、所有多边形均是该区域的分离多边形,于是可直接将该区域中的所有像素点置为背景颜色。o 2、针对该区域,仅存在一个相交多边形,或仅存在一个被包含多边形,或仅存在一个围绕多边形。则可先将该区域中的所有像素点置为背景颜色,再将相应多边形的颜色值填入对应像素点的帧缓存中。o 3、针对该区域,有多于一

13、个的相交多边形、被包含多边形或围绕多边形,则计算所有围绕的、相交的、以及被包含的多边形在该区域4个顶点处的z坐标,如果存在一个围绕多边形,它的4个z坐标比其它任何多边性的z坐标都大最靠近视点),那么,可将该区域中的所有像素点置为该多边形的颜色值。9.4 区域细分算法图图9.7 满足测试条件满足测试条件3的两个例子的两个例子9.4 区域细分算法o 算法原理图图9.8 光线投射算法光线投射算法9.5 光线投射算法o 算法步骤o 通过视点和投影平面显示屏幕上的所有像素点作一入射线,形成投影线。o 将任一投影线与场景中的所有多边形求交。o 若有交点,则将所有交点按z值的大小进行排序,取出最近交点所属多

14、边形的颜色;若没有交点,则取出背景的颜色。o 将该射线穿过的像素点置为取出的颜色。光线投射算法o BSPBinary Space Partition)o 算法原理图图9.9 BSP树算法原理树算法原理9.6 BSP树算法o 算法原理o 将多边形按深度值由小到大排序,用前面的可见多边形去切割位于其后的多边形,使得最终每一个多边形要么是完全可见的,要么是完全不可见的。9.7 多边形区域排序算法基本概念基本概念p 光照模型Illumination model),也称明暗模型,主要用于物体表面某点处的光强度计算。p 简单的光照模型p 复杂的光照模型p 光强度):描述物体表面朝某方向辐射光的颜色,它既能

15、表示光能大小又能表示其色彩组成的物理量。光照模型的分类光照模型的分类l简单的光照模型:仅考虑光源照射在物体表面产生简单的光照模型:仅考虑光源照射在物体表面产生的反射光,并且常假设物体表面是光滑的,所以生的反射光,并且常假设物体表面是光滑的,所以生成的图形可以模拟出不透明物体表面的明暗过渡,成的图形可以模拟出不透明物体表面的明暗过渡,具有一定的真实感。具有一定的真实感。l复杂的光照模型:除了考虑反射光外,还要考虑透复杂的光照模型:除了考虑反射光外,还要考虑透明度、光源的位置和个数等,这种光照模型被称为明度、光源的位置和个数等,这种光照模型被称为整体光照模型,它能模拟出镜面影像、透明等光照整体光照

16、模型,它能模拟出镜面影像、透明等光照效果,可以绘制更接近自然景物的图形。效果,可以绘制更接近自然景物的图形。简单的光照模型与复杂光照模型的比较简单的光照模型与复杂光照模型的比较 简单光照模型绘制效果 复杂光照模型绘制效果 简单光照模型中只考虑反射光的作用。简单光照模型中只考虑反射光的作用。 反射光由环境光、漫反射光和镜面反射光三部反射光由环境光、漫反射光和镜面反射光三部分组成。分组成。简单的光照模型简单的光照模型p 特点:照射在物体上的光来自周围各个方向,特点:照射在物体上的光来自周围各个方向,又均匀地向各个方向反射。又均匀地向各个方向反射。p P点对环境光的反射强度为点对环境光的反射强度为a

17、aeKII 图图1 环境光的反射环境光的反射环境光环境光Background Light)p 一个粗糙的、无光泽的表面呈现为漫反射。一个粗糙的、无光泽的表面呈现为漫反射。p 特点:光源来自一个方向,反射光均匀地射向特点:光源来自一个方向,反射光均匀地射向各个方向。各个方向。p 由由Lambert余弦定理可得点余弦定理可得点P处漫反射光的强度处漫反射光的强度为:为:p 若若L和和N都已规范化为单位都已规范化为单位p 矢量,则有矢量,则有图图2 漫反射漫反射2, 0,cosdpdKII漫反射光漫反射光Diffuse Reflection))(NLKIIdpdp 对于彩色对于彩色),(pBpGpRp

18、IIII)()()(NLKIINLKIINLKIIdBpBdBdGpGdGdRpRdRp 对于多个漫反射光源对于多个漫反射光源niidipdNLKII1,)(漫反射光漫反射光Diffuse Reflection)p 镜面反射遵循反射定律,入射光和反射光分别镜面反射遵循反射定律,入射光和反射光分别位于表面法向的两侧。位于表面法向的两侧。p 如果观察者正好处在如果观察者正好处在P点的镜面反射方向上,点的镜面反射方向上,就会看到一个比周围就会看到一个比周围亮得多的高光点。亮得多的高光点。图图3 镜面反射镜面反射镜面反射光镜面反射光specular reflection)p 镜面反射情况由镜面反射情况

19、由Phong模型给出:模型给出:图图3 镜面反射镜面反射 cosnspsKII p 若若R和和V已规范化为单已规范化为单位矢量,那么:位矢量,那么:nspsVRKII)(镜面反射光镜面反射光p 从视点观察到物体上任一点从视点观察到物体上任一点P处的光强度处的光强度I应为应为环境光反射光强度环境光反射光强度Ie、漫反射光强度、漫反射光强度Id以及镜以及镜面反射光的光强度面反射光的光强度Is的总和:的总和:p 多个点光源多个点光源nspdpaasdeVRKINLKIKIIIII)()(物体表面光强计算物体表面光强计算,11()()edsnnnaap idip isiiiIIIII KIKL NIK

20、 HNp 光在传播的过程中,其能量会发生衰减。光照光在传播的过程中,其能量会发生衰减。光照模型中必须考虑光强衰减,否则会影响生成图模型中必须考虑光强衰减,否则会影响生成图形的真实效果。形的真实效果。p 光强的衰减可以采用常数衰减、一次函数衰减光强的衰减可以采用常数衰减、一次函数衰减和二次函数衰减等。和二次函数衰减等。p 常用的二次衰减函数常用的二次衰减函数光强衰减光强衰减 )1, 1min()(2210dcdccdfninisipiniidipiaasdeNHKIdfNLKIdfKIIIII1,1,)()()()(p 选择颜色模型选择颜色模型color model)p 面向硬件的颜色模型:面向

21、硬件的颜色模型:RGB、CMYp 面向视觉感知的颜色模型:面向视觉感知的颜色模型:HSIp 为颜色分量指定光照模型为颜色分量指定光照模型颜色颜色p 以以RGB颜色模型为例颜色模型为例p 环境光强度:环境光强度:p 入射光强度:入射光强度:p 环境光反射系数:环境光反射系数:p 漫反射系数:漫反射系数:p 镜面反射系数:镜面反射系数:),(aBaGaRaIIII ),(pBpGpRpIIII),(aBaGaRaKKKK ),(dBdGdRdKKKK ),(sBsGsRsKKKK 颜色颜色p 光强计算公式:光强计算公式:ninisBipBiniidBipBiaBaBBninisGipGiniidG

22、ipGiaGaGGninisRipRiniidRipRiaRaRRNHKIdfNLKIdfKIINHKIdfNLKIdfKIINHKIdfNLKIdfKII1,1,1,1,1,1,)()()()( )()()()()()()()(颜色颜色p 恒定光强恒定光强p Gouraud明暗处理明暗处理p Phong明暗处理明暗处理10.2 基于简单光照模型的多边形绘制p 只用一种颜色绘制整个多边形的前提条件只用一种颜色绘制整个多边形的前提条件p 光源在无穷远处,则多边形上所有点的光源在无穷远处,则多边形上所有点的LN为为常数,衰减函数也是一个常数。常数,衰减函数也是一个常数。p 视点在无穷远处,则多边形

23、上所有点的视点在无穷远处,则多边形上所有点的VR为为常数。常数。p 多边形是景物表面的精确表示,即不是一个含多边形是景物表面的精确表示,即不是一个含曲线面景物的近似表示。曲线面景物的近似表示。p 缺陷:相邻多边形法矢量不同,造成不连续。缺陷:相邻多边形法矢量不同,造成不连续。恒定光强p Gouraud明暗处理方法,又称为亮度插值明暗明暗处理方法,又称为亮度插值明暗处理,它通过对多边形顶点颜色进行线性插值来处理,它通过对多边形顶点颜色进行线性插值来绘制其内部各点,其步骤为:绘制其内部各点,其步骤为:p 计算每个多边形顶点处的平均单位法矢量;计算每个多边形顶点处的平均单位法矢量;p 对每个顶点根据

24、恒定光强模型来计算其光强;对每个顶点根据恒定光强模型来计算其光强;p 在多边形表面上将顶点强度进行线性插值。在多边形表面上将顶点强度进行线性插值。Gouraud明暗处理p 双线性插值方法双线性插值方法图图4 Gouraud 明暗处理的双线性插值明暗处理的双线性插值Gouraud明暗处理SCBSSBCBCBCyyyyIIIyyyyGourand方法光滑处理示例方法光滑处理示例 线框图 恒定光强绘制图 Gourand方法光滑处理后图形p Phong明暗处理方法,又称为法矢量插值明暗明暗处理方法,又称为法矢量插值明暗处理,它对多边形顶点的法矢量进行插值以产生处理,它对多边形顶点的法矢量进行插值以产生

25、中间各点的法矢量,其步骤为:中间各点的法矢量,其步骤为:p 计算每个多边形顶点处的平均单位法矢量;计算每个多边形顶点处的平均单位法矢量;p 用双线性插值方法求得多边形内部各点的法矢量。用双线性插值方法求得多边形内部各点的法矢量。p 最后按光照模型确定多边形内部各点的光强。最后按光照模型确定多边形内部各点的光强。Phong明暗处理p 矢量双线性插值方法矢量双线性插值方法图图5 Phong明暗处理的矢量双线性插值明暗处理的矢量双线性插值Phong明暗处理SCBSSBCBCBCyyyyNNNyyyyPhong方法光滑处理示例方法光滑处理示例 线框图 恒定光强绘制图 Phong方法光滑处理后图形明暗处

26、理示例明暗处理示例o 牛的三角网格模型牛的三角网格模型o 用简单光照明模型显用简单光照明模型显示示o 明暗处理后模型显示明暗处理后模型显示10.3 透明处理图图6 透明表面的光强包括反射光和折射光透明表面的光强包括反射光和折射光图图7 简单的透明处理无折射)简单的透明处理无折射)透明处理(1)PtAtBIk Ik I图图8 光的折射光的折射LNTririri)cossin(透明处理10.4 产生阴影p 阴影是由于物体截断了光线而产生的,所以如果阴影是由于物体截断了光线而产生的,所以如果光源位于物体一侧的话,阴影总是位于物体的另光源位于物体一侧的话,阴影总是位于物体的另一侧,也就是与光源相反的一

27、侧。一侧,也就是与光源相反的一侧。p 从理论上来说,从视点以及从光源看过去都是可从理论上来说,从视点以及从光源看过去都是可见的面不会落在阴影中,只有那些从视点看过去见的面不会落在阴影中,只有那些从视点看过去是可见的,而从光源看过去是不可见的面,肯定是可见的,而从光源看过去是不可见的面,肯定落在阴影之内。落在阴影之内。产生阴影p 产生具有阴影的图形绘制算法产生具有阴影的图形绘制算法p 将视点移到光源位置,用多边形区域排序消隐算将视点移到光源位置,用多边形区域排序消隐算法,将多边形分成两大类:向光多边形和背光多法,将多边形分成两大类:向光多边形和背光多边形。边形。p 将视点移到原来的观察位置,对向

28、光多边形和背将视点移到原来的观察位置,对向光多边形和背光多边形进行消隐,并选用一种光照模型计算多光多边形进行消隐,并选用一种光照模型计算多边形的亮度,就可得到有阴影效果的图形。边形的亮度,就可得到有阴影效果的图形。10.5 模拟景物表面细节p 颜色纹理:通过颜色色彩或明暗度的变化体现出颜色纹理:通过颜色色彩或明暗度的变化体现出来的表面细节。来的表面细节。p 几何纹理:由于不规则的细小凹凸造成的。几何纹理:由于不规则的细小凹凸造成的。p 颜色纹理取决于物体表面的光学属性,而几何纹颜色纹理取决于物体表面的光学属性,而几何纹理由物体表面的微观几何形状决定。理由物体表面的微观几何形状决定。p 用多边形模拟表面细节用多边形模拟表面细节p 纹理的定义和映射纹理的定义和映射10.5 模拟景物表面细节p 简单地模拟景物表面细节的方法

温馨提示

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

评论

0/150

提交评论