河南理工大学计算机图形学8章-1_第1页
河南理工大学计算机图形学8章-1_第2页
河南理工大学计算机图形学8章-1_第3页
河南理工大学计算机图形学8章-1_第4页
河南理工大学计算机图形学8章-1_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

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

文档简介

1、 第第8 8章章 真实感图形真实感图形 第第7 7章章- - 2 2/34/34 计算机图形学计算机图形学 2021-7-12 计算机科学与技术学院计算机科学与技术学院 第第8 8 章章 真实感图形真实感图形 8.1 概述 8.2 消隐算法 8.3 颜色模型 8.4 光照模型 8.5 纹理映射技术 8.6 OpenGL真实感图形 第第8 8章章 真实感图形真实感图形 第第7 7章章- - 3 3/34/34 计算机图形学计算机图形学 2021-7-12 计算机科学与技术学院计算机科学与技术学院 8.1 概述 概述 8.1.1 真实感图形生成流程 真实感图形生成流程 真实感图形是综合利用数学、物

2、理学、计算机科学以 及其它科学技术在计算机图形设备上生成的、像彩色照片 那样逼真的图形。 野外场景模拟 机械设备仿真 室内装修展示 小区规划设计 第第8 8章章 真实感图形真实感图形 第第7 7章章- - 4 4/34/34 计算机图形学计算机图形学 2021-7-12 计算机科学与技术学院计算机科学与技术学院 生成真实感图形的基本步骤: (1)构建模型 用数学方法建立实体三维模型,并存储到系统中; (2)投影变换 将实体模型转换到三维观察坐标系中; (3)消隐处理 用消隐技术去除视景外的和实体上不可见的面; (4)光照处理 建立光照模型生成真实感图形。 PC 线框 图形 消隐 图形 真实 感

3、图 显示 图像 DC PC PC 投 影 投 影 投 影 表 面 处 理 消 隐 输入 数据 WC三维 图形 VC 观察 变换 消 隐 三维真实感图形生成流程图真实感图形生成流程图 第第8 8章章 真实感图形真实感图形 第第7 7章章- - 5 5/34/34 计算机图形学计算机图形学 2021-7-12 计算机科学与技术学院计算机科学与技术学院 8.1.2 真实感图形特点真实感图形特点 1. 真实感图形的特点真实感图形的特点 1)能比较完整地反映物体表面的颜色和亮度变化; 2)反映物体表面的质感和表面粗糙度; 3)反映物体的光照效果,表现场景的深度感和层次感, 充分体现物体间的遮挡关系; 4

4、)模拟透明物体透明效果和镜面物体的镜像效果。 模拟海床模拟海床 模拟场景模拟场景 模拟赛车模拟赛车 第第8 8章章 真实感图形真实感图形 第第7 7章章- - 6 6/34/34 计算机图形学计算机图形学 2021-7-12 计算机科学与技术学院计算机科学与技术学院 2. 影响真实感图形的因素:影响真实感图形的因素: 1)物体本身的几何形状: 平面体、曲面体、随机形状 (云、雾、火); 2)物体表面特性: 粗糙度、感光度。表面颜色、纹理等; 3)照射物体的光源形状: 形状:点光源、线光源、面光源、体光源等; 强度:光的强度、颜色等。 4)物体和光源的位置:距离、角度、站高 5)周边环境:环境对

5、光的反射、折射、散射等。 第第8 8章章 真实感图形真实感图形 第第7 7章章- - 7 7/34/34 计算机图形学计算机图形学 2021-7-12 计算机科学与技术学院计算机科学与技术学院 8.2.1 消隐基础知识 消隐基础知识 一、消隐定义一、消隐定义 表示物体图形的方式: 线框图 消隐图 真实感图形。 线框图消隐图真实感图 8.2 消隐算法 消隐算法 第第8 8章章 真实感图形真实感图形 第第7 7章章- - 8 8/34/34 计算机图形学计算机图形学 2021-7-12 计算机科学与技术学院计算机科学与技术学院 隐藏线隐藏线( (面 面) ): :根据投影几何的理论,形体上的看不见

