计算机图形学课程设计任务书[1]
计算机图形学的课程设计

计算机图形学课程设计设计题目:画三次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 。
计算机图形学 课程设计

2、gluSphere(quadric, 0.45f, 40, 40)函数是在原点绘制图形,经过 glTranslatef* 和 glRotatef*平移和旋转可以随意改变球体位置:
glRotatef(-90.0f, 1.0f, 0.0f, 0.0f); // 将坐标系绕 X 轴旋转-90 度 glTranslatef(1.7f, 0.0f, 0.0f); // 将坐标系右移 1.7f
8、建立一个地球公转轨道,调用函数 glTranslatef*把球体平移一定距离,使其在自
4
己的轨道上运行。同时为了使月球跟随地球,glRotatef(fEarthOrbit , 0.0f, 1.0f, 0.0f); 将坐标系绕 Y 轴旋转地球公转的角度,控制月亮跟随地球,用函数 glTranslatef*平移使月 球轨道在地球周围而不与地球重叠。
5
参数代表要操作的目标,GL_PROJECTION 是对投影矩阵操作,GL_MODELVIEW 是对模型视景矩 阵操作,GL_TEXTURE 是对纹理矩阵进行随后的操作。 13、glutIdleFunc(void (*func)(void))在 glutIdleFunc(void (*func)(void))回调函数 中指定一个函数,如果不存在其他尚未完成的事件(例如,当事件循环处于空闲的时候), 就执行这个函数。这个回调函数接受一个函数指针作为它的唯一参数。如果向它传递 NULL(0),就相当于禁用这个函数。glutMainLoop 进入 GLUT 事件处理循环。在一个 GLUT 程 序中,这个例程被调用一次 。一旦被调用,这个程序将永远不会返回 无限循环。它将调用 必要的任何已注册的回调。程序最后调用这个函数,让程序循环执行下去,使运动继续下去。
9、OpenGl 把三维坐标中的球体绘制到而为坐标屏幕,绘制的顺序是按代码的顺序来进 行的。因此后绘制的物体会遮住先绘制的物体,既使后绘制的物体在先绘制的物体后面也是 一样,使用深度测试可以解决这个问题。使用方法是:以 GL_DEPTH_TEST 为参数调用 glEnable 函数,启动深度测试。在必要时(通常是每次绘制画面开始时)清空深度缓冲,即: glClear(GL_DEPTH_BUFFER_BIT) , 其 中 glClear(GL_COLOR_BUFFER_BIT) 与 glClear(GL_DEPTH_BUFFER_BIT) 可 以 合 并 写 为 glClear(GL_COLOR_BUFFER_BIT| GL_DEPTH_BUFFER_BIT),且后者运行速度比前者快。
计算机图形学课程设计报告1

目录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为例。
计算机图形学课程设计报告

