下载地址:
下载地址1资源简介:
中文名: 3D数学基础:图形与游戏开发原名: 3D Math Primer for Graphics and Game Development别名: 游戏软件开发专家系列, 游戏编程, 游戏开发作者: (美)Fletcher Dunn,Ian Parberry译者: 史银雪陈洪王荣静资源格式: PDF版本: 扫描版出版社: 清华大学出版社书号: 730210946X发行时间: 2005年8月地区: 大陆语言: 简体中文简介: 内容介绍: 本书主要研究隐藏在3d几何世界背后的数学问题。3d数学是一门与计算几何相关的学科,计算几何则是研究怎样用数值方法解决几何问题的学科。3d数学和计算几何广泛应用在那些使用计算机来模拟3d世界的领域,如图形学、游戏、仿真、机器人技术、虚拟现实和动画等。 本书涵盖了理论知识和c++实现代码。理论部分解释3d中数学和几何之间的关系,列出的技巧与公式可以当做参考手册以方便查找。实现部分演示了怎样用代码来实现这些理论概念。编程示例语言使用的是c++,实际上,本书的理论知识能通过任何编程语言实现。 本书主要介绍了基本的3d数学概念,这对电脑游戏开发人员和编程人员来说尤为重要。作者详尽地讨论了数学理论,并在必要时提供几何说明,帮助读者形成直观的3d感。书中还提供了将理论应用于实践的c++类,并且在每章结尾处提供练习。 本书内容: 介绍了基础概念,如向量、坐标空间、矩阵、变换、欧拉角、齐次坐标空间、几何图元、相交性检测和三角网格。 讨论了3d中的方位,包括四元数和对不同表示技术之间的优劣比较。 描述了数学和几何的实际应用示例,提供了一些c++类和不同的矩阵类,每个类都完成特定的几何任务。所有基本变换矩阵的完整来历。作者介绍: Fletcher Dunn,是著名游戏开发公司Terminal Reality的主要开发人员,所参与开发的游戏包括《4x 4方程式赛车2》(4x4EVO 2)、《夜曲》(Noturne), 并且是《吸血莱思》(BloodRayne)的主要负责人。他所开发的游戏遍及家刚PC机的Windows、Macintosh、Dreamcast、PSⅡ、Xbox和GameCube几种主流平台。 Ian Parberry,是北德克萨斯大学计算机科学系的教授,在国际上被公认为是教授DirectX游戏的顶级专家之一。 目录: 第1章 简介1.1 什么是3d数学1.2 为什么选择本书1.3 阅读本书需要的基础知识1.4 概览第2章 笛卡尔坐标系统2.1 1d数学2.2 2d笛卡尔数学2.2.1 笛卡尔坐标系的实例:假想中的笛卡尔城2.2.2 任意2d坐标系2.2.3 在2d笛卡尔坐标系中定位点,2.3 从2d到3d2.3.1 第三个维度,第三个轴2.3.2 在3d笛卡尔坐标系中定位点2.3.3 左手坐标系与右手坐标系2.3.4 本书的重要约定2.4 练习第3章 多坐标系3.1 为什么要使用多坐标系3.2 一些有用的坐标系3.2.1 世界坐标系3.2.2 物体坐标系3.2.3 摄像机坐标系3.2.4 惯性坐标系3.3 嵌套式坐标系3.4 描述坐标系3.5 坐标系转换3.6 练习第4章 向量 4.1 向量——数学定义4.1.1 向量与标量 4.1.2 向量的维度4.1.3 记法4.2 向量——几何定义4.2.1 向量的形式4.2.2 位置与位移4.2.3 向量的表达4.2.4 将向量表示为位移序列.4.3 向量与点4.3.1 相对位置4.3.2 点和向量的关系4.4 练习第5章 向量运算5.1 线性代数与几何5.2 符号约定5.3 零向量 5.4 负向量 5.4.1 运算法则5.4.2 几何解释5.5 向量大小(长度或模)5.5.1 运算法则5.5.2 几何解释5.6 标量与向量的乘法5.6.1 运算法则5.6.2 几何解释5.7 标准化向量 5.7.1 运算法则5.7.2 几何解释5.8 向量的加法和减法5.8.1 运算法则5.8.2 几何解释5.8.3 一个点到另一个点的向量 5.9 距离公式5.10 向量点乘5.10.1 运算法则5.10.2 几何解释5.10.3 向量投影5.11 向量叉乘5.11.1 运算法则5.11.2 几何解释5.12 线性代数公式5.13 练习第6章 3d向量类6.1 类接口6.2 vector3类6.3 设计决策6.3.1 float与double6.3.2 运算符重载6.3.3 仅提供最重要的操作6.3.4 不要重载过多的运算符6.3.5 使用const成员函数6.3.6 使用const引用参数6.3.7 成员函数与非成员函数6.3.8 无缺省初始化6.3.9 不要使用虚函数6.3.10 不要使用信息屏蔽6.3.11 全局常量:零6.3.12 不存在“point3”类6.3.13 关于优化第7章 矩阵7.1 矩阵——数学定义7.1.1 矩阵的维度和记法7.1.2 方阵7.1.3 向量作为矩阵使用7.1.4 转置7.1.5 标量和矩阵的乘法7.1.6 矩阵乘法7.1.7 向量与矩阵的乘法7.1.8 行向量与列向量 7.2 矩阵——几何解释7.2.1 矩阵是怎样变换向量的7.2.2 矩阵的形式7.2.3 总结7.3 练习第8章 矩阵和线性变换8.1 变换物体与变换坐标系8.2 旋转8.2.1 2d中的旋转8.2.2 3d中绕坐标轴的旋转8.2.3 3d中绕任意轴的旋转8.3 缩放8.3.1 沿坐标轴的缩放8.3.2 沿任意方向缩放8.4 正交投影8.4.1 向坐标轴或平面上投影8.4.2 向任意直线或平面投影8.5 镜像 8.6 切变8.7 变换的组合8.8 变换分类8.8.1 线性变换8.8.2 仿射变换8.8.3 可逆变换8.8.4 等角变换8.8.5 正交变换8.8.6 刚体变换8.8.7 变换类型小结8.9 练习第9章 矩阵的更多知识9.1 矩阵的行列式 9.1.1 线性运算法则9.1.2 几何解释9.2 矩阵的逆9.2.1 运算法则9.2.2 几何解释9.3 正交矩阵9.3.1 运算法则9.3.2 几何解释9.3.3 矩阵正交化9.4 4x4齐次矩阵9.4.1 4d齐次空间9.4.2 4x4平移矩阵9.4.3 一般仿射变换9.4.4 透视投影9.4.5 小孔成像 9.4.6 使用4x4矩阵进行透视投影9.5 练习第10章 3d中的方位与角位移10.1 什么是方位?10.2 矩阵形式 10.2.1 用哪个矩阵10.2.2 矩阵形式的优点10.2.3 矩阵形式的缺点10.2.4 小结10.3 欧拉角10.3.1 什么是欧拉角10.3.2 关于欧拉角的其他约定10.3.3 欧拉角的优点10.3.4 欧拉角的缺点10.3.5 总结10.4 四元数10.4.1 四元数记法10.4.2 四元数与复数10.4.3 四元数和轴一角对10.4.4 负四元数10.4.5 单位四元数10.4.6 四元数的模10.4.7 四元数共轭和逆10.4.8 四元数乘法(叉乘)10.4.9 四元数“差”10.4.10 四元数点乘10.4.11 四元数的对数、指数和标量乘运算10.4.12 四元数求幂10.4.13 四元数插值——“slerp"10.4.14 四元数样条——“squad”10.4.15 四元数的优点和缺点10.5 各方法比较10.6 表达形式之间的转换10.6.1 从欧拉角转换到矩阵10.6.2 从矩阵转换到欧拉角10.6.3 从四元数转换到矩阵10.6.4 从矩阵转换到四元数10.6.5 从欧拉角转换到四元数10.6.6 从四元数转换到欧拉角10.7 练习第11章 c++实现11.1 概述11.2 eulerangles类11.3 quatemion类11.4 rotationmatrix类11.5 matrix4x3类第12章 几何图元12.1 表示方法12.1.1 隐式表示12.1.2 参数形式表示12.1.3 “直接”形式表示12.1.4 自由度12.2 直线和射线12.2.1 两点表示法12.2.2 射线的参数形式 12.2.3 特殊的2d直线表示方法12.2.4 在不同表示方法间转换12.3 球和圆12.4 矩形边界框12.4.1 aabb的表达方法,12.4.2 计算aabb12.4.3 aabb与边界球12.4.4 变换aabb12.5 平面12.5.1 平面方程——隐式定义12.5.2 用三个点定义12.5.3 多于三个点的“最佳”平面12.5.4 点到平面的距离12.6 三角形12.6.1 基本性质12.6.2 面积12.6.3 重心坐标空间12.6.4 特殊点12.7 多边形12.7.1 简单多边形与复杂多边形12.7.2 自相交多边形12.7.3 凸多边形与凹多边形12.7.4 三角分解和扇形分解12.8 练习第13章 几何检测13.1 2d隐式直线上的最近点13.2 参数射线上的最近点13.3 平面上的最近点13.4 圆或球上的最近点13.5 aabb上的最近点13.6 相交性检测13.7 在2d中两条隐式直线的相交性检测13.8 在3d中两条射线的相交性检测13.9 射线和平面的相交性检测13.10 aabb和平面的相交性检测13.11 三个平面间的相交性检测13.12 射线和圆/球的相交性检测13.13 两个圆/球的相交性检测13.14 球和aabb的相交性检测13.15 球和平面的相交性检测13.16 射线和三角形的相交性检测13.17 射线和aabb的相交性检测13.18 两个aabb的相交性检测13.19 其他种类的检测13.20 aabb3类13.21 练习第14章 三角网格14.1 表示网格14.1.1 索引三角网格14.1.2 高级技术14.1.3 针对渲染的特殊表达14.1.4 顶点缓存14.1.5 三角带14.1.6 三角扇14.2 额外信息14.2.1 纹理映射坐标14.2.2 表面法向量 14.2.3 光照值14.3 拓扑与一致性14.4 三角网格操作14.4.1 逐片操作14.4.2 焊接顶点14.4.3 面拆分14.4.4 边缩坍14.4.5 网格消减 14.5 c++三角网格类第15章 图形数学15.1 图形管道概述15.2 设定视图参数15.2.1 指定输出窗口15.2.2 像素纵横比15.2.3 视锥15.2.4 视场与缩放15.3 坐标空间15.3.1 模型与世界空间15.3.2 摄像机空间15.3.3 裁剪空间15.3.4 屏幕空间15.4 光照与雾化15.4.1 色彩的数学15.4.2 光源15.4.3 标准光照方程——概述15.4.4 镜面反射分量 15.4.5 漫反射分量 15.4.6 环境光分量 15.4.7 光的衰减 15.4.8 光照方程——合成15.4.9 雾化15.4.10 flat着色与gourand着色15.5 缓存15.6 纹理映射15.7 几何体的生成与提交15.7.1 lod选择与渐进式生成15.7.2 向api投送几何体15.8 变换和光照15.8.1 变换到裁剪空间15.8.2 顶点光照15.9 背面剔除与裁剪15.9.1 背面剔除15.9.2 裁剪15.10 光栅化第16章 可见性检测16.1 包围体检测16.1.1 基于视锥的检测16.1.2 遮断检测16.2 空间分割技术16.3 网格系统16.4 四叉树和八叉树16.5 bsp树16.5.1 经典bsp16.5.2 任意分割面16.6 遮断剔除16.6.1 潜在可见集16.6.2 portal技术第17章 后记附录a 简单的数学概念a.1 求和记法a.2 角度,度和弧度a.3 三角函数a.4 三角公式附录b 参考文献
飞网下载站,免费下载共享资料,内容涉及教育资源、专业资料、IT资源、娱乐生活、经济管理、办公文书、游戏资料等。