计算机图形学是近三十年来发展迅速、应用广泛的新兴学科。
它主要研究用计算机及图形设备输入、表示、修改、变换和输出图形的原理、算法和系统。
本课程的主要内容:计算机图形学的发展和应用;计算机图形设备和系统;国际标准化组织(ISO) 发布的图形标准;人机交互接口技术;基本图形实体、自由曲线和自由曲面的生成算法;图形变换和裁剪;曲面和实体造型算法;颜色、光照模型及真实感图形显示技术与算法等内容。
结合讲课的内容需要经过一定量的编程实践才能掌握,加深理解。
通过本课程的学习,要求学生了解计算机图形学的基本概念和方法,以及计算机处理图形的全过程,并能利用综合图形环境开发计算机辅助设计应用软件
“案例1-金刚石图案”设计目的是建立Test工程模板,为后续的案例案例开发提供一个通用的程序模板。
“案例2-颜色渐变直线”设计目的是使用中点Bresenham算法绘制任意斜率的直线,直线的颜色从起点到终点进行颜色渐变,这种任务如果使用MFC本身的画线函数是无法实现的。
“案例3-反走样卫星图”设计目的是实现直线、圆、椭圆等二维基本图元的反走样算法。
“案例4-RGB演示”设计目的让读者深入理解计算机图形显示器的物理颜色模型。
“案例5-填充任意多边形”设计目的是实现交互式绘图的基本技术,如回显、橡皮筋、约束、引力域等。
“案例6-颜色渐变三角形”设计目的是使用有效边表算法实现任意三角形的面颜色渐变填充,为真实感光照模型的绘制作知识储备。
“案例7-旋转正方体”设计目的是对三维物体的线框模型实现旋转、消隐、透视和动画等操作,构建三维动画场景。
“案例8-颜色渐变正八面体”设计目的是在面颜色渐变的基础上,实现三维物体的颜色渐变。
“案例9-正方体图片贴图”设计目的是对三维物体进行纹理映射,本案例将照片作为纹理绑定到正方体的各个表面上。
“案例10-颜色渐变交叉面”设计目的是实现Z-Buffer消隐算法,Z-Buffer消隐算法是绘制真实感图形的基础算法。
“案例11-三维五角星”设计目的是绘制立体五角星,通过恰当设计顶点的颜色生成逼真的立体图形。
“案例12-光照正方体”设计的目的是构建三维光照场景。
通过改变正方体的材质和光源的颜色,可以产生不同的光照效果。
“案例13-光照线框球”设计目的是使用直线反走样技术,绘制双点光源光照照射的球体。
“案例14-台球”设计目的是通过绘制Gouraud双线性光强插值模型,演示马赫带效应。
“案例15-金属球”设计目的是通过选择金属材质、双点光源参数来绘制Phong双线性法矢插值真实感图形。
“案例16-圆环”设计目的是通过选择材质、光源参数来绘制单点光源照射的Gouraud双线性光强插值真实感图形。
“案例17-钻石”设计目的是采用多点光源光照模型来模拟真实钻石。
“案例18-太阳和月亮”设计目的是将材质模型、光源模型和纹理映射结合起来模拟大自然中的太阳和月亮。
3
计算机图形学基础教程(Visual C++版)课程设计任务书
默认分类2010-05-13 19:16:53 阅读188 评论0 字号:大中小订阅
一、课程设计目的
1.培养对图形建模、变换、投影、消隐、光照原理的理解和应用。
2.培养图形类的编程能力。
3.培养计算机图形学应用软件开发的能力。
二、课程设计要求
深入研究计算机图形学的生成原理,设计算法实现具体的类。
1.构建基础类
实现CP2类绘制二维点;实现CP3类绘制三维点;实现CRGB类处理RGB颜色;实现CVector 类处理矢量。
2.构建直线类:
实现CLine类绘制任意斜率的直线、实现CALine类绘制任意斜率的反走样直线、实现CCLine类绘制任意斜率的颜色渐变直线、实现CACLine类绘制任意斜率的反走样颜色渐变直线。
3.构建变换类
实现CTransForm完成二维和三维图形变换。
4.构建填充类:
实现CFill类使用有效边表算法填充多边形、实现CZBuffer类进行深度缓冲消隐,并使用Gouraud 和Phong明暗处理填充图形面片。
5.构建光照类
实现CLight类设置点光源、实现CMaterial类设置物体材质、实现CLighting类对物体实施光照。
通过课程设计项目的设计、开发、测试、总结和验收各阶段,深入理解计算机图形学课程中的理论和算法,学习计算机图形学相关类的编程技巧,初步掌握游戏开发的前期技能。
四、开发环境:
Viusal C++ 6.0的MFC框架。
四、课程设计时间
1周
五、课程设计方式
任选一个题目完成课程设计。
可选题目为:基本图元光栅扫描演示系统、矩形碰撞、三维动态球体、圆环动态纹理、弹球游戏。
考虑到完整的开发过程一般需要付出很多的时间,因此可选择如下的完成方式:
(1) 独立方式(1人),要求完成“基本图元光栅扫描演示系统”和“矩形碰撞”的全部基本内容。
(2) 小组方式(3人),要求完成“三维动态球体”、“圆环动态纹理”和“弹球游戏”的全部基本内容,并对每人完成的内容作具体分工,合作完成。
六、报告格式
课程设计报告由封面、需求分析、总体设计、详细设计、源程序、程序运行效果图、参考文献组成。
封面包括课程设计题目、学号、姓名、指导教师姓名和完成时间;需求分析包括项目的功能要求;总体设计给出类的结构;详细设计给出算法流程图;源程序给出主要模块的头文件和源文件;运行效果图给出程序的动态效果图;参考文献给出课程设计中引用的文献,并在报告中使用角标给出引文出处。
七、评分标准
课程设计成绩根据提交的课程设计报告以及软件系统的验收成绩进行综合评定,分为优,良,中,及格,不及格5个等级。
要求在完成具体课程设计项目所要求功能的同时注重课程设计的创新性。
完成课程设计项目所要求的功能及格
设计了新类且类结构清晰中或良好
在课程设计项目的基础上,创新性地添加了新的内容优秀。