资源预览内容
第1页 / 共45页
第2页 / 共45页
第3页 / 共45页
第4页 / 共45页
第5页 / 共45页
第6页 / 共45页
第7页 / 共45页
第8页 / 共45页
第9页 / 共45页
第10页 / 共45页
亲,该文档总共45页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
图形图像习题课 赵振刚 gavinustc.edu.cn2010.12.27内容3D观察流水线三维对象表示及样条曲线3D模型及数据结构直方图及均衡化三次作业 Topic1: 3D观察变换定义:让计算机已知模型形状(模型坐标)、观察者位置(观察坐标)、投影方式(观察方式)、显示器窗口大小的情况下,在显示器屏幕预定位置呈现观察者眼中模型样子的过程三个计算(1) MC、WC、VC齐次坐标运算(2) M从三维到二维投影,即平面化(3) 视点变换,即旋转、裁剪平面化后的图形,获得最终结果MC WC齐次坐标运算齐次坐标 第一列为第一列为MC中中x轴在轴在WC中向量表示;中向量表示; 第二列为第二列为MC中中y轴在轴在WC中向量表示;中向量表示; 第三列为第三列为MC中原点在中原点在WC中坐标;中坐标;模型坐标系中的坐标为(1,1)世界坐标系中的坐标为(3,4)MC WC齐次坐标运算将齐次矩阵作为变换矩阵,乘以MC中坐标,得WC中坐标WCVC齐次坐标运算VC对世界标系WC的齐次矩阵及其逆为观察坐标系中的坐标为(-2,-2) 世界坐标到观察坐标回顾理论课内容三维平移回顾理论课内容三维旋转绕绕x x轴轴绕绕y y轴轴绕绕z z轴轴回顾理论课内容三维缩放计算 作业5.5 5.6M从三维到二维投影,即平面化投影变换(Projection Transformation)中分为两个部分,第一个部分是将上个阶段得到的坐标转换为平面坐标,第二个部分是将转换后的平面坐标在进行归一化并进行剪裁。投影一般分为:正交投影、透视投影投影变换在模型视点变换之后应用于物体的顶点之上的,实际上定义了观察区域,并建立了裁剪平面。正交投影的数学分析对于三维空间中的坐标点和一个二维平面,要在对应的平面上投影,只需将非该平面上的点的坐标分量改为该平面上的坐标值,其余坐标不变 openGL中,设置正交投影可以使用函数 glOrtho (GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar)六个参数对应投影空间六个平面 透视投影的数学分析gluPerspective (GLdouble fovy, GLdouble aspect, GLdouble zNear, GLdouble zFar); 生成投影矩阵视口变换比如上个阶段中得到了一个顶点的坐标为(0,0,0.5,1),根据这个坐标,该顶点位于投影平面的正中间。如果将该点映射到大小为50*50的窗口上时,那么它应该位于屏幕的中间,坐标为 (25,25, 0.5,1)。glViewport(width/2, 0, width/2, height/2)3D观察的形象描述(1)视点变换(对准场景)模型变换(放置模型)相反过程3D观察的形象描述(2)投影变换(指定视景形状)视口变换(指定在显示平面中位置和大小)Topic2: 3D模型及数据结构三维数据源: 拍摄好的影像、设计好的图纸或者物体本身获取流程: 工程设计图纸-采集数据标注- 利用AutoCAD、3Dmax等软件建模-PC存储文件模型文件转换方法:多边形网格一个问题三维模型如何进行网格剖分? 问题实质:曲面离散化 问题关键:最优点搜索 快速、连续已有方法: 映射法:曲面-平面-曲面 推进阵面法:插值逼近 Delaunay 三角化方法:离散截取-截面内点-四面体-内外子集分割-公共面规则曲面例子平面与曲面网格示意有限元网格逼近一个问题规则曲面可以由多面体、曲面、二次曲面、超二次曲面来生成,那么不规则曲面的数据集如何生成? 样条表示样条表示 样条是通过一组指定点集而生成平滑曲线的柔性带。是通过一组指定点集而生成平滑曲线的柔性带。样条曲线原指使用这种方式绘制的曲线。数学上使用分原指使用这种方式绘制的曲线。数学上使用分段三次多项式来描述这种曲线段三次多项式来描述这种曲线, ,其中各曲线段的连接处其中各曲线段的连接处有连续的一次和二次导数有连续的一次和二次导数. . 在计算机图形学中在计算机图形学中, ,样条曲线指由多项式曲线段连指由多项式曲线段连接而成的曲线接而成的曲线, ,在每段的边界处满足特定的连续性条件。在每段的边界处满足特定的连续性条件。样条曲面可以使用两组正交样条曲线进行描述。可以使用两组正交样条曲线进行描述。 样条用于设计曲线和曲面形状用于设计曲线和曲面形状, ,将绘制的图形数字将绘制的图形数字化以及设置指定场景中对象的动画路径或照相机的位置。化以及设置指定场景中对象的动画路径或照相机的位置。样条曲线的参数表示参数表示参数表示 x=x(t) y=y(t) z=z(t) 其中:其中:a =t=b(a) 5(a) 5个控制点的插值曲线个控制点的插值曲线 (b) 5(b) 5个控制点的逼近曲线个控制点的逼近曲线三次样条插值方法 给出一组控制点给出一组控制点, ,通过每个控制点的分段三次多通过每个控制点的分段三次多项式曲线拟合输入点项式曲线拟合输入点, ,可以得到立方插值样条。假设可以得到立方插值样条。假设有有n+1个控制点个控制点, ,那么坐标分别为那么坐标分别为: : Pk=(xk,yk,zk) k=0,1,2,n 可以使用下列方程组来描述拟合每对控制点的参可以使用下列方程组来描述拟合每对控制点的参数三次多项式数三次多项式: : x(u)=axu3+bxu2+cxu+dx y(u)=ayu3+byu2+cyu+dy z(u)=azu3+bzu2+czu+dz (0=u运行程序cardinal另一个问题绘制好后的曲线、曲面,如何离散化,以及离散化后的点坐标如何保存? 三角形、四边形离散, 取其顶点3D model format3Dmax ASE (ASCII) file文件头:物体的总顶点数及该物体的总面数顶点表:顶点序号及其对应的坐标值面表:基本三角形面的序号、三角形各个顶点在顶点表中的序号和三角形各边的可见性Scene file example顶点顺序联结按右手系确定法线正方向;每两个三角形单元都是通过它们共有的一条边连接Data structure of map编程实例综合设计实验山地地形读取Koch分形(X1,y1)(X2,y2)(X1,y1)(X2,y2)(X3,y3) (X4,y4)(X5,y5)Koch分形关键程序代码Topic3: 面向对象编程和VC+面向过程思想方法 “结构化程序设计”,将程序设计抽象成三种基本程序机构:顺序、选择、重复结构; 自顶向下、逐步求精、模块化程序设计原则面向对象思想方法 现实问题空间与软件系统解空间的近似和直接模拟,将客观世界的对象映射到面向对象系统的解空间面向对象思想方法的核心概念类和实例封装和消息继承和派生联合和聚集面向对象开发方法面向对象分析(OOA) 提取系统需求,确定对象属性和关系面向对象设计(OOD) 采用问题域模型构造应用程序。面向对象的实现(OOS)VC+文件组织 .dsw .dsp .opt .clw .sln资源类文件视图函数接口Class propertiesFunction interfaceTopic4: 直方图均衡化操作对象 像素灰度值、分布及其相关性直方图均衡化为什么是累加和?累加和?连续均匀分布的概率密度函数10rSr由此概率密度函数可得离散分布时实验三代码等级化累加和原始直方图习题3.4低阶比特置零高阶比特置零一幅图像的高阶比特面会携带大量的可见相关细节,低阶比特面则分布着一些细小的细节(通常是感觉不到的)。
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号