图形学课程设计_第1页
图形学课程设计_第2页
图形学课程设计_第3页
图形学课程设计_第4页
图形学课程设计_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

图形学课程设计第一页,共二十页,2022年,8月28日二、课程设计题目1、基于四叉树算法绘制颜色填充等值线图2、三维光照曲面地形图的绘制3、直线、多边形剪裁图形软件设计4、三维真实感图形设计与绘制三、选题概要说明1、基于四叉树算法绘制颜色填充等值线图概要说明(1)等值线的基本概念等值线是一组值相等的序列连线组成的图形。等值线图在实际中应用广泛,如等高线图、等气压图等等。等值线的表达形式有两类:一类是画线等值线图;另一类是颜色填充等值线图(如图所示)。第二页,共二十页,2022年,8月28日第三页,共二十页,2022年,8月28日(2)等值线图的绘制方法依据数据分部不同,等值线图的绘制有两类方法:1)三角网法:三角网法是针对数据分布不规则环境下的一种绘制方法,如下图所示。其中:圆点表示数据值的分布第四页,共二十页,2022年,8月28日2)矩形网格法矩形网法是一种针对数据分布规则的等直线图绘制方法。它是设平面区域按一定大小的网格距划分的矩形网格,如下图所示,显然,数据的组织形式是一个二维数组,每一个数组元素数值Z。45708510011013035507590105125405565851001155060759510512060657898110125707585100120135上述方法是线形绘制方法,这种方法的缺点是不直观。因此目前广泛采用的方法是将其两等值线间作颜色填充处理。下面我们讨论该方法的颜色填充方法第五页,共二十页,2022年,8月28日(3)基于四叉树的颜色填充等值线图绘制方法算法基本思想:当网格四个节点的颜色值相等时,则用该颜色值填充该矩形,否则将矩形网格等分四个小网格,并用插值方法计算每个小网格的颜色值,递归使用网格四个节点的颜色值是否相等,由此依次建立一棵四叉树如图所示。下面我们取矩形网中的一个网格介绍该算法的处理步骤:1)求网格数组中最小值(Zmin)和最大值(Zmax)。例如:Zmin=0Zmax=150;设定等值线图填充颜色数Count,并计算等值颜色域的间距D。例如:Count=3;D=(Zmax-Zmin)/Count;3)在网格中取一矩形网格,并分别计算矩形节点的颜色索引值IC=[(z-Zmin)/D],例如:457035500100IC=[(z-Zmin)/50]4570355057.54042.56050第六页,共二十页,2022年,8月28日4570355057.54042.56050求IC010010010010010010显然,上述细分过程是一个递归过程,且细分至四个顶点的颜色值全部相等或小于等于一个像素为止。第七页,共二十页,2022年,8月28日四连通域第八页,共二十页,2022年,8月28日(5)绘制颜色填充的等值线图的算法步骤是:1)读入网格数据值,并求全区网格的最大值Zmax和最小值Zmin。给定等值线的级数N,求得等值线的间距dc=(Zmax-Zmin)/N。建立填充颜色表color[]。循环递归调用四叉树算法填充网格矩形颜色值。5)等值线检测6)绘制平面坐标系7)绘制色码标识第九页,共二十页,2022年,8月28日229219199216235255266285272241246281284275261273221214195216234258273289281249259278287272275277213203196206221232259293294277258285287283288286204195200201209218231259288306286291301311319298196207201211239234241259294315317321325322325341208218204214235260239268298291331313281280280280216231218196220255271253264303322312276243238239236242218198200215224238261294324312280255220200255241219211206225252275284285305316271237208191245218207198214241261256273276291298281238197175225215205195208221235252262271301275245212181171(6)等直线绘制数据第十页,共二十页,2022年,8月28日2、三维曲面地形图的绘制(1)题目内容説明:给定一组离散地形数据(数据可以采用绘制等值线数据),通过曲面拟合方法,将不规则的数据分布转换成规则的网格分布,然后绘制三维地形曲面图。即如图所示:(xi,yi,zi)曲面拟合生成网格第十一页,共二十页,2022年,8月28日第十二页,共二十页,2022年,8月28日(2)技术难点说明1)网格化数据规则网格化(简称网格化)。网格化实际是一种曲面拟合方法。关于曲面拟合算法有很多,下面我们采用曲面样条方法实现网格化。我们定义曲面样条函数:将上式写成矩阵:求系数其中:第十三页,共二十页,2022年,8月28日(3)程序设计框图读入离散地形数据文件调用曲面拟合函数网格化(M*N)for(i=0;i<M-1;i++)for(j=0;j<N-1;j++)取一个小网格I,j,i+1,j+1将小网格剖成两个三角形分别计算两个三角形法向量(nx,ny,nz)并作glNormal3d(nx,ny,nz)显示三角形结束第十四页,共二十页,2022年,8月28日3、直线、多边形剪裁图形软件设计(1)题目内容说明:直线裁剪和多边形裁剪是图形交互常用技术的软件设计。从应用实际出发,完成该题目要求:1)利用菜单实现直线裁剪、多边形裁剪、鼠标画线输入、 多边形输入和选择裁剪窗口功能设计2)实现鼠标画线与数据存储功能。3)实现鼠标画多边形与数据存储功能。4)实现鼠标剪裁窗口选择功能。5)实现直线与多边形裁剪功能(2)技术要点说明关于直线段裁剪和多边形裁剪的理论方法以及各自的程序设计技术思路已在图形学课堂上作了介绍。因此主要技术要点是:1)分别建立一个描述直线类及直线类集和多边形类及多边形类集,实现方法可以采用链表方式或者采用向量集(vector)。2)分别建立直线段裁剪、多边形裁剪算法类3)构建一个良好的菜单控制模块4)完成鼠标画线、画多边形和数据存储以及剪裁窗口选择等三个模块的实现。第十五页,共二十页,2022年,8月28日4、三维真实感图形设计与绘制(1)题目内容说明:本题目要求应用OpenGL的光照技术和纹理技术实现一个简单的三维真实感图形的程序设计。具体要求实现功能:1)通过对话方式实现交互式设计光照模型功能。2)实现三维模型纹理映射功能3)用鼠标跟踪球方法实现三维模型的空间旋转(2)技术要点说明1)三维模型显示场景树所谓三维场景树是指将三维可视化模型场景内容分解用一种树或表数据结构描述。例如:第十六页,共二十页,2022年,8月28日Root网格线物体组CubespereCone第十七页,共二十页,2022年,8月28日类图GSceneNodevirtualvoiddraw()

GGroupNodeGSceneNode*G;GGroupNode(GSceneNode*g)voidsetNode(GSceneNode*g)voiddraw()

GWireConedoublemR1,mR2;intmC1,mC2;voidset()virtualvoiddraw()

GWireSperedoublemR1,;intmC1,mC2;voidset()virtualvoiddraw()

GWireCubedoublemR1;voidset()virtualvoiddraw()

GPlanevirtualvoiddraw()第十八页,共二十页,2022年,8月28日2)实现一个读Targa文件的程序Targa是一种常见的图像格式文件,该文件通常以未压缩的格式存储图像。它的格式是:(1)文件头 它包括图像宽度、高度和数据格式信息(2)颜色成分的数量 单色:数量=1,彩色:数量=3(r,g,b),数量=4(r,g,b,a)(3)GLenum类型指针,它接收与文件对应的OpenGL图像格式。3)实现鼠标跟踪球方法程序第十九页,共二十页,2022年,8月28日四、课程设计报告编写参考格式1.问题的提出与需求分析1)表明解决问题是什么及其实现的目标?2)分析问题的概念、算法原理及其需求的处理方法。2.绘图程序设计的技术思

温馨提示

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

评论

0/150

提交评论