6、的 图线或(平面)。 消隐:消隐:消除形体视图中隐藏线(面)的处理过程。 二二 消隐算法分类消隐算法分类 1) 根据消隐对象: 线消隐:消除物体上不可见的轮廓线。 面消隐:消除物体上不可见的表面。 2) 根据消隐算法空间: 物体空间消隐算法,也称对象空间消隐算法: 物体空间是指规范化的投影空间,即用户域。 该算法通过分析物体之间的空间几何关系,来确定 物体的可见性。 第第8 8章章 真实感图形真实感图形 第第7 7章章- - 9 9/34/34 计算机图形学计算机图形学 2021-7-12 计算机科学与技术学院计算机科学与技术学院 图像空间消隐算法图像空间消隐算法 图像空间是指物体投影后的二维

7、空间,即屏幕域。 该算法是将物体的投影分解为像素,通过分析像素的 可见性,来确定物体的可见性。 3物体空间常用的消隐算法物体空间常用的消隐算法 算法分三类: 1)外法线消隐算法:用于平面立体消隐处理; 2)浮动水平线算法:用于标准曲面立体消隐处理; 3)离散消隐算法:用于构造曲面立体消隐处理。 第第8 8章章 真实感图形真实感图形 第第7 7章章- - 1010/34/34 计算机图形学计算机图形学 2021-7-12 计算机科学与技术学院计算机科学与技术学院 三三 消隐基本原则消隐基本原则 1 排序 判别消隐对象与观察点之间的距离远近; 对其按x、y、z三个坐标方向进行排序; 确定对象之间的

8、遮挡关系。 2 连贯性 从一个对象到另一个对象,其属性值是或连续的。 连贯性: 1) 实体对象的连贯性; 2) 实体属性的连贯性; 3) 扫描线的连贯性; 4) 深度的连贯性。 第第8 8章章 真实感图形真实感图形 第第7 7章章- - 1111/34/34 计算机图形学计算机图形学 2021-7-12 计算机科学与技术学院计算机科学与技术学院 8.2.2 平面立体的消隐算法平面立体的消隐算法 一一 凸多面体消隐凸多面体消隐 平面立体=凸多面体+凹多面体。 1 凸多边形判定: 多边形任意两点连线均位于多边形内部。 2 凸多面体特点: 由多个平面凸多边形组成; 在投影关系上,体的表面要么完全可见

9、, 要么完全不可见; 各朝前表面不发生相互重叠现象。 朝 前 表 面 ? 第第8 8章章 真实感图形真实感图形 第第7 7章章- - 1212/34/34 计算机图形学计算机图形学 2021-7-12 计算机科学与技术学院计算机科学与技术学院 3)表面外法线的方向角 据投影几何的规定:视方向一般取v=0,1,0,该方向和 Y轴的负方向相同。 用表面外法线在Y轴上的分量的值,作为判断表面 可见性的标准。 设表面的外法线矢量:N= Ai+Bj+Ck,与坐标轴的方向 角分别为、和,方向余弦为cos、cos和cos。 显然N|恒为正值,cos的值由B值来决定。 3 凸多面体隐藏线的消隐算法 形体表面的

10、外法线方向: 由形体内部指向外部,或由形体表面指向外部空间。 第第8 8章章 真实感图形真实感图形 第第7 7章章- - 1313/34/34 计算机图形学计算机图形学 2021-7-12 计算机科学与技术学院计算机科学与技术学院 形体表面的外法线方向: 由形体内部指向外部,或由形体表面指向外部空间。 3 算法过程: 1)1)可见面判别可见面判别 依据平面的表面外法线 当0a90o时,表示表面 法线朝前(即朝前面),该表 面可见; 当90o0时画出该表面,否则不画该表面。 当B0时,90o0时,0o a 0时,0oa 0 朝前面; cosa0 背向面 3)对朝前面计算其表面的最大深度值; 4)

