图形学课程设计.ppt
上传人:天马****23 上传时间:2024-09-11 格式:PPT 页数:17 大小:491KB 金币:10 举报 版权申诉
预览加载中,请您耐心等待几秒...

图形学课程设计.ppt

图形学课程设计.ppt

预览

免费试读已结束,剩余 7 页请下载文档后查看

10 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

二、课程设计题目(2)等值线图的数据组织等值线图的数据绘制有两种方法:一种方法是通过建立三角网将给定绘制等值线的值通过网格之间的等值连接而成。另一类方法是通过矩形网给连接等直线。本课程设计以第二种方法讨论等值线图的绘制。设平面一区域按一定大小的网格测得一组数据,如图所示。显然,数据的组织是一个二维数组,即每一个网格节点有一Z值。(3)算法分析1)颜色填充:由上面的数据组织,实际上,讨论颜色填充的等值线图的算法仅讨论一个网格即可。下面我们取一个网格讨论颜色填充的等值线图的算法:2)等值线检测:等值线检测是利用图像边缘检测技术来检测等直线,算法是采用四连通区域法:flag=c1+c2+c3+c4-4*cc;如果flag=0则颜色不变,否则颜色发生变化,即cc点为图像边缘点(见下图)。3)基于四叉树算法绘制颜色填充等值线图算法思想:基于四叉树算法绘制颜色填充等值线图与基于扫描算法绘制颜色填充等值线图的原理是相同的,同样是利用颜色填充等值域。但是采用的填充方法不同。基于四叉树填充算法思想是:当网格节点的颜色值相等时,则用该颜色值填充该网格矩形,否则斯等分细分网格,依次建立一棵四叉树如图所示:显然,上述过程是一个递归过程。在递归过程中需要计算如下参数:X0,y0:细分网格的起点坐标dx,dy:细分网格的网格距*Z:网格节点的Z值*tree:子树的指针2)技术难点说明(1)建立四叉树的存储数据结构(2)递归过程的建立输入树指针pYp=NULLN计算网格节点的颜色值Ic[I](网格节点的颜色值相等)||y(p-dx<=1.0&&p->dy<=1.0)N用节点的颜色值网格细分并应用Bezier曲面拟合绘制网格矩形求细分网格节点的Z值和建立子树p=NULLforI=0;I<4;I++递归遍历四四叉树(3)绘制颜色填充的等值线图的算法步骤是:1)求全区域的最大值Zmax和最小值Zmin。给定等值线的级数N,求得等值线的间距dc=(Zmax-Zmin)/N。建立填充颜色表color[]。循环递归调用四叉树算法填充网格矩形颜色值。5)等值线检测6)绘制平面坐标系7)绘制色码标识(1)技术难点说明1)数据规则网格化数据规则网格化(简称网格化),它包括两方面,一方面是将离散点规则化为具有一定大小规则网格点,如下图所示。另一方面就是将稀网格加密为密度高的网格。显然,网格化实际是一种曲面拟合方法。曲面拟合方法很多,课程设计中可以应用反拟合双三次B样条将稀网格加密为密网格。反拟合双三次B样条见教材。消除隐藏线的方法很多,课程设计中可以使用下面两种简单方法之一。画家消除法画家消除法思想是先画后面的矩形,后画前面的矩形,由此形成了一种如果前面的矩形高于后面矩形,则形成覆盖。(注意这里矩形事实上是指平面网格,它通过投影是一多边形)b.Z值比较法Z值比较法是通过前后的z值的比较来判断隐藏线的消除。具体步骤是:1.建立一个以水平方向网格节点数的存储单元y[M]2.初始化y[m]y[I]=min(Z[I][j])3.if(z[I][j]>y[j])则该点是可见点,将y[j]=z[I][j];否则该点是不可见点,计算两直线的交点,消除不可见的线段。(2)曲面图绘制的步骤(以画家消除法为例):1)控制点数据文件读入函数:ReadFile()。2)A0,A1,A2,A3或B0,B1,B2,B3计算功能函数:Calculate()。3)三次B样条曲面拟合计算功能函数Bsimple()。44)坐标投影计算功能函数:projection()。5)绘制一个B样条小曲面片的图形功能函数:DrawMinSurface()。6)绘制坐标系功能函数:DrawCoordinate()。7)曲面绘制菜单事件处理函数DrawSurfaceClick()。3、直线窗口剪裁图形软件设计本程序的设计技术思路已在图形学课堂上作了介绍。希望同学们在此基础上按照软件设计的要求增加下面功能:1)任意多条直线数据的输入具有键盘、鼠标和文件多种输入功能。2)剪裁窗口的位置、大小能任意交互给定。3)显示具有双视口(原始图形视口,剪裁结果图形视口)的功能。4)具有删除某条直线的功能5、基于深度缓存算法的三维实体图形绘制三、等值线图与曲面图使用数据四、课程设计报告编写参考格式