课件-计算机图形学-真实感图形.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《课件-计算机图形学-真实感图形.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课件 计算机 图形学 真实感 图形
- 资源描述:
-
1、第八章第八章 真实感图形真实感图形8.1 真实感图形概述真实感图形概述8.2 消隐概述消隐概述8.3 隐藏线的消除隐藏线的消除 8.3.1 平面体的消除平面体的消除 8.3.1.1 凸面体的消隐凸面体的消隐 8.3.1.2 凹面体的消隐凹面体的消隐 8.3.2 曲面体的消隐曲面体的消隐 8.4 隐藏面的消除隐藏面的消除8.5 明暗效应明暗效应8.6 颜色模型(图像处理已学)颜色模型(图像处理已学)8.7 光照高级编程(补充内容)光照高级编程(补充内容)8.8 纹理图案映射(选学内容)纹理图案映射(选学内容)8.1 真实感图形概述:真实感图形概述:一一 引入:引入:1 演示虚拟钻石.AVI 2
2、演示光与纹理.AVI 3 问题:上面演示的图形及右面的图形 有一个共同特性:具有真实感。采用哪些技术能生成具有真实采用哪些技术能生成具有真实 感图形?感图形?二二 生成真实感图形的几大技术(本章的学习内容)生成真实感图形的几大技术(本章的学习内容)1 隐藏线的消除隐藏线的消除 (1)平面体的消隐)平面体的消隐 凸面体的消隐凸面体的消隐 凹面体的消隐凹面体的消隐 (2)曲面体的消隐)曲面体的消隐 2 隐藏面的消除隐藏面的消除 3 明暗效应明暗效应(演示光照处理演示光照处理.exe)4 颜色模型颜色模型 5 纹理图案映射(演示纹理图案映射(演示texture.m)8.2 消隐概述消隐概述1问题的提
3、出:问题的提出:1 人眼能正确判断形体的朝向和遮挡关系:人眼能正确判断形体的朝向和遮挡关系:在现实世界中,观察不透明的物体时,我们的眼睛只能看到 朝向我们的表面,其余的表面(尽管存在)不能被看见.例如:粉笔盒2 计算机不能自动识别形体的朝向和遮挡关系:计算机不能自动识别形体的朝向和遮挡关系:用计算机生成立体图时,物体表面的(无论能否被看见)所有数据都存放在计算机中,但计算机不能自动识别形体的 朝向和遮挡关系。3 问题:问题:如果在图形的生成过程中,不进行可见与不可见的区分处理,且不可见部分不被消隐掉,物体的所有部分都将被表现出来,会造成错觉和歧义。例如:图A是不进行可见与不可见的区分处理,没有
4、消隐的 线框图,可以有四种解释:可见,没有消隐的线框图不能表现确定的物体形状,可见,没有消隐的线框图不能表现确定的物体形状,而只有进行必要的消隐之后才可能出现准确地判断其形状。而只有进行必要的消隐之后才可能出现准确地判断其形状。俯视,小长方体在上俯视,有矩形孔仰视,小长方体在下仰视,有矩形孔图A:线框图的表达不确定 要正确画出物体的形状必须判断哪些是可见的、哪些是不可见的、并对不可见部分进行消隐处理。二二 消隐的必要性:消隐的必要性:观察者B在后A在前ZXYEOXOZ平面(一(一)消隐处理时必然遇到的问题:消隐处理时必然遇到的问题:判断前后关系判断前后关系,判断可能被遮挡的物体是哪一个判断可能
5、被遮挡的物体是哪一个 对观察者来讲,A与B谁在前(靠近E),若在前则不可能被遮挡,若在后则有可能被遮挡。确定投影的重叠部分确定投影的重叠部分,判断被遮挡者的哪一部分应消隐判断被遮挡者的哪一部分应消隐 求各投影的交点.找出A与B重叠的部分,求交点.无重叠则无遮挡.有重叠可能有遮挡。判断某个面的朝向判断某个面的朝向,以便以便判断出某个面不可见并进行消隐。判断出某个面不可见并进行消隐。三三 常用的方法与技术常用的方法与技术 1 “最大最小试验最大最小试验”也被称为排斥试验。也被称为排斥试验。它用来快速判断空间的两个面或两个立体是否互相遮挡,无遮挡时,可以不进行包含或相交等运算,从而减少工作量,有遮挡
6、时,再进一步判断遮挡的大小等问题。2 最大最小的含义:最大最小的含义:是指两个立体的投影A和B:X方向:A的最大值小于B的最小值,或A最小值大于B的最大值 Y方向:A的最大值小于B的最小值,或A最小值大于B的最大值 则A与B必定不重叠(无遮挡)。(二)技术(二)技术1:最大最小试验(判断重叠的方法)最大最小试验(判断重叠的方法)ABX方向:A最大值小于B的最小值的图例 3 判断两个多边形是否重叠的方法判断两个多边形是否重叠的方法:(利用最小投影矩形检验利用最小投影矩形检验)(1)确定多边形确定多边形A,B各自的各自的“最小投影矩形最小投影矩形”(最小投影矩形:能够包含平面多边形投影的最小矩形)
7、YmaxYminXminXmaxXY 如果两个平面多边形的最小投影矩形不发生重叠,则这两个平面多边形必定不会重叠。两平面多边形必定不重叠条件:满足下列条件中的任何一个。A在左 XAmax Xbmin A在右 XAmin XBmax A在下 YAmax YBmin A在上 YAmin YBmax ABABABAB(2)根据两个最小投影矩形相交与否来迅速判断)根据两个最小投影矩形相交与否来迅速判断A,B是否重叠。是否重叠。(3)若两个投影矩形重叠若两个投影矩形重叠,需根据两个多边形是否重叠需根据两个多边形是否重叠,判断遮挡关系:判断遮挡关系:若两个最小投影矩形重叠,不能断定两个多边形重叠,如下图。
8、需进一步判断两个多边形是否重叠,只有当多边形在投影面上发生相互重叠时,才有可能在空间发生相互遮挡的关系。例:投影矩形重叠多边形不重叠实例投影矩形重叠多边形不重叠实例投影矩形重叠多边形也重叠实例投影矩形重叠多边形也重叠实例 (1)“最小盒子”的含义:包容空间立体且体积是最小的长方体,(2)立体A必定不遮挡B的条件为:XAmax XBmin A在左 XAmin XBmax A在右 ZAmax ZBmin A在下 ZAmin ZBmax A在上 YAmax YBmin A在后 以上5个条件只要有1个满足,则A肯定不会遮挡B4 判断两个立体是否重叠的方法判断两个立体是否重叠的方法:(利用利用“最小盒子
9、最小盒子”来检验判断来检验判断)以上5个条件全都不满足,则A是否遮挡B,还需做进一步的计算和判断。5 结论:结论:最大最小试验可以快速判断互不遮挡的立体或多边形,避免为了消隐进行的计算(例:求交点)和判断,从而加快了计算的速度。(三)技术(三)技术2:包含性检验(判断是否重叠)包含性检验(判断是否重叠)问题:如何判断点和一个多边形是否重叠?要确切地知道一个点和一个平面多边形的相对位置关系,就应判断点的投影是否包含在平面多边形的投影之中。如果被包含,就要比较点与该面的前后关系,最终判断它们的遮挡关系。检测的方法:设空间一平面多边形ABCDE在投影面上的投影是ABCDE,空间中的另一点P在投影面上
10、的投影为P0。使用以下二种方法都可以判断P是否包含于ABCDE。APBCDEAPBCDE1P分别与ABCDE连线2 令1 APB 2 BPC 3 CPD 4 DPE 5 EPA方法一:方法一:夹角之和检验法夹角之和检验法之外。在则:若051EDCBAPii之内。在则:251EDCBAPii方法二:方法二:交点数检验法交点数检验法 AP BCDEAP BCDE(图A)(图B)由 P 向任意方向作一条射线,求射线与多边形的交点数。交点为偶数则 P在多边形之外,交点为奇数则 P在多边形之内。通常,射线作成与坐标轴平行,例如平行于 Y 轴。P123P1234P12345P12345计不计342312计
11、不计2312计不计45342312计不计45342312问题:由问题:由P向下作射线,如上图所示向下作射线,如上图所示,有多个交点(奇异点)有多个交点(奇异点),如何计数?如何计数?方法:左闭右开法。方法:左闭右开法。1 当多边形一条边的两端点的x坐标值均小于或等于P射线 的Xp的坐标时,不作求交运算,即不计入交点数。2 线段两端点的x坐标值只要大于P射线 的Xp的坐标值,要作求交运算。zxySACBE 观察者(四)技术(四)技术3:求平面的法矢和方程(判断朝向)求平面的法矢和方程(判断朝向)1 问题点:问题点:如何判断一个凸多面体的某个面可见与否?设想:利用其外法线矢量?2 外法线矢量外法线
12、矢量:凸多面体的各个平面有其法线,规定其方向为,由物体内指向外部,称为外法线矢量。观察者位置为E 投影线(视轴)平行于Y轴,故:外法线与Y轴(视轴)的夹角为根据的大小可以判断外法线代表的平面的可见性。有立体ABCS,共4个面1 00900,则可见(cos0),如SBC、SAB 2 =900,则法线代表的平面在XOZ平面上有积聚性 (cos=0)为一条线。如ABC投影为AC线段。3 9001800,则不可见(cos 0)如SAC。zxySACBE 观察者3 利用外法线与视轴的夹角能判断可见性:利用外法线与视轴的夹角能判断可见性:4 外法矢量的求法:外法矢量的求法:已知平面(右手坐标系中)点P0(
13、X0 Y0Z0),P1(X1 Y1Z1),P2(X2 Y2Z2)为凸多面体上任意的三个按逆时针方向所取的点.有矢量 P0P1 ,P0P2,叉积N=P0P1 P0 P2 为平面的外法矢量NP0P1P2NP0P1P2 P0P1=(x1x0)i+(y1y0)j+(z1z0)k P0P2=(x2x0)i+(y2y0)j+(z2z0)kCkBjAiZZYYXXZZYYXXkjiPPPPN020202010101201002020101ZZYYZZYYA02020101XXZZXXZZB02020101YYXXYYXXC 可得夹角 cos=B/由于N 恒为正,故:cos的正负可以由B来确定NB0 则 该平
14、面可见B=0 则 该平面具有积聚性。(化为一条线)B0,则YmYp,P在后,被遮挡若t0,则Ym0 因此 P被遮挡,不显示点P8.3 隐藏线的消除隐藏线的消除 8.3.1 平面体的消除平面体的消除 8.3.1.1 凸面体的消隐凸面体的消隐 8.3.1.2 凹面体的消隐凹面体的消隐 8.3.2 曲面体的消隐曲面体的消隐 8.3.1.1 凸面体的消隐方法凸面体的消隐方法一一 立体表面法线与可见性的关系:立体表面法线与可见性的关系:zxySACBE 观察者1 设平面外法线与设平面外法线与y轴的夹角为轴的夹角为,可根据,可根据的大小判断可见性:的大小判断可见性:1 00900,则可见(cos0)2 =
15、900,则法线代表的平面在XOZ平面上有积聚性3 9001800,则不可见(cos 0)而 cos=B/|N|由于N 恒为正,故:2 cos的正负可以由的正负可以由B来确定,仅计算来确定,仅计算B的值,即可判断可见性的值,即可判断可见性。02020101XXZZXXZZBB0时,可见BZ缓冲区在(x,y)处的值)把Z(x,y)存入缓冲区中(x,y)处;同时把该像素的亮度值或颜色值存入祯缓冲器的(x,y)处;2该算法优点:该算法优点:在像素级上以近物取代远物,实现起来比总体排序灵活 简单,有利于硬件实现。3该算法缺点:该算法缺点:Z缓冲区需要较多的存储空间,例如:当象素数为 500500时,需2
16、50k个存储空间,而深度值一般用 浮点数表示,每个数占4个字节,共需1M。8.4.3 扫描线算法:扫描线算法:ACBDa一一 基本思想:基本思想:用两个缓冲区实现 for(每条扫描线)对扫描线a而言:将a上的所有像素的颜色值置成背景色 将a上的所有像素的深度值置成最小Z值 for(各个多边形)求与第i个多边形的相交区间AB for(AB上的所有像素)if(A像素的Z值buffer里相同位置的Z值)用ZA代替buffer里的Z值;同时将A像素的颜色值代替buffer里相同位置的颜色值;二二 基本步骤:基本步骤:1 把物体各面投影到屏幕上;2 计算扫描线与物体各投影面的相交区间;3 当两个区间在深
17、度方向上重叠时,采用深度测试确定可见部分。三三 算法流程:算法流程:for(每条扫描线)扫描线祯缓冲器置成背景色;扫描线Z缓冲区置成最小Z值 for(各个多边形)求出该多边形与当前扫描线的相交区间 for(区间所含的所有像素)if(多边形在该处的Z值buffer里相同位置的Z值)用多边形在该处的代替buffer里的Z值;用多边形在该处的颜色值代替buffer里相同位置的颜色值;8.5 明暗效应明暗效应8.5.1 引入:引入:一一 提出问题:提出问题:1 讲台各个面的明暗程度不同,它与哪些因素有关?答:与讲台的表面材质和光照有关。2 演示 光照处理.exe 3 计算机屏幕显示真实感图形需作哪些工
展开阅读全文