计算机类专业教育 > 图形图像与多媒体

游戏数学基础教程

书号:9787113147044 套系名称:“十二五”高等学校动漫游戏专业设计丛书

作者:房晓溪 出版日期:2012-07-01

定价:32.00 页码 / 开本:232 /16

策划编辑:巨凤 责任编辑:徐盼欣

适用专业:无 适用层次:高等院校

最新印刷时间:

资源下载
教学课件 教学素材(暂无)
习题答案(暂无) 教学案例(暂无)
教学设计(暂无) 教学视频(暂无)
内容简介 前言 目录 作者介绍 图书特色
  •         本书主要讲解了与计算机游戏开发相关的数学知识和物理知识,重点为3D数学。3D数学是一门和计算几何相关的学科,主要研究怎样用数值方法解决几何问题。3D数学和计算几何广泛应用在游戏开发领域中,如图形变换、物理仿真等。本书讲述基本的代数和几何知识,包括向量、矩阵、四元数、几何变换等相关内容;讲述计算机游戏开发的相关数学知识,包括几何图元的碰撞检测、可见性判断、光照等内容;介绍物理的基础知识,包括力学、运动学、碰撞等基础物理理论。本书在对相关数学知识进行讨论的同时,给出了相应的C++实现代码。

            本书既可作为高等院校动漫游戏专业的游戏开发教程,也可作为游戏开发人员的参考用书和游戏开发爱好者的自学教材。
  •         计算机游戏开发技术是一门与数学及物理紧密相关的技术,数学及物理知识在计算机游戏开发中占有重要的位置,正是由于有深厚的数学及物理理论做后盾,计算机模拟的虚拟游戏世界才可以像今天这样逼真。

            本书主要介绍了计算机图形学、仿真、计算几何等学科的基础知识,物理方面的基础知识,以及游戏开发中光照的数学计算知识等,旨在使学生对相关知识有更深入的理解。

            学习本书前,学生需要掌握一些基本的理论知识和实践知识。此处所说的理论知识主要是指代数和几何知识,具体包括:
    ●  代数表达式变换;
    ●  代数运算法则,如结合律、分配律;
    ●  函数和变量;
    ●  基本2D欧几里得几何知识;
    ●  三角函数的基本知识。
    而此处所说的实践知识,则主要是指C++编程的基础知识,具体包括:
    ●  程序流程控制;
    ●  函数和参数;
    ●  面向对象编程和类的设计。

            这里需要说明的是,本书中的样本代码不受编译器和目标平台的限制,对于“高级”的C++语言特征和可能不熟悉的语言特征(如操作符重载、引用参数等)这里并未涉及,也不需要学生在特定的知识背景下学习。

            本书的主要内容有:
    第1章 数学基础与坐标系统,主要介绍有关坐标系统的知识及一些游戏和图形应用开发中常用的坐标系统和一些简单的数学概念。
    第2章 向量,主要介绍3D数学中的向量,着重介绍向量和向量运算的几何意义。
    第3章 矩阵,主要介绍3D数学中的矩阵,从数学的角度讨论矩阵的基本性质和运算,介绍这些性质、运算和几何解释,并深入探讨矩阵与线性变换之间的关系,讨论怎样使用矩阵的运算将基本变换按顺序组合成一个复杂的变换矩阵及各种变换的种类,最后介绍关于矩阵的其他有用知识点。
    第4章 3D空间的方位与角位移,主要介绍在3D数学中如何描述物体方位,讨论角位移的概念,介绍3D数学中描述方位和角位移的常用方法,如矩阵、欧拉角和四元数等。
    第5章 空间几何体,主要介绍几何图形的基本性质,讲解一般和特殊的几何图形,给出这些图形的表达方法和它们的重要性质及操作,并且给出一些C++代码,用于表达图形和实现所讨论的操作。
    第6章 几何检测和碰撞检测,主要介绍碰撞检测系统的基础、最近点和相交性检测,这些知识可以帮助学生更好地理解碰撞检测的原理;还介绍了关于可见性检测的方法、概念,并详细讲解四叉树的概念实现。
    第7章 物理模拟,主要介绍游戏开发中应用到的物理基础知识。在游戏开发的整个过程中,会用到很多物理学的知识,许多特定游戏的元素都需要通过实际物理的模拟才能达到真实的效果。
    第8章 光线的相关算法,主要介绍光线的相关知识。在游戏中,光线跟踪的应用包括光谱的产生、可见性确定、碰撞检测及视线检测。这里重点介绍当光线照射到物体上时,如何确定光线与物体的交点,以及当光线照射到反射面或折射面时,光线的传播路径是如何改变的。
    第9章 光照,主要介绍光照的相关知识。首先讲解RGB颜色系统,列举各种各样的光源,然后介绍漫反射光和镜面反射光,最后分析描述渲染表面细节的技术,如纹理映射。

            本书由房晓溪任主编,侯宇坤任副主编,其中房晓溪负责全书的策划、内容的审订和章节的安排;侯宇坤负责全书的整理及校对工作。此外,本书的编写工作还得到了中国铁道出版社的编辑同志的帮助,他们提出了宝贵的意见和建议,在此一并表示感谢。希望本书能够给广大游戏开发人员、游戏开发爱好者及游戏专业的学生带来帮助。

            由于编写时间有限,书中不足之处在所难免,望各位读者不吝赐教。


    编  者
    2012年2月
     

  • 第1章    数学基础与坐标系统 1
    1.1    3D数学简介 3
    1.2    数学坐标系 3
    1.2.1    一维数学 4
    1.2.2    2D数学 5
    1.2.3    3D扩展 6
    1.3    多坐标系 8
    1.3.1    常见坐标系 9
    1.3.2    坐标系转换 11
    1.4    简单的数学概念 12
    1.4.1    角度、度和弧度 12
    1.4.2    三角函数 13
    1.4.3    三角公式 14
    小结 16
    习题 16
    扩展练习 16
    第2章 向量 17
    2.1    向量的定义 19
    2.1.1    向量的数学定义 19
    2.1.2    向量的几何定义 21
    2.1.3    向量的大小(模) 22
    2.2    几种特殊向量 23
    2.3    向量的运算 25
    2.3.1    标量与向量的乘法 25
    2.3.2    向量的加减法 26
    2.3.3    向量的点乘 29
    2.3.4    向量的叉乘 32
    2.4    线性代数公式 33
    小结 34
    习题 34
    扩展练习 34
    第3章 矩阵 35
    3.1    矩阵的数学定义 37
    3.2    矩阵的运算 39
    3.3    矩阵的几何意义 42
    3.4    D3DX中的矩阵 46
    3.5    线性变换 48
    3.5.1    物体的转换与坐标系的转换 49
    3.5.2    旋转矩阵 51
    3.5.3    缩放矩阵 56
    3.5.4    正交投影 60
    3.5.5    镜像 61
    3.5.6    变换的组合 63
    3.6    变换分类 64
    3.7    矩阵的行列式 66
    3.8    逆矩阵 67
    3.9    正交矩阵 68
    3.10    齐次矩阵 71
    3.10.1    基本概念 71
    3.10.2    透视投影 75
    3.10.3    小孔成像 76
    小结 78
    习题 79
    扩展练习 79
    第4章 3D空间的方位与角位移 81
    4.1 方位的概念 83
    4.2 方位的矩阵描述 84
    4.3 欧拉角 86
    4.3.1    欧拉角定义 86
    4.3.2    欧拉角的优缺点 88
    4.4 四元数 90
    4.4.1    基本概念 91
    4.4.2    四元数的几种运算 93
    4.5 表达方式的转换 99
    4.6 代码实现 101
    4.6.1    欧拉角类 102
    4.6.2    四元数类 106
    小结 111
    习题 112
    扩展练习 112
    第5章   空间几何体 113
    5.1    表达方式 115
    5.2    直线与射线 116
    5.3    平面 120
    5.4    球和圆 122
    5.4.1   表达方法 122
    5.4.2   包围盒 123
    5.5    三角形 127
    5.5.1   基本概念及性质 128
    5.5.2   三角形的面积 128
    5.5.3   重心坐标系 130
    5.5.4   三角形中的特殊点 133
    小结 135
    习题 135
    扩展练习 136
    第6章 几何检测和碰撞检测 137
    6.1 图形上的最近点 139
    6.2 相交性检测 142
    6.3 碰撞检测 149
    6.4 可见性检测 150
    6.4.1    包围体检测 150
    6.4.2    空间分割 151
    小结 156
    习题 156
    扩展练习 157
    第7章 物理模拟 159
    7.1 基本概念 161
    7.1.1    牛顿运动定律 161
    7.1.2    质量和质心 163
    7.2 运动学 164
    7.3 力 167
    7.3.1    力场和万有引力 167
    7.3.2   摩擦力 168
    7.3.3    压力和压强 169
    7.3.4    浮力 170
    7.3.5    弹簧力 172
    7.3.6    离心力 173
    7.4 动量与碰撞 174
    7.4.1    冲量、动量定律 174
    7.4.2    碰撞 175
    小结 180
    习题 180
    扩展练习 182
    第8章 光线的相关算法 183
    8.1 根的求解 185
    8.1.1    二次多项式 185
    8.1.2    三次多项式 186
    8.1.3    四次多项式 189
    8.2 曲面交点 190
    8.2.1    光线与三角形相交 190
    8.2.2    光线与长方体相交 191
    8.2.3    光线与球体相交 192
    8.2.4    光线与圆柱面相交 193
    8.2.5    光线与环形圆纹曲面相交 193
    8.3 法向量的计算 194
    8.4 反射向量和折射向量 195
    8.4.1    反射向量的计算 195
    8.4.2    折射向量的计算 196
    小结 197
    习题 197
    扩展练习 198
    第9章 光照 199
    9.1 RGB颜色系统 201
    9.2 光源 202
    9.2.1    环境光 202
    9.2.2    定向光源 202
    9.2.3    点光源 203
    9.2.4    聚集光源 203
    9.3 漫反射光 204
    9.4 纹理映射 204
    9.4.1    标准纹理图 205
    9.4.2    投影纹理图 206
    9.4.3    立方体纹理图 207
    9.5 镜面反射光 209
    小结 210
    习题 210
    扩展练习 210
    附录A 简单的数学公式 211
    附录B 常用的物理公式 215
    附录C 部分习题参考答案 219
    参考文献 222