新書推薦:
《
情绪传染(当代西方社会心理学名著译丛)
》
售價:HK$
88.5
《
中国年画 1950-1990 THE NEW CHINA: NEW YEAR PICTURE 英文版
》
售價:HK$
236.0
《
革命与反革命:社会文化视野下的民国政治(近世中国丛书)
》
售價:HK$
93.2
《
画楼:《北洋画报》忆旧(年轮丛书)
》
售價:HK$
337.5
《
大国脊梁:漫画版
》
售價:HK$
80.2
《
跟着渤海小吏读历史:大唐气象(全三册)
》
售價:HK$
189.0
《
心智的构建:大脑如何创造我们的精神世界
》
售價:HK$
81.4
《
美国小史(揭秘“美国何以成为美国”,理解美国的经典入门读物)
》
售價:HK$
81.4
編輯推薦:
本书涵盖了几何建模和渲染三维场景过程中计算方面的内容,特别是3D图形系统体系结构方面的知识。本书讨论了基本的3D计算机图形学算法,全部采用C语言加以实现。
內容簡介:
本书详细阐述了与3D图形系统设计与实现相关的基本解决方案,主要包括对象和图形设备、交互式图形界面、几何体、颜色、数字图像、3D场景描述、三维几何体模型、建模技术、层次结构和体系结构对象、视见相机转换、视见的表面剪裁、光栅化、可见表面计算、局部光照模型、全局光照、贴图技术、着色机制,以及三维图形系统等内容。此外,本书还提供了相应的示例,以帮助读者进一步理解相关方案的实现过程。 本书适合作为高等院校计算机及相关专业的教材和教学参考书,也可作为相关开发人员的自学教材和参考手册。
目錄 :
第1章 概述 1
1.1 计算机图形学 1
1.2 应用领域和应用程序 1
1.3 研究方法 2
1.4 系统架构 2
1.5 实现和扩展 3
1.6 实现范例 3
1.7 图形标准 4
1.8 高级应用程序和后续发展 4
1.9 本书内容 5
1.10 补充材料 6
第2章 对象和图形设备 7
2.1 图形对象 7
2.1.1 图形对象的描述 8
2.1.2 图形对象的离散化和重构 8
2.2 图形设备和表达 10
2.2.1 向量设备 10
2.2.2 光栅化(矩阵)设备 10
2.3 图形设备分类 11
2.3.1 概念 12
2.3.2 分类 12
2.4 图形工作站 13
2.4.1 窗口系统 13
2.4.2 视图转换 14
2.5 GP图形包 15
2.5.1 GP特征 15
2.5.2 GP中的颜色属性 16
2.5.3 GP中对象的数据结构 17
2.5.4 控制例程 18
2.5.5 视见例程 19
2.5.6 绘制例程 21
2.5.7 图形输入和交互例程 22
2.6 补充材料 24
2.7 本章练习 25
第3章 交互式图形界面 27
3.1 创建交互式程序 27
3.2 交互基础 27
3.2.1 图形反馈 28
3.2.2 逻辑输入元素 28
3.2.3 概览 28
3.3 界面机制 29
3.3.1 非交互式 29
3.3.2 事件驱动 29
3.3.3 回调模型 30
3.3.4 包含多个视图的回调 31
3.4 界面对象 32
3.4.1 多视口 32
3.4.2 基于视图的回调 36
3.5 工具箱 40
3.5.1 基本元素 40
3.5.2 tk包 41
3.5.3 示例 46
3.6 多边形直线编辑器 47
3.7 回顾 54
3.8 补充材料 55
3.9 本章练习 56
第4章 几何体 57
4.1 计算机图形学中的几何体 57
4.1.1 应用和功能 57
4.1.2 计算内容 57
4.1.3 方案汇总 57
4.2 欧几里得空间 58
4.2.1 定义 58
4.2.2 元素和操作 58
4.2.3 度量属性 60
4.2.4 坐标和基 61
4.3 欧几里得空间中的转换 62
4.3.1 线性转换 62
4.3.2 等距 63
4.3.3 仿射转换 63
4.4 投影空间 63
4.4.1 投影空间模型 64
4.4.2 标准化和齐次坐标 64
4.4.3 齐次表达 65
4.5 RP3中的投影转换 66
4.6 几何体对象的转换 73
4.6.1 转换操作修正 73
4.6.2 转换点和方向 73
4.6.3 转换射线 74
4.6.4 切平面上的转换 76
4.6.5 转换的双重解释 76
4.7 补充材料 77
4.7.1 小结 77
4.7.2 程序设计层 78
4.8 本章练习 78
第5章 颜色 81
5.1 颜色的基本知识 81
5.1.1 颜色的波长模型 81
5.1.2 物理颜色系统 82
5.1.3 色彩的心理学研究 82
5.1.4 颜色计算 84
5.2 设备颜色系统 85
5.2.1 颜色的处理 85
5.2.2 RGB-CMY转换 85
5.3 颜色规范系统 87
5.3.1 亮度:色度分解 87
5.3.2 颜色选择的HSV系统 88
5.4 离散化颜色实体 92
5.5 补充材料 93
5.5.1 资料链接 93
5.5.2 回顾 94
5.6 本章练习 94
第6章 数字图像 95
6.1 基础知识 95
6.1.1 图像的离散和连续模型 95
6.1.2 图像的量化 96
6.1.3 矩阵表达 97
6.2 图像的表现格式 97
6.2.1 数据结构 97
6.2.2 访问图像矩阵 99
6.3 图像编码 100
6.3.1 PPM格式 100
6.3.2 直接编码 100
6.4 补充材料 102
6.4.1 修正 102
6.4.2 图像格式 103
6.5 本章练习 103
第7章 3D场景描述 105
7.1 三维场景 105
7.1.1 三维场景的元素 105
7.1.2 三维场景表达 106
7.1.3 场景描述语言 106
7.2 语言概念 107
7.2.1 表达式语言 107
7.2.2 表达式中的语法和语义 108
7.2.3 程序的编译和解释 109
7.2.4 语言开发工具 110
7.3 扩展语言 110
7.3.1 语法分析器 110
7.3.2 词法分析器 112
7.3.3 符号分析器 115
7.3.4 参数和值 117
7.3.5 节点和表达式 119
7.3.6 辅助函数 121
7.4 子语言和应用程序 123
7.4.1 基于扩展语言的接口 123
7.4.2 实现语义 124
7.4.3 生成解释器 125
7.5 补充材料 125
7.5.1 修正 125
7.5.2 扩展 126
7.5.3 相关信息 126
7.6 本章练习 127
第8章 三维几何体模型 129
8.1 建模基础知识 129
8.1.1 模型和几何体描述 129
8.1.2 表达模式 131
8.2 几何图元 132
8.2.1 图元对象定义 133
8.2.2 泛型接口 134
8.2.3 图元示例 138
8.3 表面和多边形网格的近似计算 147
8.3.1 近似方法 147
8.3.2 分段式线性近似方法 147
8.4 多边形表面 147
8.4.1 n边多边形 148
8.4.2 三角形 150
8.4.3 三角形列表 154
8.5 补充材料 156
8.6 本章练习 157
第9章 建模技术 159
9.1 建模系统的基础知识 159
9.1.1 用户界面 159
9.1.2 模型操作 160
9.1.3 建模技术 160
9.1.4 系统架构 160
9.2 构造模型 161
9.2.1 CSG结构 162
9.2.2 简单的CSG表达式语言 164
9.2.3 三维场景描述语言中的CSG表达 166
9.2.4 三维场景描述语言中的CSG对象的解释 167
9.3 生成式建模技术 168
9.3.1 生成式模型的多边形近似表达 169
9.3.2 生成式模型的类型 171
9.3.3 旋转曲面 172
9.4 补充材料 172
9.5 本章练习 173
第10章 层次结构和体系结构对象 175
10.1 几何链接 175
10.1.1 层次结构 175
10.1.2 几何转换 176
10.1.3 仿射不变性 177
10.2 层次结构和转换 178
10.2.1 栈操作 178
10.2.2 转换 180
10.3 对象分组 183
10.3.1 层次结构描述 183
10.3.2 对象 183
10.3.3 分组和对象列表 185
10.3.4 对象转换 187
10.3.5 收集列表中的对象 188
10.3.6 参数化链接 189
10.4 动画 191
10.4.1 动画时钟 191
10.4.2 过程式动画的构建 193
10.4.3 动画的执行过程 193
10.5 补充材料 195
10.6 本章练习 196
第11章 视见相机转换 199
11.1 视见处理过程 199
11.1.1 视见操作和参考空间 199
11.1.2 虚拟相机和视见参数 200
11.1.3 定义视见参数 202
11.2 视见转换 205
11.2.1 相机转换 206
11.2.2 剪裁转换 208
11.2.3 透视转换 209
11.2.4 设备转换 212
11.2.5 转换序列 213
11.3 视见规范 214
11.3.1 初始化 214
11.3.2 相机 215
11.3.3 透视 216
11.3.4 设备 217
11.3.5 定义三维场景描述语言中的视见机制 218
11.4 补充材料 218
11.5 本章练习 219
第12章 视见的表面剪裁 221
12.1 剪裁操作的基本知识 221
12.1.1 空间剪裁 221
12.1.2 剪裁和视见 221
12.2 剪裁简单情形 222
12.2.1 简单拒绝 222
12.2.2 简单接受 223
12.2.3 包含相反方向的面元 223
12.3 两步剪裁 224
12.4 序列剪裁 228
12.5 补充材料 232
12.6 本章练习 233
第13章 光栅化 235
13.1 光栅化基础知识 235
13.2 光栅化方法的分类 236
13.3 渐增式方法 236
13.3.1 内在型渐增式光栅化 236
13.3.2 外在型渐增式光栅化 240
13.4 基于细分的光栅化 240
13.4.1 内在型细分 241
13.4.2 外在型细分 242
13.5 补充材料 244
13.6 本章练习 244
第14章 可见表面计算 247
14.1 基础知识 247
14.1.1 场景属性和一致性 247
14.1.2 表达和坐标系 248
14.1.3 分类 248
14.2 Z-缓冲区 249
14.3 光线跟踪 251
14.3.1 与三维场景对象的交点 251
14.3.2 与CSG模型间的交点 252
14.4 Painter算法 254
14.4.1 近似Z-排序 254
14.4.2 完全Z-排序 255
14.5 其他可见性方法 256
14.5.1 空间细分 256
14.5.2 递归细分 257
14.6 补充材料 258
14.7 本章练习 259
第15章 局部光照模型 261
15.1 基础知识 261
15.1.1 光照 261
15.1.2 光线传播 262
15.1.3 表面和材质 262
15.1.4 局部光照模型 263
15.2 光源 265
15.2.1 光线传输 265
15.2.2 光源的表达 267
15.3 局部光照 268
15.3.1 光照上下文 269
15.3.2 光照函数 269
15.4 材质 271
15.4.1 描述材质 271
15.4.2 材质类型 271
15.5 语言规范 272
15.6 补充材料 273
15.7 本章练习 274
第16章 全局光照 275
16.1 光照模型 275
16.1.1 传输过程 276
16.1.2 边界条件 276
16.1.3 辐射度方程 277
16.1.4 数值近似 278
16.1.5 光照计算方法 279
16.2 光线跟踪方法 279
16.3 辐射度方法 285
16.4 补充材料 293
16.5 本章练习 293
第17章 贴图技术 295
17.1 基础知识 295
17.1.1 贴图的概念 295
17.1.2 贴图类型 296
17.1.3 贴图应用 296
17.2 纹理函数 297
17.2.1 表达方式 297
17.2.2 图像定义 297
17.2.3 过程式定义 299
17.3 纹理贴图 300
17.4 凹凸贴图 302
17.5 反射贴图 304
17.6 光源贴图 306
17.7 补充材料 308
第18章 着色机制 309
18.1 着色函数采样和重构 309
18.2 采样方法 309
18.3 基本的重构方法 310
18.3.1 Bouknight着色 310
18.3.2 Gouraud方法 310
18.3.3 Phong方法 312
18.4 纹理属性的重构 313
18.4.1 插值和投影转换 313
18.4.2 纹理的有理线性插值 315
18.5 图像化 317
18.6 补充材料 318
第19章 三维图形系统 321
19.1 系统A 321
19.1.1 生成模型 321
19.1.2 基于Z-缓冲区的渲染机制 323
19.2 系统B 325
19.2.1 CSG建模机制 325
19.2.2 基于光线跟踪的渲染机制 326
19.3 系统C 329
19.3.1 基于图元层次结构的建模 329
19.3.2 基于Painter方法的渲染机制 329
19.4 项目 332
19.4.1 渲染图像的程序 333
19.4.2 建模系统 333
19.4.3 渲染系统 335
参考文献 337
內容試閱 :
前言
本书涵盖了几何建模和渲染三维场景过程中计算方面的内容,特别是3D图形系统体系结构方面的知识。本书讨论了基本的3D计算机图形学算法,并全部采用C语言加以实现。为了进一步构建图形系统,本书还补充了相关的库例程。读者可访问http:www.crcpress. comproductisbn9781568815800下载相关的库例程和其他补充材料。
本书的姊妹篇Computer Graphics: Theory and Practice [Gomes et al. 12]则重点讲述了计算机图形学中的概念、基础理论和模型、计算应用数学的抽象范例,并用于解决计算机图形学不同领域的问题。
本书是多位同仁联袂合作的结果。本书的出版要归功于Paulo Roma Cavalcanti,他不仅教授了这门课程,而且还提供了课程笔记;同时,他也是本书最初的审校者。Luiz Henrique de Figueiredo对本书的部分章节进行了详细的审读,并制作了本书中的一些插图。此外,还要感谢Margareth Prevot(IMPA,VisGraf Lab),他参与了本书中图像的制作。另外,我们也要感谢每一位为我们提供帮助的人。
除此之外,其他同仁也审读了本书的首稿,并提出了宝贵的意见,在此鸣谢Antonio Elias Fabris、Romildo Jos da Silva、Ccero Cavalcanti、Moacyr A. Silva、Fernando W.da Silva、Marcos V. Rayol Sobreiro、Silvio Levy和 Emilio Vital Brazil,我们衷心地感谢大家。同时还要感谢Jamie McInnis、Sarah Chow和Patricia Rebolo Medici对本书的意见和建议,以及他们对本书的精心编辑和校对。
本书内容得益于IMPA(VisGraf Lab)计算机图形学实验室、计算机科学系、Calgary大学交互式建模和可视化小组(插图iRMV)计算机图形学研究实验室卓有成效的教学成果和研究环境。这里,我们衷心感谢全体成员对我们的支持。最后,还要感谢NSERC AITFFoundation CMG Industrial Research Chair项目对我们的大力帮助。