源程序 // Yzg20166989View.cpp : implementation of the
CYzg20166989View class //
#include "stdafx.h" #include "Yzg20166989.h"
#include "math.h"
#include "Yzg20166989Doc.h" #include "Yzg20166989View.h"
设计目的 培养对图形建模、变换、投影、消隐、光照原理的理解和应用。 培养图形类的编程能力。 培养计算机图形学应用软件开发的能力。
设计要求 深入研究计算机图形学的生成原理,设计算法实现具体的类。 1.构建基础类 实现 CP2 类绘制二维点;实现 CP3 类绘制三维点;实现 CRGB 类处理 RGB 颜色;实现 CVector 类处理矢量。 2.构建直线类 实现 CLine 类绘制任意斜率的直线、实现 CALine 类绘制任意 斜率的反走样直线、实现 CCLine 类绘制任意斜率的颜色渐变直线、 实现 CACLine 类绘制任意斜率的反走样颜色渐变直线。 3.构建变换类 实现 CTransForm 完成二维和三维图形变换。 4.构建填充类 实现 CFill 类使用有效边表算法填充多边形、实现 CZBuffer 类进行深度缓冲消隐,并使用 Gouraud 和 Phong 明暗处理填充图形 面片。 5.构建光照类
CYzg20166989View::CYzg20166989View()
{ // TODO: add construction code here
}
CYzg20166989View::~CYzg20166989View() { }
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
设计报告应包括的内容:课题名称及要求;系统总体设计方案(画出系统原理框图、方案的论证与比较等内容);画出程序整体框图。课程设计报告应认真、规范、正确
4.主要参考文献
1、杜晓增.计算机图形学基础(第二版).北京:机械工业出版社,2003
2、唐敏,童若锋.计算机图形学课程设计.杭州:浙江大学出版社,2008
具体要求:
(1)写出实现方法;
(2)实现该方法;
19.设计一个多边形,利用活化实现方法;
(2)实现该方法;
3.课程设计任务及工作量的要求〔包括课程设计计算说明书、图纸、实物样品等要求〕
利用VC++或C++等工具进行应用程序的设计。学生应做到如下要求:
1.必须熟悉任务书的各项内容和要求,明确课程设计的目的、方法和步骤
2.设计中必须努力认真,独立地按质按量地完成每一阶段的设计任务
3.设计中严禁抄袭他人的设计成果
4.每人在设计中必须遵守各组规定的统一设计时间及有关纪律
5.所设计的程序必须满足实际使用要求,编译出可执行的程序
6.要求程序结构简单,功能齐全,使用方便
7.学生在完成系统功能的设计、调试后,申请指导教师验收。
(3)用中点法或区域代码的方法实现裁剪。
3、《图形变换》
具体要求:
(1)绘制出图形;
(2)实现图形的平移、旋转、缩放、错切等变换。
4、《绘制曲线》
具体要求:
(1)编写一个交互绘制Bezier或B样条曲线的程序;
(2)给出控制点就能绘制曲线;
(3)自己编写函数实现。
5、《可见面判断》
具体要求:
(1)绘制多面体图形;
(3)对汉字进行填充及各种变换。
14.在屏幕上使用鼠标左键绘制数量大于4的任意顶点形成控制多边形,单机鼠标右键绘制三次B样条曲线,同时在控制多边形的每一个特征三角形内用虚线显示三次B样条曲线的几何生成原理。
具体要求:
(1)分析原理,写出算法;
(2)实现该算法;
15.给定“树叶”轮廓的控制点,要求使用B样条曲线的特殊构造技巧,使用B样条绘制所构造的树叶。
具体要求:
(1)分析原理,写出算法;
(2)实现该算法;
16.样条曲线和正弦曲线同时绘制,进行效果对比,绘制的长度不少于两个周期。
具体要求:
(1)分析原理,写出算法;
(2)实现该算法;
17.自定义一个三维图形,可参考下图,绘出其三视图。
具体要求:
(1)分析原理,写出算法;
(2)实现该算法;
18.模仿Windows画图的界面,编写一个交互画图的小系统程序。
8. 《观察和投影变换》
具体要求:
(1)设计一立体图形;
(2)输出其三视图;
(3)定义观察窗口,输出其三维线架图。
9.《设计一个动画程序》
具体要求:
(1)设计一个图形,完成该图形的动画演示;
(2)给出使用说明。
10.《用OpenGL绘制一三维图形》
具体要求:
(1)绘制三维图形;
(2)添加纹理。
11.《设计一个分形树》
计算机图形学课程设计任务书[1]
———————————————————————————————— 作者:
———————————————————————————————— 日期:
南京工程学院
课程设计任务书
课 程 名 称计算机图形学
院(系、部、中心)计算机工程学院
专业计算机科学与技术
班 级多媒体091
起 止 日 期2011.12.19—12.25
验收并简单考查
撰写课程设计报告(任务书)
6.成绩考核办法
1.设计报告的成绩ﻩ30%
2.实际动手能力 ﻩ50%
3.创新能力10%
4.态度和纪律10%
成绩评定分优秀、良好、中等、及格和不及格等五档。
教研室审查意见:
教研室主任签字:
年月日
院(系、部、中心)意见:
主管领导签字:
年月日
(2)输出各面的可见性;
(3)做任意角度旋转变换,再判断各面的可见性
6、《颜色渐变三角形》
具体要求:
(1)绘制三角形;
(2)实现颜色的各种变换;
(3)实现填充色的渐变(从一个方向开始颜色由浅入深)
7、《绘制三维五角星》
具体要求:
(1)编写一个绘制三维五角星的程序;
(2)实现填充,中心点最红,渐变到外围颜色变浅;
指 导 教 师丁宇辰
ﻬ1.课程设计应达到的目的
《计算机图形学》是一门理论与实践并重的课程,既要注重理解基本知识,也要注重培养基本技能。相应的计算机图形学课程设计对帮助学生全面牢固地掌握课堂教学内容、培养学生编程能力、提高学生全面素质具有很重要的意义。通过本课程的实践环节,使学生具有使用计算机图形学的基本算法开发简单应用程序的能力,并理解软件系统开发的基本流程。
2.课程设计题目及要求
选择实现以下任务中的1~2个。
1、《多边形填充》(直线、圆、椭圆利用算法自编函数进行调用)
具体要求:
(1)能利用交互手段实现多边形、圆或椭圆的绘制,并能实现填充;
(2)自己编写划线函数;
(3)自己编写填充函数;
2、《二维图形裁剪》
具体要求:
(1)设计程序实现二维图形的裁剪;
(2)设计坐标系,画出二维图形;
3、孔令德.计算机图形学课程设计.北京:北京大学出版社,2005
4、孔令德.计算机图形学课程设计教程.北京:北京大学出版社 2001
5.课程设计进度安排
起 止 日 期
工 作 内 容
2011-12-12
2011-12-19至2011-12-25
2011-12-25
选定设计课题,下达设计任务
学生查询资料,进行设计,并上机调试,教师辅导
具体要求:
(1)写出算法分析步骤;
(2)实现该算法;
(3)改变输入,观察分形图形。
12.《设计B样条曲面》
具体要求:
(1)对B样条曲面的数学表达式进行分析,写出算法步骤;
(2)实现该算法;
(3)改变输入,观察曲面图形。
13.《自造字库,设计一个特大型汉字》
具体要求:
(1)构造汉字字库;
(2)实现汉字的输出;