描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787302489498丛书名: 高等学校计算机专业教材精选·图形图像与多媒体技术
本书的教学实验和课程设计项目的源代码和实验拓展项目的可执行文件全部提供在笔者的个人网站(http://www.klingde.com/)上,请读者下载后参照源代码学习。通读本书,读者可以轻松掌握多面体、球体、圆环等三维物体线框模型的建模方法。在三维动态光照场景中,可以调整物体表面模型的材质属性、添加纹理细节,改变视点和光源的位置,完成三维真实感图形的动态绘制。
本书内容全面、案例丰富、注重理实一体化,适合作为本科计算机图形学的实验和课程设计教材。本书为源代码提供了详尽的注释,可供计算机图形学爱好者从编程的角度理解和掌握计算机图形学原理。
目录
第一部分教
学 实 验实验任务书3实验1绘制金刚石图案4
1.1实验目的4
1.2实验要求4
1.3效果图4
1.4实验准备5
1.5实验步骤5
1.5.1创建Test工程实验框架5
1.5.2绘制金刚石图案15
1.5.3写出实验报告24
1.6思考与练习24实验2绘制任意斜率的直线段28
2.1实验目的28
2.2实验要求28
2.3效果图28
2.4实验准备29
2.5实验步骤29
2.5.1定义颜色类CRGB29
2.5.2设计CLine直线类32
2.5.3消息映射37
2.5.4写出实验报告41
2.6思考与练习41实验3交互式绘制多边形45
3.1实验目的45
3.2实验要求45
3.3效果图45
3.4实验准备46
3.5实验步骤46
3.5.1人机交互技术46
3.5.2双缓冲技术48
3.5.3绘制多边形49
3.5.4设计CPtrArray类49
3.5.5有效边表填充算法50
3.5.6写出实验报告58
3.6思考与练习58实验4二维几何变换61
4.1实验目的61
4.2实验要求61
4.3效果图61
4.4实验准备62
4.5实验步骤62
4.5.1静态切分视图框架62
4.5.2设计左窗格视图65
4.5.3设计CTestDoc类69
4.5.4设计包含齐次坐标的二维点类CP2 69
4.5.5设计二维几何变换类70
4.5.6设计双缓冲74
4.5.7读入图形顶点75
4.5.8绘制图形75
4.5.9碰撞检测76
4.5.10定时器函数76
4.5.11禁止背景刷新函数77
4.5.12写出实验报告77
4.6思考与练习77实验5直线段裁剪80
5.1实验目的80
5.2实验要求80
5.3效果图80
5.4实验准备81
5.5实验步骤81
5.5.1定义CP2类81
5.5.2OnDrw()函数82
5.5.3绘制裁剪窗口82
5.5.4鼠标左键按下函数83
5.5.5鼠标移动函数83
5.5.6编码函数84
5.5.7裁剪函数85
5.5.8写出实验报告87
5.6思考与练习87实验6立方体线框模型正交投影89
6.1实验目的89
6.2实验要求89
6.3效果图89
6.4实验准备90
6.5实验步骤90
6.5.1立方体数学模型90
6.5.2三维变换91
6.5.3正交投影93
6.5.4设计三维点类93
6.5.5定义三维变换类95
6.5.6定义点表100
6.5.7定义面表100
6.5.8绘制立方体线框模型101
6.5.9键盘控制101
6.5.10动画控制102
6.5.11写出实验报告104
6.6思考与练习104实验7立方体线框模型透视投影106
7.1实验目的106
7.2实验要求106
7.3效果图106
7.4实验准备107
7.5实验步骤107
7.5.1透视投影变换的实现109
7.5.2定义点表110
7.5.3定义面表111
7.5.4绘制立方体111
7.5.5缩小立方体112
7.5.6放大立方体112
7.5.7写出实验报告112
7.6思考与练习112实验8动态三视图115
8.1实验目的115
8.2实验要求115
8.3效果图115
8.4实验准备116
8.5实验步骤116
8.5.1建立多面体的数据结构116
8.5.2创建2×2静态切分窗格117
8.5.3建立齐次三维点类117
8.5.4建立表面类119
8.5.5内存复制120
8.5.6三视图变换矩阵122
8.5.7矩阵相乘函数123
8.5.8绘制多面体斜等测图123
8.5.9绘制三视图125
8.5.10写出实验报告125
8.6思考与练习126实验9交互绘制Bezier曲线128
9.1实验目的128
9.2实验要求128
9.3效果图128
9.4实验准备129
9.5实验步骤129
9.5.1Bezier曲线的分割递推德卡斯特里奥算法129
9.5.2德卡斯特里奥函数130
9.5.3绘制Bezier曲线131
9.5.4绘制控制多边形131
9.5.5鼠标左键按下的函数132
9.5.6鼠标右键按下的函数133
9.5.7鼠标移动的函数133
9.5.8写出实验报告133
9.6思考与练习134实验10交互绘制三次B样条曲线135
10.1实验目的135
10.2实验要求135
10.3效果图135
10.4实验准备136
10.5实验步骤136
10.5.1三次B样条曲线的几何性质136
10.5.2绘制控制多边形137
10.5.3绘制三次B样条曲线138
10.5.4鼠标移动函数138
10.5.5写出实验报告139
10.6思考与练习139实验11旋转的Koch雪花142
11.1实验目的142
11.2实验要求142
11.3效果图142
11.4实验准备143
11.5实验步骤143
11.5.1Koch曲线的生成元143
11.5.2绘制Koch雪花145
11.5.3双缓冲函数145
11.5.4分形函数146
11.5.5Koch函数147
11.5.6写出实验报告147
11.6思考与练习147实验12颜色渐变立方体150
12.1实验目的150
12.2实验要求150
12.3效果图150
12.4实验准备151
12.5实验步骤151
12.5.1定义矢量类CVector151
12.5.2定义颜色点类154
12.5.3定义点表155
12.5.4定义面表156
12.5.5绘制物体156
12.5.6颜色渐变有效边表填充算法157
12.5.7写出实验报告165
12.6思考与练习165实验13地理划分线框球169
13.1实验目的169
13.2实验要求169
13.3效果图169
13.4实验准备170
13.5实验步骤170
13.5.1球体几何模型170
13.5.2绘制球体173
13.5.3写出实验报告175
13.6思考与练习175实验14交叉条消隐180
14.1实验目的180
14.2实验要求180
14.3效果图180
14.4实验准备181
14.5实验步骤181
14.5.1交叉条数学模型181
14.5.2叠加条数学模型183
14.5.3消隐算法184
14.5.4定义深度缓冲点表185
14.5.5定义深度排序点表186
14.5.6设置坐标系187
14.5.7禁用深度缓冲绘制交叉条187
14.5.8启用深度缓冲绘制交叉条188
14.5.9深度排序函数188
14.5.10设置背景色为黑色189
14.5.11深度缓冲消隐算法189
14.5.12写出实验报告199
14.6思考与练习199实验15立方体光照模型201
15.1实验目的201
15.2实验要求201
15.3效果图201
15.4实验准备202
15.5实验步骤202
15.5.1简单光照模型202
15.5.2设计光源类CLightSource205
15.5.3设计材质类CMaterial207
15.5.4设计光照类CLighting208
15.5.5设计默认光源颜色和材质颜色211
15.5.6设计红色、绿色和蓝色光源菜单项211
15.5.7设计红宝石、绿宝石和蓝宝石材质菜单项212
15.5.8设计变换类213
15.5.9写出实验报告217
15.6思考与练习217实验16球体Gouraud光照模型221
16.1实验目的221
16.2实验要求221
16.3效果图221
16.4实验准备222
16.5实验步骤222
16.5.1双线性光强插值模型算法222
16.5.2设置光源颜色和材质颜色222
16.5.3读入网格小面表223
16.5.4读入网格顶点表224
16.5.5计算面片顶点的颜色225
16.5.6绘制球面226
16.5.7写出实验报告227
16.6思考与练习227实验17球体Phong光照模型229
17.1实验目的229
17.2实验要求229
17.3效果图229
17.4实验准备230
17.5实验步骤230
17.5.1Phong双线性法矢插值模型230
17.5.2修改CAET类231
17.5.3修改CZBuffer类231
17.5.4光照环境初始化240
17.5.5绘制球面函数241
17.5.6写出实验报告242
17.6思考与练习242实验18立方体纹理映射245
18.1实验目的245
18.2实验要求245
18.3效果图245
18.4实验准备246
18.5实验步骤246
18.5.1定义CFacet类246
18.5.2读入位图纹理247
18.5.3定义面表248
18.5.4绘制立方体250
18.5.5填充立方体表面250
18.5.6写出实验报告253
18.6思考与练习253第二部分课 程 设 计课程设计任务书259课程设计Ⅰ基本图元光栅扫描演示系统261
Ⅰ.1设计目标261
Ⅰ.2设计效果261
Ⅰ.3总体设计263
Ⅰ.4类的设计264
Ⅰ.5视图的设计281
Ⅰ.6结论293课程设计Ⅱ递归动态球体演示系统294
Ⅱ.1设计目标294
Ⅱ.2设计效果294
Ⅱ.3总体设计296
Ⅱ.4类的设计297
Ⅱ.5视图的设计300
Ⅱ.6结论309课程设计Ⅲ圆环动态纹理演示系统311
Ⅲ.1设计目标311
Ⅲ.2设计效果311
Ⅲ.3总体设计313
Ⅲ.4类的设计317
Ⅲ.5视图的设计337
Ⅲ.6结论346课程设计Ⅳ动态光源演示系统348
Ⅳ.1设计目标348
Ⅳ.2设计效果348
Ⅳ.3总体设计350
Ⅳ.4类的设计350
Ⅳ.5视图的设计356
Ⅳ.6结论360课程设计Ⅴ3DS接口演示系统361
Ⅴ.1设计目标361
Ⅴ.2设计效果362
Ⅴ.3总体设计362
Ⅴ.4类的设计364
Ⅴ.5视图的设计372
Ⅴ.6结论376参考文献378
出
版 说 明
我国高等学校计算机教育近年来迅猛发展,应用所学计算机知识解决实际问题,已经成为当代大学生的必备能力。
时代的进步与社会的发展对高等学校计算机教育的质量提出了更高、更新的要求。现在,很多高等学校都在积极探索符合自身特点的教学模式,涌现出一大批非常优秀的精品课程。
为了适应社会的需求,满足计算机教育的发展需要,清华大学出版社在进行了大量调查研究的基础上,组织编写了“高等学校计算机专业教材精选”。本套教材从全国各高校的优秀计算机教材中精挑细选了一批很有代表性且特色鲜明的计算机精品教材,把作者们对各自所授计算机课程的独特理解和先进经验推荐给全国师生。
本套教材的特点如下。
(1)
编写目的明确。本套教材主要面向广大高校的计算机专业学生,使学生通过本套教材,学习计算机科学与技术方面的基本理论和基本知识,接受应用计算机解决实际问题的基本训练。
(2)
注重编写理念。本套教材作者群为各高校相应课程的主讲,有一定经验积累,且编写思路清晰,有独特的教学思路和指导思想,其教学经验具有推广价值。本套教材中不乏各类精品课配套教材,并力图努力把不同学校的教学特点反映到每本教材中。
(3)
理论知识与实践相结合。本套教材贯彻从实践中来到实践中去的原则,教材中的许多必须掌握的理论都将结合实例来讲,同时注重培养学生分析、解决问题的能力,满足社会用人要求。
(4)
易教易用,合理适当。本套教材编写时注意结合教学实际的课时数,把握教材的篇幅。同时,对一些知识点按教育部教学指导委员会的最新精神进行合理取舍与难易控制。
(5)
注重教材的立体化配套。大多数教材都配套教师用课件、习题及其解答,学生上机实验指导、教学网站等辅助教学资源,方便教学。
随着本套教材陆续出版,相信能够得到广大读者的认可和支持,为我国计算机教材建设及计算机教学水平的提高,为计算机教育事业的发展做出应有的贡献。
评论
还没有评论。