11、计算朝前面的盒子角点坐标; 5)取出最大深度值的表面作为当前面; 第第8 8章章 真实感图形真实感图形 第第7 7章章- - 1919/34/34 计算机图形学计算机图形学 2021-7-12 计算机科学与技术学院计算机科学与技术学院 6)循环计算其他表面和当前表面的遮挡关系; 提取表面的每一个边,判断和当前面的关系: 完全挡住、完全未被挡住或部分挡住; 若完全挡住视为不可见边,作删除或改变线型处理; 第第8 8章章 真实感图形真实感图形 第第7 7章章- - 2020/34/34 计算机图形学计算机图形学 2021-7-12 计算机科学与技术学院计算机科学与技术学院 若完全不被挡住,视为可见

12、边,绘制该边; 若部分挡住,利用线段裁剪求出多边形之外的部分 线段:可见线段,绘制; 对多边形之内的部分线段:不可见线段,作删除 或改变线型处理; 3平面立体消隐算法的数据结构平面立体消隐算法的数据结构 1)采用三表结构,即点面表、棱边表和顶点表。 2)面表第一列为该表面的棱边总数; 3)面表第二列为该表面中内环数目,无内环时取为0; 4)棱边表中记录表面点环的顶点编号,内环顺时针排 序,而外环则按逆时针排序; 5)不论内环还是外环,其都是封闭的; 6)内外环的分隔符通常采用0; 画家画家 第第8 8章章 真实感图形真实感图形 第第7 7章章- - 2121/34/34 计算机图形学计算机图形

13、学 2021-7-12 计算机科学与技术学院计算机科学与技术学院 8.2.38.2.3深度缓存消隐算法 深度缓存消隐算法(Z(Z缓冲区算法缓冲区算法) ) 常用算法:深度缓存消隐算法,扫描线消隐算法、 区域排序算法等。 1.基本思路基本思路 对于屏幕上的每一个像素,记录位于该像素内最靠近 观察者的景物面的深度值,同时相应记录该景物面的颜色 (或灰度) 的所有记录值,根据记录的数据输出的图形。 图像空间消隐算法图像空间消隐算法 第第8 8章章 真实感图形真实感图形 第第7 7章章- - 2222/34/34 计算机图形学计算机图形学 2021-7-12 计算机科学与技术学院计算机科学与技术学院

14、2.2.深度值深度值 在屏幕坐标系中任取像素点P0(i,j),作平行于Z轴的 射线R,和表面F1、F2分别交于P1、P2点。 P1、P2点的Z坐标, 表面F1和F2的深度值。 深度值反映了该表面到显 示器屏幕的距离。 深度值反映了该表面 到观察者的距离, Z,距离 。 P1P1点点Z Z坐标坐标 P2P2点点Z Z坐标坐标 第第8 8章章 真实感图形真实感图形 第第7 7章章- - 2323/34/34 计算机图形学计算机图形学 2021-7-12 计算机科学与技术学院计算机科学与技术学院 3 . 开辟内存开辟内存 记录每一个像素的深度值和颜色值,开辟动态内存。 内存大小与屏幕的分辨率有关。

15、设屏幕的分辨率为:mn,开辟数组大小: 存放深度值:ZB(m,n), 存放颜色(或灰度)值:FB(m,n)。 4. 表面深度值计算表面深度值计算 设表面方程:ax+by+cz+d=0 (c0), 该表面对应像素点P(i,j)的深度值: z= (ai+bj+d)/c 第第8 8章章 真实感图形真实感图形 第第7 7章章- - 2424/34/34 计算机图形学计算机图形学 2021-7-12 计算机科学与技术学院计算机科学与技术学院 5.求表面方程求表面方程 根据形体的数据结构,可在表面的顶点表中任取三点: P1(x1,y1,z1)、P2(x2,y2,z2) 、P3(x3,y3,z3), 由三点

