计算机图形学实验及课程设计-(Visual C++版)-(第2版)

本书特色

[

本书是与《计算机图形学基础教程(Visual C 版)(第2版)》(ISBN 978��7��302��29752��9)配套的实验教材,提供了18个综合性教学实验和5个课程设计项目,可以满足计算机图形学课堂上机实验和设计周课程设计任务。实验项目编排由浅入深,通过定义基础类、直线类、变换类、填充类、光照类,*终构造了三维动态光照场景。本书的全部内容都基于MFC框架完成,彩插中展示的所有图形均使用CDC类的SetPixel()成员函数绘制,未包含任何图形学库。教学实验和课程设计项目的开发过程按照OpenGL的操作流程编写,易于引导读者从图形学的原理领域进入应用领域。
本书的教学实验和课程设计项目的源代码和实验拓展项目的可执行文件全部提供在笔者的个人网站(http://www.klingde.com/)上,请读者下载后参照源代码学习。通读本书,读者可以轻松掌握多面体、球体、圆环等三维物体线框模型的建模方法。在三维动态光照场景中,可以调整物体表面模型的材质属性、添加纹理细节,改变视点和光源的位置,完成三维真实感图形的动态绘制。
本书内容全面、案例丰富、注重理实一体化,适合作为本科计算机图形学的实验和课程设计教材。本书为源代码提供了详尽的注释,可供计算机图形学爱好者从编程的角度理解和掌握计算机图形学原理。

]

内容简介

[

本教材是国内非常有影响力的图形学教材的第2版,书中案例全部用Visual C 的MFC框架实现。书中彩插展示了案例*终效果。相关资源提供网站下载。

]

目录

目录
**部分教
学 实 验实验任务书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

封面

计算机图形学实验及课程设计-(Visual C++版)-(第2版)

书名:计算机图形学实验及课程设计-(Visual C++版)-(第2版)

作者:孔令德

页数:378

定价:¥59.0

出版社:清华大学出版社

出版日期:2018-05-01

ISBN:9787302489498

PDF电子书大小:121MB 高清扫描完整版

百度云下载:http://www.chendianrong.com/pdf

发表评论

邮箱地址不会被公开。 必填项已用*标注