计算机图形学课程教学大纲
一、基本概况
课程名称:计算机图形学(Computer Graphics)
课程代码:146010073
课程类别:专业课
学时/学分:48/2.5
需预修课程: C++程序设计,线性代数
适用专业: 适用计算机科学与技术的本科教学
课程简介:
《计算机图形学》是计算机专业的专业主干课,它的重要性体现在人们越来越强烈地需要和谐的人机交互环境。图形用户界面已经成为一个软件的重要组成部分,以图形的方式来表示抽象的概念或数据(可视化)已经成为信息领域的一个重要发展趋势。设置本课程的目的就在于让软硬件开发人员了解和掌握必要的图形学概念、方法和工具。通过课程的学习:了解图形系统的框架及其涉及的软件、硬件技术。了解图形学的基本问题,掌握图形学的基本概念、方法与算法。对与图形相关的应用及当前的研究热点有一个初步认识。具有一定实践体会和相关的编程能力。
二、教学目标
学生通过本课程的学习,在知识和能力等方面达到以下要求:
1.理论、知识目标:掌握基本的二、三维的图形的计算机绘制方法,理解光栅图形生成基本算法、几何造型技术、图形标准与图形变换等概念和知识。
2.能力目标:培养学生分析和解决有关问题的能力及运用基础理论分析和解决工程实际问题的能力。
3.达成目标:本课程对应人才培养方案中毕业要求的第二条,通过本课程的学习,可以实现毕业要求的第二条。
三、教学内容及教学要求
第一章 绪论(讲课4学时;实验0学时)
教学内容:
1.计算机图形学的基本概念。
2.计算机图形学的发展。
3.计算机图形学的应用。
4.常用的图形输入/输出设备。
5.计算机图形系统。
6.颜色模型。
教学要求:
1.理解计算机图形学的相关概念。
2.掌握计算机图形学的相关概念、CRT显示器的工作原理以及颜色模型的概念。
3.了解常用的图形输入/输出设备、了解计算机图形系统。
本章重点、难点:
重点:计算机图形学的相关概念。
难点:RGB颜色模型及CIE色度图的概念,以及CRT显示器的工作原理。
第二章 MFC绘图基础(讲课0学时;实验2学时)
教学内容:
1.面向对象程序设计基础:类和对象,构造函数和析构函数,对象的动态创建和释放,继承和派生。
2.MFC上机操作步骤。
3.基本绘图函数:CDC类和GDI对象,映射模式,CDC类的主要绘图成员函数,设备上下文的调用和释放,VC++绘制图形的几种方式。
教学要求:
1.理解面向对象编程的思想。
2.掌握MFC上机操作步骤,基本绘图函数。
3.了解CDC类和GDI对象。
本章重点、难点:
重点:MFC上机操作步骤,基本绘图函数。
难点:设备上下文的调用和释放,VC++绘制图形的几种方式。
第三章 基本图形的扫描转换(讲课4学时;实验4学时)
教学内容:
1.直线的扫描转换:数值微分法,中点画线法,Bresenham画线法。
2.圆的扫描转换: 简单画圆法、中点画圆法、Bresenham画圆法、中点画椭圆的算法。
3.椭圆的扫描转换:算法原理,递推公式。
4.反走样技术。
5.直线距离加权反走样算法:算法原理,构造距离判别式,计算机化。
教学要求:
1.理解三个常用直线生成算法、圆的特征。
2.掌握中点画圆法。
3.了解直线距离加权反走样算法。
本章重点、难点:
重点:三个常用直线生成算法、中点画圆法、Bresenham画圆法。
难点:中点画线法,Bresenham画线法,Bresenham画圆法。
第四章 多边形填充(讲课4学时;实验4学时)
教学内容:
1.实面积图形的概念:多边形的定义,多边形的表示,多边形的填充,区域填充。
2.有效边表填充算法:填充原理,边界像素的处理原则,有效边和有效表,桶表和边表。
3.边缘填充算法:填充原理,填充过程。
4.区域填充算法:填充原理,四邻接点和八邻接点,四连通区域和八连通区域,四邻接点填充算法和八邻接点填充算法。
教学要求:
1.理解实面积图形的概念。
2.掌握有效边表填充算法、边缘填充算法、区域填充算法。
本章重点、难点:
重点:有效边表填充算法、边缘填充算法、区域填充算法。
难点:有效边表填充算法。
第五章 二维变换和裁剪(讲课4学时;实验4学时)
教学内容:
1.图形几何变换基础:规范化齐次坐标,矩阵相乘,二维变换矩阵,二维几何变换。
2.二维图形基本几何变换矩阵:恒等变换、平移变换、比例变换、旋转变换、对称变换、错切变换。
3. 二维复合变换:复合变换原理,相对于任一参考点的二维几何变换,相对于任意方向的二维几何变换。
4.二维图形裁剪:图形中常用的坐标系,窗口和视区及窗视变换,窗视变换矩阵。
点的裁剪。
5.Cohen-Sutherland直线段裁剪算法:编码原理,裁剪步骤,交点计算公式。
6.中点分割算法,梁友栋-Barsky算法。
7.多边形裁剪算法:Sutherland-Hodgman算法、Weiler-Atherton裁减算法。
8.字符裁剪算法。
教学要求:
1.理解图形变换的相关概念,线段的裁剪算法、多边形裁剪算法以及字符裁剪算法。
2.掌握二维复合变换算法,直线求交法、Cohen-Sutherland算法、中点分割算法等线段的裁剪算法,以及多边形裁剪算法。
3.了解梁友栋-Barsky算法。
本章重点、难点:
重点:二维复合变换,段的裁剪算法、多边形裁剪算法以及字符裁剪算法。
难点:相对于任一参考点的二维几何变换,相对于任意方向的二维几何变换,Cohen-Sutherland算法、Sutherland-Hodgman算法和Weiler-Atherton裁减算法。
第六章 三维变换和投影(讲课4学时;实验4学时)
教学内容:
1.三维变换概述:三维变换概述、几何变换的分类、三维变换基础。
2.三维基本几何变换及其复合变换:三维基本几何变换、三维复合变换。
3.投影变换概述。
4.平行投影:正投影、轴测投影。
5.透视投影:一点透视、二点透视、三点透视。
教学要求:
1.理解三维变换、投影变换的相关概念。
2.掌握三维复合变换、投影变换算法。
3.了解轴测投影。
本章重点、难点:
重点:三维复合变换、投影变换算法。
难点:投影变换算法。
第七章 曲线和曲面(讲课2学时;实验2学时)
教学内容:
1.曲线和曲面基础:曲线和曲面数学描述的发展、曲线和曲面的拟合、曲线和曲面的表示要求、参数化表示、连续性条件。
2. Bezier曲线:Bezier曲线的定义、Bezier曲线的性质、常用Bezier曲线的矩阵表示、Bezier曲线的拼接、Bezier曲线的正算与反求、Bezier曲面。
3.B样条曲线:B样条曲线的定义、性质和分类、NURBS曲线。
教学要求:
1.理解曲线、曲面的相关概念。
2.掌握Bezier曲线、B样条曲线。
本章重点、难点:
重点: Bezier曲线、B样条曲线。
难点: Bezier曲线、B样条曲线。
第八章:分形几何(讲课1学时;实验2学时)
教学内容:
1.分形和分维:分形的诞生,基本特征,定义和维数的定义。
2.递归模型。
3.常见的分形图案的生成方法。
教学要求:
1.理解分形和分维的相关概念。
2.掌握分形和分维的相关概念。
3.了解递归模型、L系统模型、IFS迭代函数系统模型。
本章重点、难点:
重点:分形和分维的相关概念。
难点:分形和分维的相关概念。
第九章:动态消隐(讲课1学时;实验2学时)
教学内容:
1.图形的数据结构:图形的几何信息和拓扑信息,基本图形的数据结构,立体表示模型。
2.消隐算法分类。
3.隐线算法:凸多面体消隐算法,曲面体消隐算法。
4.隐面算法:Z-Buffer算法,画家算法。
教学要求:
1.理解消隐相关概念及其分类。
2.掌握深度缓冲区(Z-buffer)算法、深度排序算法(画家算法)。
3.了解隐线算法。
本章重点、难点:
重点:消隐的相关概念、分类,常用的消隐算法。
难点:深度缓冲区(Z-buffer)算法、深度排序算法(画家算法)。
四、考核方式及成绩评定
本课程的成绩将由平时成绩(作业及项目成绩)和考试成绩两部分组成,其中小测验成绩占20%、项目占30%、考试成绩占50%,闭卷考试。
五、教材及参考书目
教材:《计算机图形学》 孔令德编 清华大学出版社 2014年
参考书目:
1.《计算机图形学基础及应用教程》,张怡芳,李继芳编,机械工业出版社,2009年,标准书号:ISBN 9787111224907;
2.《计算机图形学基础教程》第二版,孙家广,胡事民编著,清华大学出版社,2009年,标准书号:ISBN 9787302089797;
3.《计算机图形学基础教程》,孙正兴,周良,郑宏源等著,清华大学出版社,2004年,标准书号:ISBN 9787302076827;
大纲撰写人:吴艳 撰写日期:2018年8月1日
审核人:
计算机与信息工程学院