16、式平面方程: x y z 1 x1 y1 z1 1 =0 x2 y2 z2 1 x3 y3 z3 1 P2P2 P1P1 P3P3 P4P4 此三点怎样取?此三点怎样取? 第第8 8章章 真实感图形真实感图形 第第7 7章章- - 2525/34/34 计算机图形学计算机图形学 2021-7-12 计算机科学与技术学院计算机科学与技术学院 y1 z1 1 x1 z1 1 x1 y1 1 x1 y1 z1 y2 z2 1 x x2 z2 1 y+ x2 y2 1 z x2 y2 z2 =0 y3 z3 1 x3 z3 1 x3 y3 1 x3 y3 z3 而表面方程的一般形式:ax+by+cz+

17、d=0,可推出: a=y1(z2-z3)-y2(z1-z3)+y3(z1-z2) b=-x1(z2-z3)+x2(z1-z3)-x3(z1-z2) c=x1(y2-y3)-x2(y1-y3)+x3(y1-y2) d=-x1(y2z3-y3z2)+x2(y1z3-y3z1)-x3(y1z2-y2z1) 表面方程的形式 点表的坐标表示 展开:展开: 第第8 8章章 真实感图形真实感图形 第第7 7章章- - 2626/34/34 计算机图形学计算机图形学 2021-7-12 计算机科学与技术学院计算机科学与技术学院 6. 表面与表面与z轴的位置轴的位置 求表面的深度值,首先判断该面和z轴的相互位置

18、关系: 1)表面和z轴平行或重合,不求其交点; 2)表面和z轴不平行,求其交点。 y z x N 表面和z轴的相互位置关系 外法线N和z轴的关系。 夹角夹角 思考思考: : 夹角夹角的值如何表示的值如何表示? ? 第第8 8章章 真实感图形真实感图形 第第7 7章章- - 2727/34/34 计算机图形学计算机图形学 2021-7-12 计算机科学与技术学院计算机科学与技术学院 6. 算法步骤算法步骤 1)开辟内存数组:ZB(m,n)和FB(m,n) 2)初始化数组:FOR i=1,m FOR j=1,n ZB(i,j)=机器允许最大值,FB(i,j)= 背景色 3) 循环计算每个像素点的深

19、度值: For j=1,m For i=1,n For k=1,L /L:形体的表面数 Zij=机器最大值 判断(i,j)点是否在当前投影多边形k内,利用射线法 或弧长法判断。 第第8 8章章 真实感图形真实感图形 第第7 7章章- - 2828/34/34 计算机图形学计算机图形学 2021-7-12 计算机科学与技术学院计算机科学与技术学院 若(i,j)点在k内,求(i,j)点的深度值Zij 进行深度值比较。 若ZijZB(i,j),ZB(i,j)= Zij 7.优缺点分析 优缺点分析 优点:算法简单、直观,便于硬件实现。 缺点:内存占用量大、计算量比较大。 如VGA模式800600,每个

20、数组有: 800600=480,000个元素。 第第8 8章章 真实感图形真实感图形 第第7 7章章- - 2929/34/34 计算机图形学计算机图形学 2021-7-12 计算机科学与技术学院计算机科学与技术学院 y=iy=i 在屏幕上,y方向按像 素为单位分,得到的每个子 区 就 是 扫 描 线 , 即 y = i (/xoy)扫描平面。 扫描线算法是深度缓冲器算法的一种延伸。 面存储计算 线存储计算 屏幕上取y=i,表示一条和x轴方向平行一条扫描线; 若y=i扫描线沿z方向移动,形成y=i (/xoy)平面。 z z x x o o y y y=i扫描面 8.2.4 8.2.4 扫描线

