3D数学基础:图形和游戏开发(第2版)
目 录内容简介
第1章 笛卡儿坐标系 1
1.1 一维数学 1
1.2 二维笛卡儿空间 4
1.2.1 示例:假设的Cartesia城市 5
1.2.2 任意二维坐标空间 6
1.2.3 使用笛卡儿坐标指定二维中的位置 10
1.3 三维笛卡儿空间 11
1.3.1 新增维度和轴 12
1.3.2 在三维中指定位置 13
1.3.3 左手与右手坐标空间 13
查看完整
1.1 一维数学 1
1.2 二维笛卡儿空间 4
1.2.1 示例:假设的Cartesia城市 5
1.2.2 任意二维坐标空间 6
1.2.3 使用笛卡儿坐标指定二维中的位置 10
1.3 三维笛卡儿空间 11
1.3.1 新增维度和轴 12
1.3.2 在三维中指定位置 13
1.3.3 左手与右手坐标空间 13
查看完整
目 录内容简介
本书详细阐述了在计算机图形学中与数学相关的基本解决方案,主要包括笛卡儿坐标系、矢量、多个坐标空间、矩阵简介、矩阵和线性变换、矩阵详解、极坐标系、三维旋转、几何图元、二维图形的数学主题、力学知识以及三维曲线等内容。此外,本书还提供了相应的示例,以帮助读者进一步理解相关方案的实现过程。 本书适合作为高等院校计算机及相关专业的教材和教学参考书,也可作为相关开发人员的自学教材和参考手册。
目 录内容简介
第1章 笛卡儿坐标系 1
1.1 一维数学 1
1.2 二维笛卡儿空间 4
1.2.1 示例:假设的Cartesia城市 5
1.2.2 任意二维坐标空间 6
1.2.3 使用笛卡儿坐标指定二维中的位置 10
1.3 三维笛卡儿空间 11
1.3.1 新增维度和轴 12
1.3.2 在三维中指定位置 13
1.3.3 左手与右手坐标空间 13
1.3.4 本书中使用的一些重要约定 16
1.4 一些零散的基础知识介绍 17
1.4.1 求和与求积的表示法 17
1.4.2 区间符号 18
1.4.3 角度、度数和弧度 19
1.4.4 三角函数 20
1.4.5 三角函数的恒等式 23
1.5 练习 25
第2章 矢量 29
2.1 向量和其他无聊东西的数学定义 29
2.2 矢量的几何定义 32
2.3 使用笛卡儿坐标指定矢量 33
2.3.1 作为位移序列的矢量 34
2.3.2 零矢量 35
2.4 矢量与点 36
2.4.1 相对位置 36
2.4.2 点与矢量之间的关系 37
2.4.3 一切都是相对的 38
2.5 负矢量 40
2.5.1 正式线性代数规则 40
2.5.2 几何解释 41
2.6 标量和矢量的乘法 42
2.6.1 正式线性代数规则 42
2.6.2 几何解释 43
2.7 矢量的加法和减法 43
2.7.1 正式线性代数规则 44
2.7.2 几何解释 45
2.7.3 从一点到另一点的位移矢量 47
2.8 矢量大小 47
2.8.1 正式线性代数规则 47
2.8.2 几何解释 48
2.9 单位矢量 49
2.9.1 正式线性代数规则 50
2.9.2 几何解释 50
2.10 距离公式 51
2.11 矢量点积 52
2.11.1 正式线性代数规则 52
2.11.2 几何解释 53
2.12 矢量叉积 60
2.12.1 正式线性代数规则 60
2.12.2 几何解释 61
2.13 线性代数恒等式 63
2.14 练习 64
第3章 多个坐标空间 71
3.1 为什么需要多个坐标空间? 71
3.2 一些有用的坐标空间 73
3.2.1 世界空间 73
3.2.2 对象空间 74
3.2.3 相机空间 75
3.2.4 直立空间 75
3.3 基矢量和坐标空间转换 77
3.3.1 双重视角 78
3.3.2 指定坐标空间 85
3.3.3 基矢量 86
3.4 嵌套坐标空间 93
3.5 针对直立空间的再解释 94
3.6 练习 95
第4章 矩阵简介 99
4.1 矩阵的数学定义 99
4.1.1 矩阵维度和表示法 100
4.1.2 方形矩阵 100
4.1.3 作为矩阵的矢量 101
4.1.4 矩阵转置 102
4.1.5 矩阵与标量相乘 103
4.1.6 两个矩阵相乘 103
4.1.7 矢量和矩阵相乘 106
4.1.8 行与列矢量 108
4.2 矩阵的几何解释 109
4.3 线性代数的宏大图景 113
4.4 练习 115
第5章 矩阵和线性变换 121
5.1 旋转 122
5.1.1 在二维中的旋转 122
5.1.2 围绕主轴的三维旋转 122
5.1.3 围绕任意轴的三维旋转 124
5.2 缩放 126
5.2.1 沿主轴缩放 127
5.2.2 任意方向的缩放 128
5.3 正交投影 130
5.3.1 投影到主轴或主平面上 131
5.3.2 投影到任意线或平面上 132
5.4 反射 133
5.5 错切 134
5.6 组合变换 135
5.7 变换的分类 136
5.7.1 线性变换 137
5.7.2 仿射变换 138
5.7.3 可逆变换 138
5.7.4 保持角度的变换 139
5.7.5 正交变换 139
5.7.6 刚体变换 140
5.7.7 变换类型总结 140
5.8 练习 141
第6章 矩阵详解 143
6.1 矩阵的行列式 143
6.1.1 关于2×2和3×3矩阵的行列式 143
6.1.2 子矩阵行列式和余子式 145
6.1.3 任意n×n矩阵的行列式 146
6.1.4 行列式的几何解释 149
6.2 逆矩阵 149
6.2.1 经典伴随矩阵 150
6.2.2 逆矩阵—正式线性代数规则 151
6.2.3 逆矩阵—几何解释 152
6.3 正交矩阵 152
6.3.1 正交矩阵—正式线性代数规则 153
6.3.2 正交矩阵—几何解释 153
6.3.3 矩阵的正交化 155
6.4 关于4×4齐次矩阵 157
6.4.1 关于四维齐次空间 157
6.4.2 关于4×4平移矩阵 158
6.4.3 一般仿射变换 161
6.5 关于4×4矩阵和透视投影 162
6.5.1 针孔相机 164
6.5.2 透视投影矩阵 167
6.6 练习 168
第7章 极坐标系 171
7.1 关于二维极坐标空间 171
7.1.1 使用二维极坐标定位点 171
7.1.2 别名 174
7.1.3 关于二维中笛卡儿坐标和极坐标之间的变换 177
7.2 为什么有人会使用极坐标? 180
7.3 关于三维极坐标空间 182
7.3.1 圆柱坐标 182
7.3.2 球面坐标 183
7.3.3 在三维虚拟世界中有用的一些极坐标约定 184
7.3.4 球面坐标的别名 186
7.3.5 球面坐标和笛卡儿坐标之间的转换 189
7.4 使用极坐标指定矢量 192
7.5 练习 193
第8章 三维旋转 197
8.1 “定向”含义探微 197
8.2 矩阵形式 199
8.2.1 矩阵的选择 199
8.2.2 方向余弦矩阵 202
8.2.3 矩阵形式的优点 203
8.2.4 矩阵形式的缺点 204
8.2.5 矩阵形式小结 205
8.3 欧拉角 206
8.3.1 欧拉角约定 206
8.3.2 其他欧拉角约定 208
8.3.3 欧拉角的优点 212
8.3.4 欧拉角的缺点 213
8.3.5 欧拉角小结 217
8.4 轴-角和指数映射表示方式 218
8.5 四元数 220
8.5.1 四元数表示法 221
8.5.2 这四个数字的意思 222
8.5.3 四元数变负 222
8.5.4 单位四元数 223
8.5.5 四元数的大小 223
8.5.6 四元数的共轭和逆 224
8.5.7 四元数乘法 225
8.5.8 四元数的“差” 228
8.5.9 四元数点积 228
8.5.10 四元数的对数、指数和标量乘法 229
8.5.11 四元数指数 230
8.5.12 四元数插值 232
8.5.13 四元数的优缺点 236
8.5.14 作为复数的四元数 237
8.5.15 四元数概要 244
8.6 方法比较 245
8.7 表示方式之间的转换 247
8.7.1 将欧拉角转换为矩阵 247
8.7.2 将矩阵转换为欧拉角 250
8.7.3 将四元数转换为矩阵 253
8.7.4 将矩阵转换为四元数 255
8.7.5 将欧拉角转换为四元数 259
8.7.6 将四元数转换为欧拉角 260
8.8 练习 262
第9章 几何图元 267
9.1 表示技术 267
9.2 直线和光线 269
9.2.1 光线 270
9.2.2 直线的特殊二维表示 271
9.2.3 表示方式之间的转换 274
9.3 球体和圆形 275
9.4 包围盒 276
9.4.1 关于AABB的表示方式 277
9.4.2 计算AABB 278
9.4.3 关于AABB与包围球 279
9.4.4 变换AABB 280
9.5 平面 283
9.5.1 平面方程:平面的隐式定义 284
9.5.2 使用3个点定义一个平面 285
9.5.3 超过3个点的“拟合”平面 286
9.5.4 点到平面的距离 288
9.6 三角形 289
9.6.1 表示法 290
9.6.2 三角形的面积 291
9.6.3 重心空间 293
9.6.4 计算重心坐标 296
9.6.5 特殊点 302
9.7 多边形 304
9.7.1 简单多边形和复杂多边形 304
9.7.2 凸多边形和凹多边形 306
9.7.3 三角剖分和扇形分割 310
9.8 练习 311
第10章 三维图形的数学主题 313
10.1 图形工作原理 314
10.1.1 两种主要的渲染方法 315
10.1.2 描述表面特性:BRDF 320
10.1.3 颜色和辐射度测量简介 322
10.1.4 渲染方程 327
10.2 关于三维视图 330
10.2.1 指定输出窗口 330
10.2.2 像素宽高比 331
10.2.3 视锥体 332
10.2.4 视野和缩放 333
10.2.5 正交投影 336
10.3 坐标空间 337
10.3.1 模型、世界和相机空间 337
10.3.2 裁剪空间和裁剪矩阵 338
10.3.3 裁剪矩阵:准备投影 339
10.3.4 裁剪矩阵:应用缩放并准备裁剪 342
10.3.5 屏幕空间 345
10.3.6 坐标空间概述 346
10.4 多边形网格 348
10.4.1 索引三角网格 350
10.4.2 表面法线 353
10.5 纹理映射 360
10.6 标准局部照明模型 363
10.6.1 标准照明公式:概述 363
10.6.2 镜面反射分量 364
10.6.3 漫反射分量 369
10.6.4 环境光和发光分量 371
10.6.5 照明方程:综合考虑各分量 372
10.6.6 标准模型的局限性 374
10.6.7 平面着色和Gouraud着色 375
10.7 光源 378
10.7.1 标准抽象光类型 378
10.7.2 光衰减 381
10.7.3 关于Doom风格体积光 383
10.7.4 预先计算的照明 386
10.8 骷髅动画 387
10.9 凹凸映射 394
10.9.1 切线空间 396
10.9.2 计算切线空间基矢量 397
10.10 实时图形管道 401
10.10.1 缓冲区 408
10.10.2 传递几何体 409
10.10.3 顶点级别的操作 413
10.10.4 裁剪 414
10.10.5 背面剔除 417
10.10.6 光栅化、着色和输出 418
10.11 一些HLSL示例 420
10.11.1 贴花着色和HLSL基础知识 420
10.11.2 基础的每个像素Blinn-Phong照明 422
10.11.3 使用Gouraud着色算法 431
10.11.4 凹凸映射 436
10.11.5 蒙皮网格 439
10.12 深入阅读建议 443
10.13 练习 444
第11章 力学1:线性运动学和微积分 449
11.1 概述 449
11.1.1 忽略的东西 449
11.1.2 关于宇宙的一些有用的谎言 450
11.2 基本数量和单位 452
11.3 平均速度 455
11.4 瞬时速度和导数 458
11.4.1 极限参数和导数的定义 459
11.4.2 导数示例 463
11.4.3 通过定义计算导数 465
11.4.4 导数的表示法 469
11.4.5 一些求导法则和快捷方式 471
11.4.6 泰勒级数的一些特殊函数的导数 474
11.4.7 链式法则 476
11.5 加速度 478
11.6 恒定加速度下的运动 480
11.7 积分 493
11.7.1 积分的例子 495
11.7.2 导数与积分之间的关系 497
11.7.3 微积分小结 501
11.8 匀速圆周运动 502
11.8.1 平面内的匀速圆周运动 503
11.8.2 三维中的匀速圆周运动 507
11.9 练习 509
第12章 力学2:线性和旋转动力学 513
12.1 牛顿的3个基本定律 513
12.1.1 牛顿的前两个定律:力与质量 514
12.1.2 惯性参考系 517
12.1.3 牛顿第三定律 518
12.2 一些简单的力定律 521
12.2.1 重力 521
12.2.2 摩擦力 524
12.2.3 弹簧力 528
12.3 动量 536
12.3.1 动量守恒 539
12.3.2 质心 540
12.4 冲击力和碰撞 543
12.4.1 完全非弹性碰撞 545
12.4.2 一般碰撞响应 547
12.4.3 关于Dirac Delta 554
12.5 旋转动力学 555
12.5.1 旋转运动学 556
12.5.2 关于二维旋转动力学 558
12.5.3 关于三维旋转动力学 565
12.5.4 与旋转的碰撞响应 568
12.6 实时刚体模拟器 570
12.6.1 物理引擎状态变量 571
12.6.2 高级概述 576
12.6.3 欧拉积分 581
12.6.4 旋转的积分 584
12.7 深入阅读建议 586
12.8 练习 588
第13章 三维曲线 591
13.1 参数多项式曲线 591
13.1.1 参数曲线 592
13.1.2 多项式曲线 592
13.1.3 矩阵表示法 594
13.1.4 两种简单的曲线 595
13.1.5 单项式端点 595
13.1.6 速度和切线 596
13.2 多项式插值 598
13.2.1 艾特肯的算法 600
13.2.2 拉格朗日基多项式 603
13.2.3 多项式插值汇总 607
13.3 埃尔米特曲线 608
13.4 贝塞尔曲线 613
13.4.1 关于de Casteljau算法 614
13.4.2 伯恩斯坦基多项式 619
13.4.3 贝塞尔导数及其与埃尔米特形式的关系 624
13.5 细分 627
13.5.1 细分单项式曲线 628
13.5.2 细分贝塞尔曲线 629
13.6 样条曲线 631
13.6.1 游戏规则 633
13.6.2 节点 634
13.7 埃尔米特和贝塞尔样条曲线 635
13.8 连续性 638
13.8.1 参数连续性 639
13.8.2 几何连续性 641
13.8.3 曲线平滑度 642
13.9 自动切线控制 642
13.9.1 Catmull-Rom样条 643
13.9.2 TCB样条 645
13.9.3 端点条件 649
13.10 练习 650
第14章 后记 653
14.1 接下来做什么 653
14.2 练习 653
附录A 几何测试 655
A.1 在二维隐式直线上的近点 655
A.2 参数化光线上的近点 656
A.3 平面上的近点 657
A.4 圆或球体上的近点 657
A.5 轴向对齐的包围盒中的近点 658
A.6 相交测试 659
A.7 在二维中两条隐式直线的交点 659
A.8 在三维中两条光线的交点 660
A.9 光线和平面的交点 662
A.10 轴向对齐的包围盒与平面的交点 663
A.11 3个平面的交点 664
A.12 光线与圆或球体的交点 665
A.13 两个圆或球的交点 667
A.14 球体与轴向对齐的包围盒的交点 669
A.15 球体与平面的交点 669
A.16 光线与三角形的交点 671
A.17 两个AABB的交点 676
A.18 光线与AABB的交点 679
附录B 练习答案 683
B.1 第1章 683
B.2 第2章 684
B.3 第3章 696
B.4 第4章 697
B.5 第5章 701
B.6 第6章 703
B.7 第7章 705
B.8 第8章 710
B.9 第9章 712
B.10 第10章 717
B.11 第11章 719
B.12 第12章 722
B.13 第13章 729
参考文献 737
^ 收 起
1.1 一维数学 1
1.2 二维笛卡儿空间 4
1.2.1 示例:假设的Cartesia城市 5
1.2.2 任意二维坐标空间 6
1.2.3 使用笛卡儿坐标指定二维中的位置 10
1.3 三维笛卡儿空间 11
1.3.1 新增维度和轴 12
1.3.2 在三维中指定位置 13
1.3.3 左手与右手坐标空间 13
1.3.4 本书中使用的一些重要约定 16
1.4 一些零散的基础知识介绍 17
1.4.1 求和与求积的表示法 17
1.4.2 区间符号 18
1.4.3 角度、度数和弧度 19
1.4.4 三角函数 20
1.4.5 三角函数的恒等式 23
1.5 练习 25
第2章 矢量 29
2.1 向量和其他无聊东西的数学定义 29
2.2 矢量的几何定义 32
2.3 使用笛卡儿坐标指定矢量 33
2.3.1 作为位移序列的矢量 34
2.3.2 零矢量 35
2.4 矢量与点 36
2.4.1 相对位置 36
2.4.2 点与矢量之间的关系 37
2.4.3 一切都是相对的 38
2.5 负矢量 40
2.5.1 正式线性代数规则 40
2.5.2 几何解释 41
2.6 标量和矢量的乘法 42
2.6.1 正式线性代数规则 42
2.6.2 几何解释 43
2.7 矢量的加法和减法 43
2.7.1 正式线性代数规则 44
2.7.2 几何解释 45
2.7.3 从一点到另一点的位移矢量 47
2.8 矢量大小 47
2.8.1 正式线性代数规则 47
2.8.2 几何解释 48
2.9 单位矢量 49
2.9.1 正式线性代数规则 50
2.9.2 几何解释 50
2.10 距离公式 51
2.11 矢量点积 52
2.11.1 正式线性代数规则 52
2.11.2 几何解释 53
2.12 矢量叉积 60
2.12.1 正式线性代数规则 60
2.12.2 几何解释 61
2.13 线性代数恒等式 63
2.14 练习 64
第3章 多个坐标空间 71
3.1 为什么需要多个坐标空间? 71
3.2 一些有用的坐标空间 73
3.2.1 世界空间 73
3.2.2 对象空间 74
3.2.3 相机空间 75
3.2.4 直立空间 75
3.3 基矢量和坐标空间转换 77
3.3.1 双重视角 78
3.3.2 指定坐标空间 85
3.3.3 基矢量 86
3.4 嵌套坐标空间 93
3.5 针对直立空间的再解释 94
3.6 练习 95
第4章 矩阵简介 99
4.1 矩阵的数学定义 99
4.1.1 矩阵维度和表示法 100
4.1.2 方形矩阵 100
4.1.3 作为矩阵的矢量 101
4.1.4 矩阵转置 102
4.1.5 矩阵与标量相乘 103
4.1.6 两个矩阵相乘 103
4.1.7 矢量和矩阵相乘 106
4.1.8 行与列矢量 108
4.2 矩阵的几何解释 109
4.3 线性代数的宏大图景 113
4.4 练习 115
第5章 矩阵和线性变换 121
5.1 旋转 122
5.1.1 在二维中的旋转 122
5.1.2 围绕主轴的三维旋转 122
5.1.3 围绕任意轴的三维旋转 124
5.2 缩放 126
5.2.1 沿主轴缩放 127
5.2.2 任意方向的缩放 128
5.3 正交投影 130
5.3.1 投影到主轴或主平面上 131
5.3.2 投影到任意线或平面上 132
5.4 反射 133
5.5 错切 134
5.6 组合变换 135
5.7 变换的分类 136
5.7.1 线性变换 137
5.7.2 仿射变换 138
5.7.3 可逆变换 138
5.7.4 保持角度的变换 139
5.7.5 正交变换 139
5.7.6 刚体变换 140
5.7.7 变换类型总结 140
5.8 练习 141
第6章 矩阵详解 143
6.1 矩阵的行列式 143
6.1.1 关于2×2和3×3矩阵的行列式 143
6.1.2 子矩阵行列式和余子式 145
6.1.3 任意n×n矩阵的行列式 146
6.1.4 行列式的几何解释 149
6.2 逆矩阵 149
6.2.1 经典伴随矩阵 150
6.2.2 逆矩阵—正式线性代数规则 151
6.2.3 逆矩阵—几何解释 152
6.3 正交矩阵 152
6.3.1 正交矩阵—正式线性代数规则 153
6.3.2 正交矩阵—几何解释 153
6.3.3 矩阵的正交化 155
6.4 关于4×4齐次矩阵 157
6.4.1 关于四维齐次空间 157
6.4.2 关于4×4平移矩阵 158
6.4.3 一般仿射变换 161
6.5 关于4×4矩阵和透视投影 162
6.5.1 针孔相机 164
6.5.2 透视投影矩阵 167
6.6 练习 168
第7章 极坐标系 171
7.1 关于二维极坐标空间 171
7.1.1 使用二维极坐标定位点 171
7.1.2 别名 174
7.1.3 关于二维中笛卡儿坐标和极坐标之间的变换 177
7.2 为什么有人会使用极坐标? 180
7.3 关于三维极坐标空间 182
7.3.1 圆柱坐标 182
7.3.2 球面坐标 183
7.3.3 在三维虚拟世界中有用的一些极坐标约定 184
7.3.4 球面坐标的别名 186
7.3.5 球面坐标和笛卡儿坐标之间的转换 189
7.4 使用极坐标指定矢量 192
7.5 练习 193
第8章 三维旋转 197
8.1 “定向”含义探微 197
8.2 矩阵形式 199
8.2.1 矩阵的选择 199
8.2.2 方向余弦矩阵 202
8.2.3 矩阵形式的优点 203
8.2.4 矩阵形式的缺点 204
8.2.5 矩阵形式小结 205
8.3 欧拉角 206
8.3.1 欧拉角约定 206
8.3.2 其他欧拉角约定 208
8.3.3 欧拉角的优点 212
8.3.4 欧拉角的缺点 213
8.3.5 欧拉角小结 217
8.4 轴-角和指数映射表示方式 218
8.5 四元数 220
8.5.1 四元数表示法 221
8.5.2 这四个数字的意思 222
8.5.3 四元数变负 222
8.5.4 单位四元数 223
8.5.5 四元数的大小 223
8.5.6 四元数的共轭和逆 224
8.5.7 四元数乘法 225
8.5.8 四元数的“差” 228
8.5.9 四元数点积 228
8.5.10 四元数的对数、指数和标量乘法 229
8.5.11 四元数指数 230
8.5.12 四元数插值 232
8.5.13 四元数的优缺点 236
8.5.14 作为复数的四元数 237
8.5.15 四元数概要 244
8.6 方法比较 245
8.7 表示方式之间的转换 247
8.7.1 将欧拉角转换为矩阵 247
8.7.2 将矩阵转换为欧拉角 250
8.7.3 将四元数转换为矩阵 253
8.7.4 将矩阵转换为四元数 255
8.7.5 将欧拉角转换为四元数 259
8.7.6 将四元数转换为欧拉角 260
8.8 练习 262
第9章 几何图元 267
9.1 表示技术 267
9.2 直线和光线 269
9.2.1 光线 270
9.2.2 直线的特殊二维表示 271
9.2.3 表示方式之间的转换 274
9.3 球体和圆形 275
9.4 包围盒 276
9.4.1 关于AABB的表示方式 277
9.4.2 计算AABB 278
9.4.3 关于AABB与包围球 279
9.4.4 变换AABB 280
9.5 平面 283
9.5.1 平面方程:平面的隐式定义 284
9.5.2 使用3个点定义一个平面 285
9.5.3 超过3个点的“拟合”平面 286
9.5.4 点到平面的距离 288
9.6 三角形 289
9.6.1 表示法 290
9.6.2 三角形的面积 291
9.6.3 重心空间 293
9.6.4 计算重心坐标 296
9.6.5 特殊点 302
9.7 多边形 304
9.7.1 简单多边形和复杂多边形 304
9.7.2 凸多边形和凹多边形 306
9.7.3 三角剖分和扇形分割 310
9.8 练习 311
第10章 三维图形的数学主题 313
10.1 图形工作原理 314
10.1.1 两种主要的渲染方法 315
10.1.2 描述表面特性:BRDF 320
10.1.3 颜色和辐射度测量简介 322
10.1.4 渲染方程 327
10.2 关于三维视图 330
10.2.1 指定输出窗口 330
10.2.2 像素宽高比 331
10.2.3 视锥体 332
10.2.4 视野和缩放 333
10.2.5 正交投影 336
10.3 坐标空间 337
10.3.1 模型、世界和相机空间 337
10.3.2 裁剪空间和裁剪矩阵 338
10.3.3 裁剪矩阵:准备投影 339
10.3.4 裁剪矩阵:应用缩放并准备裁剪 342
10.3.5 屏幕空间 345
10.3.6 坐标空间概述 346
10.4 多边形网格 348
10.4.1 索引三角网格 350
10.4.2 表面法线 353
10.5 纹理映射 360
10.6 标准局部照明模型 363
10.6.1 标准照明公式:概述 363
10.6.2 镜面反射分量 364
10.6.3 漫反射分量 369
10.6.4 环境光和发光分量 371
10.6.5 照明方程:综合考虑各分量 372
10.6.6 标准模型的局限性 374
10.6.7 平面着色和Gouraud着色 375
10.7 光源 378
10.7.1 标准抽象光类型 378
10.7.2 光衰减 381
10.7.3 关于Doom风格体积光 383
10.7.4 预先计算的照明 386
10.8 骷髅动画 387
10.9 凹凸映射 394
10.9.1 切线空间 396
10.9.2 计算切线空间基矢量 397
10.10 实时图形管道 401
10.10.1 缓冲区 408
10.10.2 传递几何体 409
10.10.3 顶点级别的操作 413
10.10.4 裁剪 414
10.10.5 背面剔除 417
10.10.6 光栅化、着色和输出 418
10.11 一些HLSL示例 420
10.11.1 贴花着色和HLSL基础知识 420
10.11.2 基础的每个像素Blinn-Phong照明 422
10.11.3 使用Gouraud着色算法 431
10.11.4 凹凸映射 436
10.11.5 蒙皮网格 439
10.12 深入阅读建议 443
10.13 练习 444
第11章 力学1:线性运动学和微积分 449
11.1 概述 449
11.1.1 忽略的东西 449
11.1.2 关于宇宙的一些有用的谎言 450
11.2 基本数量和单位 452
11.3 平均速度 455
11.4 瞬时速度和导数 458
11.4.1 极限参数和导数的定义 459
11.4.2 导数示例 463
11.4.3 通过定义计算导数 465
11.4.4 导数的表示法 469
11.4.5 一些求导法则和快捷方式 471
11.4.6 泰勒级数的一些特殊函数的导数 474
11.4.7 链式法则 476
11.5 加速度 478
11.6 恒定加速度下的运动 480
11.7 积分 493
11.7.1 积分的例子 495
11.7.2 导数与积分之间的关系 497
11.7.3 微积分小结 501
11.8 匀速圆周运动 502
11.8.1 平面内的匀速圆周运动 503
11.8.2 三维中的匀速圆周运动 507
11.9 练习 509
第12章 力学2:线性和旋转动力学 513
12.1 牛顿的3个基本定律 513
12.1.1 牛顿的前两个定律:力与质量 514
12.1.2 惯性参考系 517
12.1.3 牛顿第三定律 518
12.2 一些简单的力定律 521
12.2.1 重力 521
12.2.2 摩擦力 524
12.2.3 弹簧力 528
12.3 动量 536
12.3.1 动量守恒 539
12.3.2 质心 540
12.4 冲击力和碰撞 543
12.4.1 完全非弹性碰撞 545
12.4.2 一般碰撞响应 547
12.4.3 关于Dirac Delta 554
12.5 旋转动力学 555
12.5.1 旋转运动学 556
12.5.2 关于二维旋转动力学 558
12.5.3 关于三维旋转动力学 565
12.5.4 与旋转的碰撞响应 568
12.6 实时刚体模拟器 570
12.6.1 物理引擎状态变量 571
12.6.2 高级概述 576
12.6.3 欧拉积分 581
12.6.4 旋转的积分 584
12.7 深入阅读建议 586
12.8 练习 588
第13章 三维曲线 591
13.1 参数多项式曲线 591
13.1.1 参数曲线 592
13.1.2 多项式曲线 592
13.1.3 矩阵表示法 594
13.1.4 两种简单的曲线 595
13.1.5 单项式端点 595
13.1.6 速度和切线 596
13.2 多项式插值 598
13.2.1 艾特肯的算法 600
13.2.2 拉格朗日基多项式 603
13.2.3 多项式插值汇总 607
13.3 埃尔米特曲线 608
13.4 贝塞尔曲线 613
13.4.1 关于de Casteljau算法 614
13.4.2 伯恩斯坦基多项式 619
13.4.3 贝塞尔导数及其与埃尔米特形式的关系 624
13.5 细分 627
13.5.1 细分单项式曲线 628
13.5.2 细分贝塞尔曲线 629
13.6 样条曲线 631
13.6.1 游戏规则 633
13.6.2 节点 634
13.7 埃尔米特和贝塞尔样条曲线 635
13.8 连续性 638
13.8.1 参数连续性 639
13.8.2 几何连续性 641
13.8.3 曲线平滑度 642
13.9 自动切线控制 642
13.9.1 Catmull-Rom样条 643
13.9.2 TCB样条 645
13.9.3 端点条件 649
13.10 练习 650
第14章 后记 653
14.1 接下来做什么 653
14.2 练习 653
附录A 几何测试 655
A.1 在二维隐式直线上的近点 655
A.2 参数化光线上的近点 656
A.3 平面上的近点 657
A.4 圆或球体上的近点 657
A.5 轴向对齐的包围盒中的近点 658
A.6 相交测试 659
A.7 在二维中两条隐式直线的交点 659
A.8 在三维中两条光线的交点 660
A.9 光线和平面的交点 662
A.10 轴向对齐的包围盒与平面的交点 663
A.11 3个平面的交点 664
A.12 光线与圆或球体的交点 665
A.13 两个圆或球的交点 667
A.14 球体与轴向对齐的包围盒的交点 669
A.15 球体与平面的交点 669
A.16 光线与三角形的交点 671
A.17 两个AABB的交点 676
A.18 光线与AABB的交点 679
附录B 练习答案 683
B.1 第1章 683
B.2 第2章 684
B.3 第3章 696
B.4 第4章 697
B.5 第5章 701
B.6 第6章 703
B.7 第7章 705
B.8 第8章 710
B.9 第9章 712
B.10 第10章 717
B.11 第11章 719
B.12 第12章 722
B.13 第13章 729
参考文献 737
^ 收 起
目 录内容简介
本书详细阐述了在计算机图形学中与数学相关的基本解决方案,主要包括笛卡儿坐标系、矢量、多个坐标空间、矩阵简介、矩阵和线性变换、矩阵详解、极坐标系、三维旋转、几何图元、二维图形的数学主题、力学知识以及三维曲线等内容。此外,本书还提供了相应的示例,以帮助读者进一步理解相关方案的实现过程。 本书适合作为高等院校计算机及相关专业的教材和教学参考书,也可作为相关开发人员的自学教材和参考手册。
比价列表