游戏中的数学与物理学(第2版)

作者:[美]John Patrick Flynt

出版社: 清华大学出版社

出版时间: 2015-2

定价: 89.00元

页数:

ISBN: 9787302379515

内容简介

    本书详细阐述了与游戏数学和物理学相关的基本解决方案,主要包括数字,数学运算,代数运算,几何学和三角学,向量,微积分,加速度、质量和能量,简单形状之间的碰撞检测,碰撞处理方案,摩擦力,绳索、滑轮和传送带,振荡现象,3D形状,转换操作,碰撞检测,光照和纹理,建模技术,加速方案,贴图游戏,迷宫类游戏,博弈论和人工智能,搜索技术等内容。此外,本书还提供了相应的示例、伪代码,以帮助读者进一步理解相关方案的实现过程。

    本书既适合作为高等院校计算机及相关专业的教材和教学参考书,也可作为相关开发人员的自学教材和参考手册。

目录

        目    录
        第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
     · · · · · ·     (收起)

Copyright © 游戏人+ All Rights Reserved.