计算机图形学教案.docx
《计算机图形学教案.docx》由会员分享,可在线阅读,更多相关《计算机图形学教案.docx(41页珍藏版)》请在冰豆网上搜索。
计算机图形学教案
装订首页
太原工业学院教案
课程:
计算机图形学
学期:
2013/14第一学期
课时:
理论52,实验12
教材:
计算机图形学基础教程
计算机图形学实践教程
教师:
孔令德苏静李丽亚
太原工业学院教案
课程章节
第一章导论
第1次课
授课时间2013年9月2日
授课班级1020541、1020542
授课类型:
理论课√讨论课实践课习题课
教学目标(知识教学,能力发展两个方面内容)
1、了解计算机图形学的应用领域2、掌握光栅扫描显示器的工作原理
3、理解计算机图形学的概念4、应用:
有兴趣的同学可以学习应用morph图形处理方法
5、学会用三维视觉瞧立体画
教学内容(注明重点、难点)
课堂教学设计与教学方法
一、1、1计算机图形学的应用领域
二、1、2计算机图形学的概念[重点]
三、1、3订算机图形学的相关学科
1、4计算机图形学的确立与发展
四、1、5图形显示器的发展及其工作原理
介绍各种显示器的原理:
随机扫描显示器、直视存储管显示器、光栅扫描、液晶、三维显示器,光栅扫描重点讲。
[重点]
五、1、6图形软件标准的形成
1、7计算机图形学的最新技术[难点]
六、本次课总结
1.幻灯演示,启发
2.讲解加实例,大量动画作品演示
3.讲解理论与生活实际相结合
4.讲练结合,示例
5.生活实例引入,分析原理,讲授,图示
6.分一小段时间让学生来瞧三维画,讲解观瞧技巧,提高学习兴趣
7.讨论,上机
思考、作业
1、思考:
反走样(平滑)处理的方法,LOD与IBR的异同
2、作业:
习题1-1,1-11,1-13
参考文献:
[1]孙家广,胡事民、计算机图形学基础教程[M]。
北京:
清华大学出版社,2005、
[2]SutherlandIvanE、、Sketchpad:
AMan-MachineGraphicalCommunicationSystem[D]、ProceedingsAFIPSSpringJointComputerConference,Detroit,Michugan,May1963,Vol、23:
329~346、
太原工业学院教案
课程章节
第二章MFC绘图基础
第2次课
授课时间2013年9月5日
授课班级1020541、1020542
授课类型:
理论课√讨论课实践课习题课
教学目标(知识教学,能力拓展两个方面内容)
1、了解VisualC++6、0可视化平台的基本知识2、掌握OnDraw()函数的使用
3、理解面向对象程序设计的基础概念4、应用:
画笔与画刷函数及双缓冲的使用方法
5、学会用映射模式的两种方法
教学内容(注明重点、难点)
课堂教学设计与教学方法
一、2、1面向对象程序设计基础
二、2、2MFC上机操作步骤
三、2、3MFC基本绘图函数
2、3、1CDC类结构与GDI对象
2、3、2映射模式
理解映射模式,可采用设置视区与设置窗口两种方法[难点]
2、3、3使用GDI对象[重点]
画笔与画刷函数;
理解双缓冲机制;
四、本次课总结
1.幻灯演示,启发
2.讲解理论,现场编程
3.可执行文件演示
4.讲练结合,示例
5.生活实例引入,分析原理,讲授,图示
6.请一个学生到讲台上编一小段简单的函数,讲解方法,提高兴趣
7.讨论,上机
思考、作业
1、思考:
不使用画笔与画刷绘制一个矩形,请说明系统默认的边界色与填充色。
2、思考:
先绘制一个小椭圆,再绘制一个覆盖它的大矩形,如何才能在矩形中显示椭圆?
她们的作用就是什么?
如何绘制一个没有边界的红色圆呢?
3、思考:
库画笔、库画刷与自定义画笔、自定义画刷在使用方法上有何区别?
4、作业:
习题2-4,2-5
参考文献:
[1]郑阿奇 ,丁有与、VisualC++应用教程[M]、北京:
人民邮电出版社,2008、
[2]孔令德、计算机图形学基础教程(VisualC++版)[M]、北京,清华大学出版社,2008、
太原工业学院教案
课程章节
第二章MFC绘图基础(继续)
第3次课
授课时间2013年9月9日
授课班级1020541、1020542
授课类型:
理论课√讨论课实践课习题课
教学目标(知识教学,能力发展两个方面内容)
1、了解CDC类的成员函数2、掌握绘制像素点、矩形、椭圆等成员函数的使用
3、理解双缓冲机制位图函数、文本函数4、应用:
各种绘图函数的正确使用方法
5、学会MFC绘图的几种方法6、具有使用绘图函数绘制复杂图形的能力
教学内容(注明重点、难点)
课堂教学设计与教学方法
一、2、3、4CDC类的绘图成员函数[重点]
1、绘制像素点与获取像素点
2、绘制直线段与绘制矩形函数
3、绘制椭圆与绘制椭圆弧
4、绘制扇形与绘制多边形函数
5、路径层函数
6、绘制Bezier样条函数
7、位图操作函数
8、文本函数
二、2、3、5双缓冲机制[难点]
三、2、3、6设备上下文的调用与释放
2、3、7MFC绘图的几种方法
四、本次课总结
1.幻灯演示,启发
2.讲解理论,现场编程
3.绘图成员函数的源代码及可执行文件演示
4.讲练结合,示例
5.生活实例引入,如阴阳鱼、汽车标志等,分析原理,讲授,图示
6.讨论,上机
思考、作业
1、思考:
如何使用双缓冲机制实现动画,为什么不需要刷新屏幕?
2、思考:
三次Bezier样条拼接的注意事项?
3、作业:
习题2-6,2-7
参考文献:
[1]郑阿奇 ,丁有与、VisualC++应用教程[M]、北京:
人民邮电出版社,2008、
[2]孔令德、计算机图形学基础教程(VisualC++版)[M]、北京,清华大学出版社,2008、
太原工业学院教案
课程章节
第三章基本图形的扫描转换
第4次课
授课时间2013年9月12日
授课班级1020541、1020542
授课类型:
理论课√讨论课实践课习题课
教学目标(知识教学,能力发展两个方面内容)
1、了解扫描转换的基本概念2、掌握绘制像素点函数SetPixelV()的使用
3、理解直线扫描转换算法原理4、应用:
通过基本原理拓展到彩色直线段的扫描转换
5、学会使用拉格朗日线性插值方法绘制彩色直线段、直线段绘制闭合图形算法
教学内容(注明重点、难点)
课堂教学设计与教学方法
一、3、1直线的扫描转换
3、1、1算法原理
主要步骤就是:
(1)根据直线的斜率确定主位移方向;
(2)中点误差项的递推公式;(3)中点误差项的初始值。
[重点]
3、1、2构造中点误差项
3、1、3递推公式
3、1、4绘制任意斜率的直线
二、拓展1:
彩色直线段的扫描转换算法[难点]
给定直线段两个顶点的坐标与颜色值,使用拉格朗日线性插值方法可以实现直线段颜色从起点到终点的光滑过渡。
拓展2:
直线段绘制闭合图形算法[难点]
三、本次课总结
1.幻灯演示,启发
2.讲解理论,现场编程
3.可执行文件演示
4.讲练结合,示例
5.大程序运行案例,讲解原理,讲解代码、拓展原理
6.讨论,上机
思考、作业
1、思考:
用插值法绘制直线时,t取何值,屏幕上的像素点刚好不会有重合?
2、作业:
习题3-1,3-2,3-3,3-8
参考文献:
[1]陆枫,何云峰.计算机图形学基础(第2版)[M].北京:
电子工业出版社,2010、
[2]、BRESENHAMJE、AlgorithmforComputerControlofaDigitalPlotter[J]、IBMSystemJournal、1964(4):
25~30、
太原工业学院教案
课程章节
第三章基本图形的扫描转换(继续)
第5次课
授课时间2013年9月16日
授课班级1020541、1020542
授课类型:
理论课√讨论课实践课习题课
教学目标(知识教学,能力发展两个方面内容)
1、了解扫描转换的基本概念2、掌握八分法绘制圆与四分法绘制椭圆的原理
3、理解圆与椭圆算法的误差项与递推公式4、应用:
学习基本原理会用MFC绘制圆与椭圆
5、学会计算椭圆弧上任一点的法矢量与椭圆下半部分误差项的初始值
教学内容(注明重点、难点)
课堂教学设计与教学方法
一、3、2圆的扫描转换
3、2、1算法原理
八分法绘制圆算法[重点]3、2、2构造中点误差项
3、2、3递推公式
二、3、3椭圆的扫描转换
3、3、1算法原理
四分法绘制椭圆算法;[重点]
3、3、2构造上半部分I的中点误差项
3、3、3上半部分I的递推公式
3、3、4构造下半部分II的中点误差项
椭圆弧上任一点的法矢量与椭圆下半部分误差项的初始值[难点]
3、3、5下半部分II的递推公式
三、本次课总结
1.幻灯演示,启发
2.讲解理论,现场编程
3.可执行文件演示
4.讲练结合,示例
5.大程序运行案例,讲解原理,讲解代码、拓展原理
6.讨论,上机
思考、作业
1、思考:
如果直接使用圆的方程绘制圆,如果直接使用椭圆的极坐标方程绘制圆,请问这种方法与Bresenham算法的效率那个高?
2、作业:
3-5,3-6
参考文献:
[1]陆枫,何云峰.计算机图形学基础(第2版)[M].北京:
电子工业出版社,2010、
[2]孙家广,胡事民、计算机图形学基础教程[M]、北京:
清华大学出版社,2005、
太原工业学院教案
课程章节
第三章基本图形的扫描转换(继续)
第6次课
授课时间2013年9月23日
授课班级1020541、1020542
授课类型:
理论课√讨论课实践课习题课
教学目标(知识教学,能力发展两个方面内容)
1、了解反走样技术基本概念及应用领域2、掌握Wu反走样算法的原理
3、理解Wu反走样中相邻像素点的颜色计算方法4、应用:
通过基本原理会用MFC绘制反走样直线段
5、学会彩色直线段的反走样
教学内容(注明重点、难点)
课堂教学设计与教学方法
一、3、4反走样技术
二、3、5Wu反走样算法
3、5、1算法原理[重点]
3、5、2构造距离误差项
3、5、3计算机化
3、5、4彩色直线段的反走样
基于背景色的第一个八分之一象限内彩色直线段上下相邻像素的颜色计算法[难点]
三、本次课总结
1.幻灯演示,启发
2.讲解理论,现场编程
3.可执行文件演示
4.讲练结合,示例
5.大程序运行案例,讲解原理,讲解代码、拓展原理
6.讨论,上机
思考、作业
1、思考:
游戏中的抗锯齿指的就是什么?
如何使用绘图工具观察反走样效果?
2、思考:
三像素宽度直线如何进行反走样?
3、思考:
如何使用面积加权算法构造反走样直线?
4、思考:
背景色会对走样效果产生影响么?
5、作业:
3-9
参考文献:
[1]陆枫,何云峰.计算机图形学基础(第2版)[M].北京:
电子工业出版社,2010、
[2]孙家广,胡事民、计算机图形学基础教程[M]、北京:
清华大学出版社,2005、
太原工业学院教案
课程章节
第四章多边形填充
第7次课
授课时间2013年9月26日
授课班级1020541、1020542
授课类型:
理论课√讨论课实践课习题课
教学目标(知识教学,能力发展两个方面内容)
1、了解多边形的扫描转换的相关知识2、掌握有效边表填充算法的原理
3、理解边表、有效边表、桶表的概念4、应用:
通过基本原理会用MFC实现实践教程案例65、学会平面着色与光滑着色模式的填充
教学内容(注明重点、难点)
课堂教学设计与教学方法
一、4、1多边形的扫描转换
4、1、1多边形的定义
4、1、2多边形的表示
4、1、3多边形着色模式[重点]
平面着色与光滑着色;马赫带;
4、1、4填充多边形
二、4、2有效边表填充算法
4、2、1填充原理
4、2、2边界像素的处理原则
4、2、3有效边与有效边表[重点]
4、2、4桶表与边表
三、本次课总结
1.幻灯演示,启发
2.讲解理论,现场编程
3.可执行文件演示
4.讲练结合,示例
5.大程序运行案例,讲解原理,讲解代码、拓展原理
6.讨论,上机
思考、作业
1、思考:
如何处理两个表面的拼接时的边界像素?
2、思考:
如何在有效边表填充算法中绘制多边形的边界线?
3、思考:
物体可以细化为三角形网格组成,如何在Bresenham算法扫描转换直线的基础上构造三角形填充算法。
设置一个参数以选择绘制与不绘制边界线。
4、如何使用有效边表算法填充颜色渐变的三角形,四边形?
2、作业:
4-1,4-2,4-3,4-4,4-5,4-6
参考文献:
[1]陆枫,何云峰.计算机图形学基础(第2版)[M].北京:
电子工业出版社,2010、
[2]孙家广,胡事民、计算机图形学基础教程[M]、北京:
清华大学出版社,2005、
太原工业学院教案
课程章节
第四章多边形填充(继续)
第8次课
授课时间2013年10月10日
授课班级1020541、1020542
授课类型:
理论课√讨论课实践课习题课√
教学目标(知识教学,能力发展两个方面内容)
1、了解图像求补的基本概念2、掌握边缘填充的填充原理与过程
3、理解黑白图像求补与彩色图像求补的异同4、应用:
通过基本原理会用MFC绘制多边形边缘填充
5、学会课堂上讲授的填充实例的编程方法并能举一反三、灵活运用
教学内容(注明重点、难点)
课堂教学设计与教学方法
一、4、3边缘填充算法
4、3、1填充原理[重点]
像素颜色取补:
黑白图像与彩色图像;
4、3、2填充过程
包围盒与栅栏的使用[重点]
二、填充多形实例
三、本次课总结
1.幻灯演示,启发
2.讲解理论(必要时板书详解过程)
3.可执行文件演示
4.讲练结合,示例
5.填充多边形大程序运行案例,讲解原理,讲解代码、拓展原理
6.讨论,上机
思考、作业
1、思考:
什么叫包围盒?
什么叫栅栏?
2、思考:
使用边缘填充算法能绘制不同顶点颜色融合的图形么?
3、思考:
试比较边缘填充算法与有效边表填充算法的效率。
2、作业:
4-7,4-8
参考文献:
[1]陆枫,何云峰.计算机图形学基础(第2版)[M].北京:
电子工业出版社,2010、
[2]孙家广,胡事民、计算机图形学基础教程[M]、北京:
清华大学出版社,2005、
太原工业学院教案
课程章节
第四章多边形填充(继续)
第9次课
授课时间2013年10月12日
授课班级1020541、1020542
授课类型:
理论课√讨论课实践课习题课
教学目标(知识教学,能力发展两个方面内容)
1、了解区域填充的基本概念2、掌握种子填充算法、扫描线种子填充算法
3、理解四邻接点与八邻接点,四连通域与八连通域4、应用:
通过基本原理会用MFC做四邻接点与八邻接点填充算法
5、学会入栈与出栈算法
教学内容(注明重点、难点)
课堂教学设计与教学方法
一、4、4区域填充算法
4、4、1填充原理
4、4、2四邻接点与八邻接点
4、4、3四连通域与八连通域[重点]
4、4、4种子填充算法
4、4、5扫描线种子填充算法
算法原理:
入栈与出栈算法[难点]
二、本次课总结
1.幻灯演示,启发
2.讲解理论(必要时板书详解过程)
3.可执行文件演示
4.讲练结合,示例
5.运行案例,讲解原理,讲解代码、拓展原理
6.讨论,上机
思考、作业
1、思考:
如何设计入栈与出栈函数?
2、思考:
种子填充算法能否填充非多边形图形,比如一个圆?
3、种子填充算法能实现颜色渐变填充么?
4、如何有效提高种子填充算法的填充效率?
2、作业:
4-9,4-10
参考文献:
[1]陆枫,何云峰.计算机图形学基础(第2版)[M].北京:
电子工业出版社,2010、
[2]孙家广,胡事民、计算机图形学基础教程[M]、北京:
清华大学出版社,2005、
太原工业学院教案
课程章节
实验1绘制任意斜率的直线
第10次课
授课时间2013年10月14日
授课班级1020541、1020542
授课类型:
理论课讨论课实践课√习题课
实验目标
1、掌握任意斜率直线段的中点Bresenham扫描转换算法。
2、掌握CLine直线类的设计方法
3、掌握状态栏编程方法
实验要求
实验教学设计与教学方法
一、设计CLine直线类,其数据成员为直线段的起点坐标P0与终点坐标P1,成员函数为MoveTo()与LineTo()函数。
二、CLine类的LineTo()函数使用中点Bresenham算法绘制任意斜率k的直线段,包括k=±∞、k>1、0≤k≤1、-1≤k<0与k<-1五种情况。
[重点]
三、在屏幕客户区按下鼠标左键选择直线的起点,保持鼠标左键按下并移动鼠标到另一位置,弹起鼠标左键绘制任意斜率的直线段。
四、在状态栏动态显示鼠标光标移动时的位置坐标。
1.教师运行案例,讲解原理
2.让学生按实践教程步骤逐步编程
3.要求学生在理解代码的基础上可做一些修改
4.讲练结合,提问
思考、作业
1、思考:
如何使用鼠标左键的按下与弹起绘制任意斜率的直线段。
2、拓展:
如何使用鼠标左键的按下与弹起绘制任意斜率颜色渐变直线段。
3、拓展:
如何使用鼠标左键的按下与弹起绘制任意斜率的三像素宽度直线段。
4、拓展:
如何使用CLine类绘制闭合图形,如三角形或四边形?
参考文献:
[1]陆枫,何云峰.计算机图形学基础(第2版)[M].北京:
电子工业出版社,2010、
[2]孙家广,胡事民、计算机图形学基础教程[M]、北京:
清华大学出版社,2005、
太原工业学院教案
课程章节
第五章二维变换与裁剪
第11次课
授课时间2013年10月17日
授课班级1020541、1020542
授课类型:
理论课√讨论课实践课习题课
教学目标(知识教学、能力发展两个方面内容)
1、了解图形几何变换相关内容2、掌握二维图形五种几何变换矩阵的推导过程
3、理解相对于任意参考点与任意方向的二维复合变换
4、应用:
通过学习复合变换可以把变换算法应用任意复合变换
教学内容(注明重点、难点)
课堂教学设计与教学方法
一、5、1图形几何变换的基础
二、5、2二维图形基本几何变换矩阵
平移、比例、旋转、反射、错切[重点]
三、5、3二维复合变换
相对于任意参考点的二维几何变换;
相对于任意方向的二维几何变换;[重点]四、本次课总结。
1.幻灯演示,启发
2.讲解理论(必要时板书详解过程)
3.可执行文件演示
4.讲练结合,示例
5.运行案例,讲解原理,讲解代码、拓展原理
6.讨论,上机
思考、作业
1、思考:
为什么要使用复合变换?
2、思考:
为什么说旋转变换、比例变换就是与参考点相关的变换?
3、思考:
如何将本章的行矩阵变换改为列矩阵表示的变换。
4、作业:
5-1,5-3
参考文献:
[1]陆枫,何云峰.计算机图形学基础(第2版)[M].北京:
电子工业出版社,2010、
[2]孙家广,胡事民、计算机图形学基础教程[M]、北京:
清华大学出版社,2005、
太原工业学院教案
课程章节
第五章二维变换与裁剪(继续)
第12次课
授课时间2013年10月21日
授课班级1020541、1020542
授课类型:
理论课√讨论课实践课习题课
教学目标(知识教学、能力发展两个方面内容)
1、了解图形学中的各种坐标系2、掌握屏幕坐标系的转换、二维裁剪算法
3、理解裁剪算法中的简取与简弃,何种情况下做这样的操作
4、应用:
通过学习裁剪算法可以用MFC来实现它
5、学会中点分割直线段裁剪算法
教学内容(注明重点、难点)
课堂教学设计与教学方法
一、5、4二维图形裁剪
5、4、1图形学中常用的坐标系
5、4、2窗口与视区
5、4、3窗视变换矩阵[重点]
二、5、5Cohen-Sutherland直线段裁剪算法
5、5、1编码原理
5、5、2裁剪步骤
5、5、3交点计算公式[重点]
三、5、6中点分割直线段裁剪算法
5、6、1中点分割算法原理
5、6、2中点计算公式[重点]
四、本次课总结
1.幻灯演示,启发
2.讲解算法理论,板书详解过程
3.可执行文件演示
4.讲练结合,示例
5.运行案例,讲解原理,讲解代码、拓展原理
6.讨论,上机
思考、作业
1、思考:
简述本章介绍的各种坐标系之间的关系?
2、思考:
如何使用十六进制表示直线段端点的编码?
3、思考:
使用草图画出多边形被矩形窗口裁剪后的结果图。
4、作业:
5-4,5-5,5-6
参考文献:
[1]陆枫,何云峰.计算机图形学基础(第2版)[M].北京:
电子工业出版社,2010、
[2]孙家广,胡事民、计算机图形学基础教程[M]、北京:
清华大学出版社,2005、
太原工业学院教案
课程章节
第五章二维变换与裁剪(继续)
第13次课
授课时间2013年10月24日
授课班级1020541、1020542
授课类型:
理论课√讨论课实践课习题课
教学目标(知识教学,能力发展两个方面内容)
1、了解各种直线段裁剪算法的相关内容2、掌握Liang-Barsky算法中把二维裁剪转化为一维裁剪的方法
3、理解Liang-Barsky算法与多边形裁剪的思想
4、应用:
学习裁剪算法并使用MFC来实现
5、学会多边形裁剪中的分治法
教学内容(注明重点、难点)
课堂教学设计与教学方法
一、5、7Liang-Barsky直线段裁剪算法
5、7、1Liang-Barsky裁剪算法原理
5、7、2算法分析
5、7、3算法的几何意义[难点]
二、5、8多边形裁剪算法
又称为逐边裁剪算法,基本思想就是用裁剪窗口的4条边依次对多边形进行裁剪。
[难点]
三、5、9本章小结。
1.幻灯演示,启发
2.讲解算法理论,板书详解过程
3.可执行文件演示
4.讲练结合,示例
5.运行案例,讲解原理,讲解代码、拓展原理
6.讨论,上机
思考、作业
1、思考:
如何使用直线的参数方程表示裁剪条件?
2、思考:
为什么说Liang-Barsky算法就是裁剪效率最高的算法?
3、思考:
多边形裁剪的输入与输出就是什么?
2、作业:
5-7,5-8
参考文献:
[1]陆枫,何云峰.计算机图形学基础(第2版)[M].北京:
电子工业出版社,2010、