计算机图形学课程设计任务书[1]
- 格式:doc
- 大小:136.50 KB
- 文档页数:10
计算机图形学课程设计设计题目:画三次Bezier曲线和三次B样条曲线班级:姓名:学号:一、总体目标和要求1 课程设计目的本课程主要内容包括计算机图形学的研究内容、发展与应用,图形输入输出设备,图形显示原理,图形软件标准,基本图形生成算法,图形几何变换与裁剪,自由曲线和曲面,三维实体造型,分形几何造型,分形艺术,隐藏面消除,光照模型,颜色模型,光线跟踪,纹理细节模拟,常用的计算机动画技术和软件等。
通过本课程设计,使自己了解计算机图形学的有关原理、算法及系统,掌握基本图形显示程序设计方法,及二维和三维图形变换程序设计方法,为进一步学习计算机辅助设计方面的技术知识打下基础。
2 目标以图形学算法为目标,深入研究。
续而策划设计实现一个能够表现计算机图形学算法原理的或完整过程的演示系统,并能从某些方面做出评价和改进意见。
通过完成一个完整程序,经历策划、设计、开发、总结。
达到:(1)巩固和实践计算机图形学课程中的理论和算法;(2)学习表现计算机图形学算法的技巧;(3)培养认真学习积极探索的精神。
3总体要求策划、设计并实现一个能够充分表现图形学算法的系统,界面要求美观大方,能清楚地演示算法执行的每一个步骤。
二、内容与要求1设计题目画三次Bezier曲线和三次B样条曲线。
2设计要求利用计算机图形学原理画出三次Bezier曲线和三次B样条曲线。
三、算法描述(1)画三次Bezier曲线根据Q(t)=∑P i•B• C i n t i(1-t)n-i(∑中的n=3)并且 C i nBEZ 0,3BEZ 1,3(u)=3u(1-u)(1-u)BEZ2,3(u)=3uu(1-u)BEZ3,3(u)=3uuu三次Bezier函数可以写成P(u)=[u3 u2 u 1]×M×[a b c d] 其中M=[ -1 3 -3 1 ]3 -6 -3 0-3 3 0 01 0 0 0i=0(2)画三次B样条曲线Q i,3(t)=∑P i+l F l,3(t)= P i F0,3(t)+ P i+1 F1,3(t)+ P i+2 F2,3(t)+ P i+ 3 F3,3(t)(其中∑中的n=3)因为四个调和函数F0,3(t)、F1,3(t)、F2,3(t)和F3,3(t) 已知(参看公式7-5-3)因此只要给出四个控制点的位置矢量的坐标,当t在[0,1]范围内取离散地取100个点时(dt=0.01),分别求出每一个曲线上点,相邻点用直线段连接起来,就可以得到相应的B样条曲线。
课程设计报告课程名称计算机图形学课题名称飘扬的旗帜专业计算机科学与技术班级计算机0502学号200503010203姓名蒋维琴指导教师刘长松2008年7 月10 日湖南工程学院课程设计任务书课程名称计算机图形学课题飘扬的旗帜专业班级计算机0502学生姓名蒋维琴学号200503010203指导老师刘长松审批任务书下达日期2008年6 月28 日任务完成日期2008 年7 月10 日一、设计内容与设计要求1.设计内容:飘扬的旗帜,要求该旗帜中有几何图形,旗帜不停地飘动,同时可断地移动,移动的路线可以随机,要求按ESC停止转动,按↑加快速度,按↓减慢速度。
2.设计要求:在屏幕上连续出现飘扬的旗帜,同时不断地在上、下、左、右移动;按↑加快移动速度,按↓减慢移动速度。
3.算法提示:可用自由曲线(Bezier曲线、或B样条曲线)或自由曲面(Bezier曲面、或B样条曲面)来设计旗帜的形状,并将坐标用数组保存;不断改变曲线或曲面的坐标值,可得到不同的曲线形状。
对三维曲面,还可用坐标变换来改变曲线的形状;对移动的路线可以选择一条规则曲线,用随机函数来产生它的起始值和幅度。
当旗帜移动到屏幕的两端时又产生一条新的确良曲线。
这样屏幕上用将产生了不同的移动曲线。
二、进度安排第18 周星期五8 时00分——12时00分星期五14 时30分——18时30分星期六8 时00分——12时00分附:课程设计报告装订顺序:封面、任务书、目录、正文、附件(A4大小的图纸及程序清单)、评分。
正文的格式:一级标题用3号黑体,二级标题用四号宋体加粗,正文用小四号宋体;行距为22。
正文的内容:一、课题的主要功能;二、课题的功能模块的划分(要求画出模块图);三、主要功能的实现(至少要有一个主要模块的流程图);四、程序调试;五、总结;六、附件(所有程序的原代码,要求对程序写出必要的注释)。
正文总字数要求在5000字以上(不含程序原代码)。
目录一、主要功能 (1)二、功能模块的划分 (1)2.1画旗杆 (1)2.2画旗面 (1)2.3画五角星 (1)2.4飘动速度 (1)三、主要功能的实现 (2)3.1总体流程图 (2)3.2画旗面 (2)3.3画五角星 (3)四、程序调试 (4)4.1调试问题 (4)4.2调试结果 (5)五、总结 (5)六、附件: (6)源程序清单 (6)计算机科学与技术系课程设计评分表 (10)一、主要功能画一面红旗,包括旗杆、旗面、五角星。
课程设计(论文)任务书理学院信息与计算科学专业2015-1班一、课程设计(论文)题目:图像融合的程序设计二、课程设计(论文)工作:自2018 年 1 月10 日起至2018 年 1 月12日止三、课程设计(论文) 地点:2-201四、课程设计(论文)内容要求:1.本课程设计的目的(1)熟悉Delphi7的使用,理论与实际应用相结合,养成良好的程序设计技能;(2)了解并掌握图像融合的各种实现方法,具备初步的独立分析和设计能力;(3)初步掌握开发过程中的问题分析,程序设计,代码编写、测试等基本方法;(4)提高综合运用所学的理论知识和方法独立分析和解决问题的能力;(5)在实践中认识、学习计算机图形学相关知识。
2.课程设计的任务及要求1)基本要求:(1)研究课程设计任务,并进行程序需求分析;(2)对程序进行总体设计,分解系统功能模块,进行任务分配,以实现分工合作;(3)实现各功能模块代码;(4)程序组装,测试、完善系统。
2)创新要求:在基本要求达到后,可进行创新设计,如改进界面、增加功能或进行代码优化。
3)课程设计论文编写要求(1)要按照书稿的规格打印誊写课程设计论文(2)论文包括封面、设计任务书(含评语)、摘要、目录、设计内容、设计小结(3)论文装订按学校的统一要求完成4)参考文献:(2)Steve Cunningham,《计算机图形学》,机械工业出版社(3)5)课程设计进度安排内容天数地点程序总体设计 1 实验室软件设计及调试 1 实验室答辩及撰写报告 1 实验室、图书馆学生签名:2018年1月12日摘要图像融合是图像处理中重要部分,能够协同利用同一场景的多种传感器图像信息,输出一幅更适合于人类视觉感知或计算机进一步处理与分析的融合图像。
它可明显的改善单一传感器的不足,提高结果图像的清晰度及信息包含量,有利于更为准确、更为可靠、更为全面地获取目标或场景的信息。
图像融合主要应用于军事国防上、遥感方面、医学图像处理、机器人、安全和监控、生物监测等领域。
《计算机图形学》任务书一.课程设计的目的通过课程设计,使学生具备通过具体的平台实现图形算法的设计、编程与调试的能力,完成对实验结果分析、总结及撰写技术报告的能力。
二.课程设计的要求课程设计时间为第17周,地点:计412室,要求进实验室调试时必须有理论设计,调试通过后请辅导老师验收。
课程设计分组进行,一人一组,设计完成后每人提交一份课程设计报告,没有交报告的同学不予评定成绩。
本次课程设计备选题目有30个,每人选择一个提目,选定后不能更改。
每个题目的基本要求必须完成,其他可根据自身情况选做。
三.课程设计报告要求1.设计概述设计题目、设计要求、设计方案2.软件设计软件流程框图3.调试后的正确程序清单4.设计总结分析5.完整的课程设计报告【课程设计报告书内容要求】每一小组要上交一份完整的设计方案,统一用A4纸打印,内容包括:(1)实验报告封面(设计题目、小组成员)(2)设计题目(3)设计方案(4)程序流程图(包括各个子系统和子过程的程序流程)(5)程序清单,要有适当的注释(6)程序运行结果分析(7)系统不足及改进方案四.课程设计选题(任选一题)1、逐点比较法生成直线内容:(1)推导出该算法法绘制直线的原理;(2)根据算法原理,设计相应算法;(3)编写该算法的程序并实现;功能要求:(1)要求有两种方式进行输出:1)模拟算法输出;2)直接生成输出。
(2)采用屏幕或键盘输入坐标点;2、椭圆Bresenham算法内容:(1)推导出Bresenham法绘制椭圆的算法原理;(2)根据算法原理,设计相应算法;(3)编写绘制完整椭圆的中点或Bresenham算法程序;功能要求:(1)要求有两种输入方式:根据输入点来生成椭圆并输出椭圆的长短轴;输入椭圆的长短轴来生成椭圆;(2)椭圆的颜色为红色;3、多边形有效边表填充算法内容:(1)设计边表与活性链表数据结构;(2)根据多边形有效边表填充算法原理,设计相应算法;功能要求:(1)要求根据鼠标输入点来生成多边形;(2)通过右键菜单显示填充效果,右键菜单有两个选项:未填充与填充;(3)参考文[1]-6;4、区域四向种子点填充算法内容:(1)掌握四向邻接点的访问方法;(2)掌握堆栈的编程操作;(3)掌握种子填充算法原理;功能要求:(1)区域为多边形,要求根据鼠标输入点来生成多边形;(2)通过右键菜单实现填充效果;(3)参考文[1]-8;5.影线填充算法内容:(1)掌握影线填充算法原理;(2)掌握边界数据的组织方法;(3)掌握复合域转换为单值域的方法;(4)掌握影线和边界求交的计算方法;功能要求:(1)要求根据输入屏幕点生成多边形区域边界;(2)通过键盘按键实现填充一组斜线;6、直线快速裁剪算法内容:(1)掌握窗口相对于直线的位置判断;(2)掌握直线快速裁剪的原理;(3)实现点一直线裁剪和多条直线直线裁剪;功能要求:(1)要求根据输入两点来生成直线;(2)通过键盘按键实现裁剪;7.多边形裁剪算法内容:(1)掌握多边形算法原理;(2)掌握直线和窗口相交的判断条件;(3)掌握直线和窗口交点处的参数值计算方法;功能要求:(1)要求根据输入屏幕点生成多边形和窗口;(2)通过键盘按键实现裁剪;8. 三视图算法内容:(1)掌握三视图生成原理;(2)掌握主视图、俯视图和侧视图变换矩阵;功能要求:(1)缺省状态为正三棱柱的三维立体图;(2)通过右键菜单显示三视图,右键菜单有两个选项:立体图与三视图;9. 双三次Bezier曲面算法内容:(1)掌握双三次Bezier曲面定义;(2)实现矩阵相关运算;功能要求:(1)给定16个三维控制点如下:P00(200,20,0),P01(150,0,100),P02(50,-130,100),P03(0,-250,50);P10(150,100,100),P11(100,30,100),P12(50,-40,100),P13(0,-110,100);P20(140,280,90),P21(80,110,120),P22(30,30,130),P23(-50,-100,150);P30(150,350,30),P31(50,200,150),P32(0,50,200),P33(-70,0,100);(2)实现键盘控制曲面旋转效果10.立方体背面剔除消隐算法内容:(1)掌握背面剔除消隐算法原理;(2)实现矢量点积与叉积运算;(3)透视投影变换功能要求:(1)绘制立方体线框模型的透视投影图,使用背面剔除算法实现动态消隐;(2)通过右键菜单显示消隐效果,右键菜单有两个选项:未消隐与消隐;(3)使用键盘的上下左右控制键旋转消隐前后的立方体;(4)单击左键增加视距,右击缩短视距;11. 球体背面剔除消隐算法内容:(1)掌握背面剔除消隐算法原理;(2)实现矢量点积与叉积运算;(3)透视投影变换(4)曲面体经纬线划分方法功能要求:(1)绘制球体线框模型的透视投影图,使用背面剔除算法实现动态消隐;(2)通过右键菜单显示消隐效果,右键菜单有两个选项:未消隐与消隐;(3)使用键盘的上下左右控制键旋转消隐前后的球体;(4)单击左键增加视距,右击缩短视距;12.立方体动态Z-Buffer隐面算法内容:(1)掌握Z-Buffer消隐算法原理;(2)像素点动态深度计算;功能要求:(1)绘制立方体,使用Z-Buffer消隐算法实现消隐;(2)使用键盘的上下左右控制键旋转消隐前后的立方体;13.参数法绘制凸多面体动态图形内容:(1)掌握参数法绘制三维图形的方法;(2)掌握立体的数据结构形式并合理组织数据;功能要求:(1)绘制凸多面体(简易房子)的动态消隐图形;(2)使用键盘的上下左右控制键旋转消隐前后的立方体;14.明暗处理立方体算法-Gouraud明暗处理内容:(1)掌握双线性光强插值方法;(2)根据有效边表法绘制立方体每个面;功能要求:(1)绘制立方体,使用Gouraud明暗处理填充立方体各个面;(2)使用键盘的上下左右控制键旋转立方体;15.明暗处理立方体算法-Phong明暗处理内容:(1)掌握双线性法向量插值方法;(2)根据有效边表法绘制立方体每个面;功能要求:(1)绘制立方体,使用Phong明暗处理填充立方体各个面;(2)使用键盘的上下左右控制键旋转立方体;16.球的光照模型算法内容:(1)掌握简单光照模型计算;(2)球体绘制方法;功能要求:(1)绘制球体,给球体施加环境光、漫反射光和镜面反射光;(2)通过右键菜单控制显示效果,右键菜单安排如下:17.立方体纹理映射算法内容:(1)国际象棋棋盘纹理的制作;(2)立方体表面纹理映射方法;功能要求:(1)绘制立方体,给立方体添加国际象棋棋盘纹理;(2)使用键盘的上下左右控制键旋转立方体:18.编程实现时钟运动内容:(1)掌握动画基本原理;(2)实现平面几何变换;功能要求:(1)显示时钟三个时针,实现三根时针间的相互关系;(2)通过右键菜单切换时钟背景与时针颜色;19.实现皮球运动动画内容:(1)掌握动画基本原理;(2)圆的绘制;功能要求:圆皮球从某竖直高度以横向速度抛出,落地,弹起,最终静止。
计算机图形学课程设计报告专业:班级:学号:姓名:指导教师:[设计题目] :计算机图形学设计与实现[设计地点]: 10教4楼[设计人员]:[设计任务] :1:生成直线的DDA算法2:生成直线的中点算法3:生成圆的中点算法4:生成圆的正负法算法5:生成椭圆的中点算法6:扫描转化为矩形7:种子填充算法8:平移变换9:放缩变换10:直线段裁剪二维线画图元的生成1.1. 生成直线段的DDA 算法 基本原理 扫描转换直线段所谓扫描转换直线段就是计算出落在直线段上或充分靠近它的一串像素,并以此像素集近似替代原连续直线段在屏幕上显示的过程。
生成直线段的DDA 算法求表示直线段的像素集的最简单方法是利用直线方程直接计算。
设直线方程为y=m ·x+B DDA 算法描述:(1) 对给定端点的直线段以一个单位像素为分割区间(2) 根据直线方程得到直线段上对应于横坐标的点的纵坐标,于是得到一系列点列(3) 计算出的纵坐标可能是浮点数,并其四舍五入取整 (4) 描点画图 其中,用公式11(1)i i i i i y mx B m x B mx B m y m ++=+=++=++=+我们就从i y 直接得到1i y +,而不是由1i x +通过直线方程来计算1i y +,由此便消除了算法中的乘法。
递推公式的初值为:00(,)(0,0)x y x y =主要程序代码:void dda_line(int x1,int y1,int x2,int y2,int color) /*画直线*//DDA 算法 {int x;float dx,dy,y,m; if(x1==x2) {for(y=y1;y<=y2;y++) putpixel(x1,y,color); }dx=x2-x1; dy=y2-y1; m=dy/dx;y=y1;for(x=x1;x<=x2;x++) {putpixel(x,(int)(y+0.5),color); y+=m; } }运行效果:1. 2. 生成直线段的中点算法 基本原理假定直线段的斜率m ∈[0,1],并且左下方的端点为,0(0,0)P x y ,右上方的端点为1(1,1)P x y 。
目录1、课程设计目的 (1)2、系统功能介绍 (1)3、程序代码和分析 (2)4、总结 (4)5、参考文献 (4)6.源程序 (4)计算机图形学课程设计报告1.课程设计目的本课程主要内容包括计算机图形学的研究内容、发展与应用,图形输入输出设备,图形显示原理,图形软件标准,基本图形生成算法,图形几何变换与裁剪,自由曲线和曲面,三维实体造型,分形几何造型,分形艺术,隐藏面消除,光照模型,颜色模型,光线跟踪,纹理细节模拟,常用的计算机动画技术和软件等。
在学期期末时按课程要求进行运动,提高学生对计算机图形学知识的了解与运用技巧同时通过此次课程设计提高动手实践能力与学习分析能力这就是本次的课程设计的目的。
2.课程设计描述及要求此次课程设计的课题为利用VC++6.0和插件OPENGL制作三维模型。
本设计主要通过建立MFC工程,在工程里建立一个三维模型然后再进行旋转,飞行等运动,来建立一个动态的三维模型。
主要步骤如下:1:工程的建立2:三维模型的建立和映射3:三维模型的运动一:工程的建立1:系统配置。
先对机子安装VC++6.0.在建立工程前,本实验需要添加OPENGL 插件,故需要在Windows环境下安装GLUT步骤如下:1、将下载的压缩包解开,将得到5个文件2、在“我的电脑”中搜索“gl.h”,并找到其所在文件夹(如果是VisualStudio2005,则应该是其安装目录下面的“VC\PlatformSDK\include\gl文件夹”)。
把解压得到的glut.h放到这个文件夹。
3、把解压得到的glut.lib和glut32.lib放到静态函数库所在文件夹(如果是VisualStudio2005,则应该是其安装目录下面的“VC\lib”文件夹)。
4、把解压得到的glut.dll和glut32.dll放到操作系统目录下面的system32文件夹内。
(典型的位置为:C:\Windows\System32)然后建立一个OpenGL工程测试这里以VisualStudio2005为例。
河南理工大学万方科技学院课程设计报告课程名称:计算机图形学设计题目:直线快速裁剪算法组成员:专业班级:08—计算机科学与技术—01指导老师:2011-6-12目录第一章前言 (1)第二章设计内容与要求 (1)2.1 总体目标和要求 (1)2.2 内容与要求 (2)第三章总体设计 (2)3.1 矩形裁剪窗口的设计 (2)3.2 个编辑文本框的设计 (2)3.3 四个按钮的设计 (2)3.4 四个标签的设计 (3)3.5 直线段的生成算法的设计 (3)3.6直线段裁剪 (3)第四章详细设计 (4)4.1 矩形裁剪窗口的设计 (4)4.2 个编辑文本框的设计 (5)4.3 四个按钮的设计 (5)4.4 四个标签的设计 (5)4.5 直线段的生成算法的设计 (5)4.6直线段裁剪 (8)第五章功能实现 (12)5.1直线的生成 (12)5.2直线的裁剪 (13)5.3矩形窗口的大小变换 (14)第六章总结 (15)参考文献: (15)附录源代码: (16)第一章前言计算机图形学(Computer Graphics,简称CG)是一种使用数学算法将二维或三维图形转化为计算机显示器的栅格形式的科学。
简单地说,计算机图形学的主要研究内容就是研究如何在计算机中表示图形、以及利用计算机进行图形的计算、处理和显示的相关原理与算法。
计算机图形学的研究内容非常广泛,像图形硬件、图形标准、图形交互技术、光栅图形生成算法、曲线曲面造型、实体造型、真实感图形计算与显示算法、非真实感绘制,以及科学计算可视化、计算机动画、自然景物仿真、虚拟现实等。
经过40 多年的发展, 计算机图形学已成为计算机科学中, 最为活跃的分支之一, 并得到广泛的应用。
其中最重要的莫过于计算机辅助设计与制造(Computer Aided Design / Computer Aided Manufacture),例如AUTOCAD 2008,Maya8.5,3ds Max 9都是这方面最领先的图形学软件。
《计算机图形学》课程设计教学大纲作者:孟芸审核:李印清课程代码:课程名称:《计算机图形学》课程设计英文名称:Course Exercise in Computer Graphics课程类型: (选修课、必修课、公共选修课、专业基础课、专业选修课等等)总学时:1周讲课学时:实验学时:学分:1分一、课程说明(一)课程设计书写规范1.题目内容及要求2.设计思路---工作原理图、功能规划3.具体实现---类设计、功能设计、关键代码4.运行调试与分析讨论---给出运行屏幕截图,分析运行结果,改进想法。
5.设计体会与小结---设计遇到的问题及解决办法,通过设计学到了哪些新知识,巩固了哪些知识,有哪些提高。
6.参考文献(必须按标准格式列出)7.报告按规定排版打印,要求装订平整,否则要求返工;(二)课程设计报告的装订顺序封面---任务书---中文摘要---目录----绪论----正文----设计小结----参考文献----附录等(三)课程实际时间10周-16周(四)要求课程设计论文页数控制在20页以内。
每个题目每班只可以允许一组人选(第一题除外)。
(五)适用专业计算机科学技术、网络工程二、题目要求:(一)简易图形编辑软件(1~4人)(可以有四组人选则)1.编写一个简易图形编辑软件,可以是一个应用程序,也可以是基于WEB环境,主要功能有:2.具有菜单,通过菜单执行各种操作;3.采用图元的扫描转换算法绘制各种基本图元,如直线、圆、圆弧、多边形;4.实现图形的平移、缩放、旋转、对称、错切及组合变化;5.能够拾取图形,并修改所选的图形的颜色、线型等;6.能够采用各种算法填充多边形、圆、扇形区域;7.能够采用各种算法实现直线裁剪或多边形裁剪;8.能够绘制各种样条曲线。
9.能够绘制三维图形的投影图,包括:三视图、轴侧图、透视图;10.能够绘制分形图形,例如,Koch 雪花曲线、Bracketed L系统等;11.能够实现重做与撤销;12.能够保存和打开图形文件。