![]() 作者:[美]John Patrick Flynt/[美]Danny Kodicek 出版社: 清华大学出版社 译者:周建娟 出版年: 2015-2 定价: 89.00元 装帧: 平装 ISBN: 9787302379515 内容简介 · · · · · ·本书详细阐述了与游戏数学和物理学相关的基本解决方案,主要包括数字,数学运算,代数运算,几何学和三角学,向量,微积分,加速度、质量和能量,简单形状之间的碰撞检测,碰撞处理方案,摩擦力,绳索、滑轮和传送带,振荡现象,3D形状,转换操作,碰撞检测,光照和纹理,建模技术,加速方案,贴图游戏,迷宫类游戏,博弈论和人工智能,搜索技术等内容。此外,本书还提供了相应的示例、伪代码,以帮助读者进一步理解相关方案的实现过程。 本书既适合作为高等院校计算机及相关专业的教材和教学参考书,也可作为相关开发人员的自学教材和参考手册。 目录 · · · · · ·目 录第1部分 数 学 知 识 第1章 数字 2 1.1 概述 2 1.2 数字的书写方式 2 1.2.1 整数、有理数和无理数 2 · · · · · ·() 目 录 第1部分 数 学 知 识 第1章 数字 2 1.1 概述 2 1.2 数字的书写方式 2 1.2.1 整数、有理数和无理数 2 1.2.2 无理数和实数 3 1.2.3 数位串形式的数字 3 1.2.4 十进制、二进制和十六进制 5 1.3 数字在计算机中的表达方式 5 1.3.1 表达整数 6 1.3.2 有理数和无理数的表达方法 7 1.3.3 标准数字和计算数字 8 1.3.4 公共函数 9 1.3.5 舍入误差和性能 11 1.3.6 BigInteger类 11 1.4 本章练习 12 1.5 本章小结 12 第2章 数学运算 13 2.1 概述 13 2.2 分数 13 2.3 比例、比率以及百分比 20 2.3.1 数值范围间的映射 20 2.3.2 纸张尺寸 20 2.3.3 黄金比率 21 2.3.4 Fibonacci数列 22 2.3.5 滑块 22 2.3.6 百分比计算 23 2.3.7 复利计算 24 2.3.8 债务和利息 24 2.4 指数 25 2.4.1 指数计算 25 2.4.2 数字e和exp()函数 27 2.4.3 真实世界和物理学中的指数函数 27 2.5 对数 27 2.5.1 对数计算 28 2.5.2 通过对数简化计算 28 2.5.3 利用对数处理大数 29 2.6 本章练习 30 2.7 本章小结 30 第3章 代数运算 31 3.1 概述 31 3.2 基本的代数运算 31 3.2.1 变量、参数和常量 31 3.2.2 表达式和数据项 32 3.2.3 函数 32 3.2.4 函数表达方式 33 3.2.5 一一对应、反函数和多值函数 33 3.2.6 多项式 33 3.2.7 等式、公式和不等式 34 3.3 等式计算 34 3.3.1 等式配平 35 3.3.2 简化计算 35 3.3.3 符号和置换操作 36 3.3.4 对原问题进行求解 37 3.4 分解并求解二次等式(方程) 37 3.4.1 分解示例 38 3.4.2 因子和二次表达式 38 3.4.3 求解3次等式 40 3.4.4 求解联立方程 41 3.4.5 替换法求解联立方程 41 3.4.6 基于消去法的联立方程 43 3.4.7 方程组求解函数 44 3.5 函数和函数图 45 3.5.1 何为函数图 45 3.5.2 函数图的绘制和检测 47 3.5.3 函数图反映的数据 50 3.5.4 参数曲线和函数 51 3.6 本章练习 52 3.7 本章小结 52 第4章 几何学和三角学 53 4.1 概述 53 4.2 角度 53 4.2.1 角度和角度值 53 4.2.2 面积和π 55 4.2.3 弧度 56 4.3 三角形 56 4.3.1 三角形类型 56 4.3.2 通用三角形类型 57 4.3.3 直角三角形 58 4.3.4 毕达哥拉斯定理 58 4.3.5 毕达哥拉斯三元数 59 4.3.6 毕达哥拉斯定理推论 59 4.3.7 三角函数 60 4.3.8 三角恒等式 61 4.3.9 反三角函数 62 4.4 三角形计算 63 4.4.1 正弦和余弦定理 63 4.4.2 相似三角形 65 4.4.3 三角形面积 66 4.5 旋转和反射 66 4.5.1 转换 66 4.5.2 旋转对象某一角度 67 4.5.3 围绕中心位置的旋转操作 69 4.5.4 基于特定角度值的快速旋转 69 4.5.5 反射 69 4.5.6 sin()、cos()和圆周运动 70 4.6 本章练习 71 4.7 本章小结 71 第5章 向量 73 5.1 概述 73 5.2 基础知识 73 5.2.1 “指令”向量 73 5.2.2 向量算术 75 5.2.3 向量编程 76 5.2.4 法向量 77 5.2.5 真实世界中的向量和标量 78 5.3 基于向量的运动 78 5.3.1 通过向量描述形状 78 5.3.2 P和Q之间的运动 80 5.3.3 复杂的向量路径 82 5.3.4 奇异路径 83 5.4 向量计算 84 5.4.1 向量及其分量 84 5.4.2 标量积(点积) 85 5.4.3 向量方程 86 5.5 矩阵 89 5.5.1 矩阵基础知识 89 5.5.2 行列式 90 5.5.3 矩阵算术 91 5.5.4 基于转换的矩阵 93 5.6 本章练习 94 5.7 本章小结 95 第6章 微积分 96 6.1 概述 96 6.2 微分和积分 96 6.2.1 函数梯度 96 6.2.2 微分计算 98 6.2.3 应用示例 99 6.2.4 导数信息 100 6.2.5 对数和指数的微分运算 100 6.2.6 三角函数的微分运算 101 6.2.7 参数方程和偏导数 102 6.2.8 积分运算 103 6.3 微分方程 104 6.3.1 常微分方程的特征 104 6.3.2 求解线性ODE 105 6.4 近似方案 106 6.4.1 划界法 106 6.4.2 梯度方案 108 6.5 本章练习 110 6.6 本章小结 110 第2部分 物理学基本内容 第7章 加速度、质量和能量 114 7.1 概述 114 7.2 弹道学 114 7.2.1 加速和减速 114 7.2.2 基于恒定加速度的运动方程 115 7.2.3 基于重力的加速度 116 7.2.4 炮弹的运动行为 117 7.3 质量和动量 118 7.3.1 质量和惯性 118 7.3.2 动量计算 119 7.4 能量 119 7.4.1 能量类型 120 7.4.2 能量守恒 120 7.4.3 利用能量守恒求解弹道问题 121 7.5 本章练习 122 7.6 本章小结 123 第8章 简单形状之间的碰撞检测 124 8.1 概述 124 8.2 基本原则 124 8.3 圆形对象间的碰撞 125 8.3.1 圆形 125 8.3.2 移动的圆形和墙壁 126 8.3.3 静止圆和运动点 127 8.3.4 直线上的两个运动圆 128 8.3.5 以某一角度运动的两个圆 129 8.3.6 内嵌圆 130 8.3.7 碰撞点 131 8.4 正方形碰撞 131 8.4.1 正方形和矩形 132 8.4.2 静止矩形和运动点 133 8.4.3 同一角度碰撞的矩形 135 8.4.4 不同角度的两个矩形 137 8.4.5 碰撞点 138 8.5 椭圆形之间的碰撞 138 8.5.1 椭圆 138 8.5.2 通过坐标描述椭圆 139 8.5.3 平移操作 140 8.5.4 静态椭圆和动态点 141 8.5.5 两个椭圆之间的碰撞 142 8.5.6 碰撞点 142 8.6 不同形状对象间的碰撞 142 8.6.1 圆形和矩形之间的碰撞 142 8.6.2 碰撞点 143 8.7 本章练习 143 8.8 本章小结 144 第9章 碰撞处理方案 145 9.1 概述 145 9.2 处理单一碰撞行为 145 9.2.1 球体与墙面之间的碰撞 145 9.2.2 球体与运动的墙面发生碰撞 146 9.2.3 两个运动球体的碰撞 148 9.2.4 非弹性碰撞 149 9.3 处理多次碰撞行为 151 9.3.1 递归碰撞 151 9.3.2 同时碰撞 153 9.4 本章练习 154 9.5 本章小结 154 第10章 复杂形状间的碰撞检测 155 10.1 概述 155 10.2 复杂形状 155 10.2.1 位图和矢量图 155 10.2.2 定义复杂形状 156 10.2.3 碰撞图函数 157 10.2.4 参数函数 158 10.2.5 Bezier曲线和样条 158 10.2.6 Catmull-Rom曲线 159 10.2.7 可移动样条 160 10.2.8 凸形和凹形 161 10.2.9 确定一点是否位于几何形状中 162 10.3 某些合理性问题 164 10.3.1 计算复杂形状的前缘边 164 10.3.2 使用碰撞图 167 10.3.3 计算包围形状 170 10.4 内建方案 173 10.5 本章练习 174 10.6 本章小结 174 第11章 一款简单的撞球游戏 175 11.1 概述 175 11.2 模拟中的主要元素 175 11.2.1 定义撞球桌面 175 11.2.2 定义球体 177 11.2.3 定义物理参数 179 11.3 运行游戏 180 11.3.1 创建球杆 180 11.3.2 游戏主循环 181 11.3.3 基本的剔除操作 184 11.3.4 游戏逻辑 185 11.4 本章练习 186 11.5 本章小结 186 第3部分 复 杂 运 动 第12章 力和牛顿定律 188 12.1 概述 188 12.2 作用力 188 12.2.1 牛顿第一定律 188 12.2.2 牛顿第二定律 189 12.2.3 牛顿第三定律 190 12.2.4 冲量 190 12.3 重力 191 12.3.1 万有引力定律 191 12.3.2 重力作用下的行星运动 191 12.3.3 稳定轨道 192 12.3.4 离心力和向心力 193 12.4 火箭和卫星 193 12.4.1 地球静止轨道 193 12.4.2 高速飞行的炮弹 194 12.5 本章练习 195 12.6 本章小结 195 第13章 角运动 196 13.1 概述 196 13.2 杠杆物理 196 13.2.1 转矩 196 13.2.2 转动惯量 198 13.2.3 惯性片状物体 199 13.3 旋转 200 13.3.1 芭蕾舞演员和旋转陀螺 200 13.3.2 旋转动能 201 13.4 旋转碰撞 202 13.4.1 旋转直线和圆形之间的碰撞检测 202 13.4.2 圆和运动直线 204 13.4.3 直线间的碰撞检测 206 13.4.4 两条旋转直线 209 13.4.5 处理角碰撞 210 13.5 向撞球游戏中加入旋转行为 212 13.6 本章练习 212 13.7 本章小结 213 第14章 摩擦力 214 14.1 概述 214 14.2 摩擦力的工作方式 214 14.2.1 摩擦系数 214 14.2.2 摩擦力和能量 216 14.2.3 空气阻力和临界下降速度 216 14.3 摩擦力和角运动 217 14.3.1 轮胎和牵引力 217 14.3.2 摩擦力和打滑现象 219 14.4 本章练习 220 14.5 本章小结 220 第15章 绳索、滑轮和传送带 221 15.1 概述 221 15.2 拉动对象 221 15.2.1 不可扩展的绳索 221 15.2.2 桌面上的绳索 222 15.2.3 绳索和圆周运动 222 15.2.4 滑轮 224 15.3 连续动量 225 15.3.1 传送带 225 15.3.2 火箭燃料 226 15.4 本章练习 227 15.5 本章小结 227 第16章 振荡现象 228 16.1 概述 228 16.2 弹簧 228 16.2.1 拉伸弹簧所产生的作用力 228 16.2.2 通过弹簧测量重量 229 16.3 简谐运动 230 16.3.1 简谐运动方程 230 16.3.2 其他SHM示例 231 16.3.3 参数计算 232 16.4 阻尼简谐运动 233 16.4.1 DHM方程 233 16.4.2 实际阻尼计算 234 16.5 弹簧的复杂性 236 16.5.1 共振与秋千 236 16.5.2 联接弹簧:链接运动 236 16.6 弹簧运动的计算过程 237 16.6.1 基于弹簧的作用力 237 16.6.2 非阻尼和非联接弹簧 238 16.6.3 纯DHM振荡 240 16.7 波 241 16.7.1 波运动 241 16.7.2 波类型 242 16.7.3 波的叠加和削减 242 16.7.4 波的物理行为 243 16.8 本章练习 245 16.9 本章小结 245 第4部分 3D数学 第17章 3D形状 248 17.1 概述 248 17.2 3D向量 248 17.2.1 添加第三个维度 248 17.2.2 向量(叉)积 249 17.2.3 使用叉积结果 250 17.2.4 齐次坐标 252 17.3 渲染机制 253 17.3.1 投影平面 254 17.3.2 透视 256 17.3.3 正交投影 257 17.4 光线投射 258 17.4.1 通过3D引擎计算路径上的对象 258 17.4.2 拾取、拖曳以及投掷操作 259 17.5 本章练习 260 17.6 本章小结 261 第18章 转换操作 262 18.1 概述 262 18.2 描述空间位置 262 18.2.1 位置、旋转和缩放 262 18.2.2 转换矩阵 264 18.3 转换应用 266 18.3.1 利用转换操作构建运动行为 266 18.3.2 插值计算 268 18.3.3 四元数 268 18.3.4 父转换和子转换 269 18.4 本章练习 271 18.5 本章小结 271 第19章 碰撞检测 272 19.1 概述 272 19.2 碰撞场景世界 272 19.2.1 球体 272 19.2.2 运动球体和墙面 273 19.2.3 球体和运动点或两个球体 274 19.2.4 碰撞点 274 19.3 碰撞球体 274 19.3.1 椭球体 274 19.3.2 椭球体和运动点或平面 275 19.3.3 两个椭球体 275 19.4 碰撞盒体 276 19.4.1 盒体 276 19.4.2 盒体和移动点 276 19.4.3 两个盒体之间的碰撞 277 19.4.4 盒体与球体之间的碰撞 278 19.5 碰撞柱体 279 19.5.1 圆柱体 279 19.5.2 圆柱体与点或球体之间的碰撞 280 19.5.3 圆锥体与球体或粒子间的碰撞 281 19.5.4 两个圆柱体间的碰撞 282 19.6 其他碰撞类型 282 19.6.1 包围球、包围椭球体与包围盒 283 19.6.2 网格间的碰撞 283 19.7 三维空间中的碰撞处理 283 19.8 本章练习 283 19.9 本章小结 284 第20章 光照和纹理 285 20.1 概述 285 20.2 光照 285 20.2.1 真实光照 285 20.2.2 模拟光照 286 20.3 材质 288 20.3.1 表面颜色 288 20.3.2 图像贴图和纹理 290 20.3.3 贴图与形状之间的匹配 292 20.3.4 纹理链 293 20.4 着色机制 295 20.4.1 Gouraud和Phong着色 295 20.4.2 顶点法线 296 20.5 本章练习 296 20.6 本章小结 296 第21章 建模技术 298 21.1 概述 298 21.2 数学3D建模 298 21.2.1 旋转表面 298 21.2.2 3D样条 299 21.2.3 NURBS 300 21.2.4 基于正弦和余弦函数的表面 302 21.2.5 细分操作 303 21.3 动画表面 304 21.3.1 布料和头发 304 21.3.2 水波 306 21.4 骨骼动画 306 21.4.1 与骨骼协同工作 306 21.4.2 逆向动力学 308 21.5 本章练习 310 21.6 本章小结 310 第5部分 游 戏 算 法 第22章 加速方案 314 22.1 概述 314 22.2 简单和复杂的计算方案 314 22.2.1 计算复杂度 314 22.2.2 使用查找表 315 22.2.3 整数计算 316 22.3 伪物理模拟 318 22.3.1 对碰撞执行简化计算 318 22.3.2 简化运动行为 319 22.3 剔除操作 320 22.3.1 空间划分 320 22.3.2 四叉树和八叉树 321 22.3.3 二分空间 322 22.3.4 包围体层次结构 323 22.4 本章练习 324 22.5 本章小结 324 第23章 贴图游戏 325 23.1 概述 325 23.2 根据位数据创建游戏 325 23.2.1 构造贴图场景 325 23.2.2 基本的运动行为和相机控制 326 23.2.3 基本的碰撞行为 327 23.2.4 复杂贴图单元 329 23.3 高级贴图机制 330 23.3.1 等轴测视图 330 23.3.2 3D贴图类游戏 331 23.3.3 基于样条的贴图单元 334 23.4 本章练习 334 23.5 本章小结 334 第24章 迷宫类游戏 335 24.1 概述 335 24.2 迷宫分类 335 24.2.1 图和连接性 335 24.2.2 迷宫转向 337 24.3 生成迷宫 339 24.3.1 处理迷宫数据 339 24.3.2 自动生成迷宫 340 24.3.3 多连通迷宫 343 24.3.4 更为复杂的迷宫结构 344 24.4 迷宫漫游 345 24.4.1 碰撞检测和相机控制 345 24.4.2 视线 346 24.4.3 迷宫的进程 348 24.4.4 路径搜索和A*算法 349 24.5 本章练习 351 24.6 本章小结 351 第25章 博弈论和人工智能 352 25.1 概述 352 25.2 博弈论简介 352 25.2.1 零和游戏 352 25.2.2 求解游戏 354 25.2.3 Tic-Tac-Toe游戏中的博弈论 356 25.2.4 Tic-Tac-Toe游戏的搜索方案 357 25.2.5 限制条件 360 25.3 战术型AI 360 25.3.1 棋类游戏的工作方式 361 25.3.2 程序训练 361 25.3.3 基于Tic-Tac-Toe游戏的战术AI 362 25.4 自顶向下型AI 362 25.4.1 目标和子目标 363 25.4.2 改变目标的时机 363 25.4.3 Tic-Tac-Toe游戏的自顶向下AI方案 364 25.5 自底向上型AI 365 25.5.1 神经网络 366 25.5.2 神经网络训练 368 25.5.3 行为者和涌现性 368 25.5.4 Tic-Tac-Toe的自底向上AI方案 369 25.6 本章练习 370 25.7 本章小结 370 第26章 搜索技术 371 26.1 概述 371 26.2 问题求解方式 371 26.2.1 问题表达 371 26.2.2 搜索答案 372 26.2.3 交互行为 374 26.3 用例学习 374 26.3.1 前期准备 374 26.3.2 编写搜索函数 376 26.4 遗传算法 376 26.4.1 自然选择 377 26.4.2 遗传算法分析 378 26.4.3 调整过程 379 26.5 本章练习 380 26.6 本章小结 381 附录A 术语表 382 附录B 代码引用 394 B.1 数据类型 394 B.2 变量 395 B.3 操作符 395 附录C 希腊字母 396 附录D 学习资源 397 D.1 数学 397 D.2 专业资源 398 D.2.1 碰撞检测 398 D.2.2 3D引擎和几何学 398 D.2.3 游戏物理 398 D.2.4 迷宫、搜索和人工智能 398 附录E 练习答案 400 · · · · · · () |
让人叹为观止。
收到期待观看
历史开始于人创造神,终结于人成为神
论述严谨