21、消隐算法扫描线消隐算法 第第8 8章章 真实感图形真实感图形 第第7 7章章- - 3030/34/34 计算机图形学计算机图形学 2021-7-12 计算机科学与技术学院计算机科学与技术学院 1.基本思路:基本思路: 1)求扫描面 与立体相 交 截 交线; 2)在扫描线 上,确定 显 示 像素点的属性; 3)显示像素 点的属性。 第第8 8章章 真实感图形真实感图形 第第7 7章章- - 3131/34/34 计算机图形学计算机图形学 2021-7-12 计算机科学与技术学院计算机科学与技术学院 2.算法的基本步骤 算法的基本步骤 1)定义一维数组ZB、ZF,保存扫描线上的数据。 2)对 Z

22、B和ZF数组赋初值: 3)搜索顶点坐标,确定扫描线范围, YminYYmax; 4)按扫描线循环:for i=Ymin,Ymax, 求出第i条扫描线平面和立体表面的截交线; 5)把各个交点按X坐标单向排序; 6)确定像素点的范围,XminXXmax; 7)按像素点循环,For j = Xmin,Xmax, 8)开始循环 for j =x1, x6 9)按边循环 for k=1, n (n表示多边形的边数,n=5) 10)求出每个像素点对应的深度值:Zk,并记录; 11)从Zk中确定其最小值Zmin; 12)把Zmin的值及属性送显。 第第8 8章章 真实感图形真实感图形 第第7 7章章- -

23、3232/34/34 计算机图形学计算机图形学 2021-7-12 计算机科学与技术学院计算机科学与技术学院 3.截交线的求交算法截交线的求交算法 求扫描平面和形体表面的截交线主要解决以下问题: 1)形体的数据结构采用翼边结构; 2)判断棱线(边)和扫描平面是否相交: 条件:y1y2 (y1-i)(y2-i)0 3) 求出第一个与y=i扫描面的交点,记录该边和交点 此边为起点,进行交点追踪, 采用循环:for j=1,L(形体的总边数)。 4)以翼边结构中的面指针作为追踪的方向, 根据左右指针的值进行追踪。 第第8 8章章 真实感图形真实感图形 第第7 7章章- - 3333/34/34 计算

24、机图形学计算机图形学 2021-7-12 计算机科学与技术学院计算机科学与技术学院 y=i 5)追踪结束标志: 若重新追踪到第j边,说明截交线是封闭的多边形。 若追踪到某个边,该边面指针为空,说明形体表面 不封闭;应转向从j的另一个方向追踪,直到边界为止。 1 1 2 2 3 3 4 4 A A A1A1 第第8 8章章 真实感图形真实感图形 第第7 7章章- - 3434/34/34 计算机图形学计算机图形学 2021-7-12 计算机科学与技术学院计算机科学与技术学院 4.像素点可见性判断像素点可见性判断 间隔可以分为三类: 1)不包含截交线段, 图中,xxb, 用背景色显示该像素点。 2

25、)仅包含有一条线段或一 个点, 图中x=xa、x=xb两点处 用线段所在表面颜色显 示该像素点。 第第8 8章章 真实感图形真实感图形 第第7 7章章- - 3535/34/34 计算机图形学计算机图形学 2021-7-12 计算机科学与技术学院计算机科学与技术学院 3)同时存在多条线段, 图中,xaxxb,在此需解决以下问题: 循环求出x=j的像素点处各表 面的点,并进行记录: 循环:for k=1,n (n为截交线的边数)。 求交:x=j和两端点确定的直 线段的交点。 有效交点的记录: “起闭终开”判断重合点。 确定Z值最小的点,记录该表 面的颜色。 第第8 8章章 真实感图形真实感图形 第第7 7章章- - 3636/34/34 计算机图形学计算机图形学 2021-7-12 计算机科学与技术学院计算机科学与技术学院 算法的基本步骤 算法的基本步骤 1)定义一维

温馨提示

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

评论

0/150

提交评论