附录 B 习题答案 (Answers to the Exercises)

      +

      核心结论

      • 本附录为全部 13 章习题提供参考答案——每章 5-12 题,共 100+ 题;覆盖坐标 / 向量 / 矩阵 / 变换 / 旋转 / 极坐标 / 几何图元 / 力学 / 曲线 / 几何测试。

      • 答案形式因题而异:选择题给结论(a / b / c / d),计算题给数值与公式,证明题给关键步骤,几何题给图示与解析。

      • 读者应"先做后看":直接看答案只能验证"答案是什么",不能学到"怎么想的";做完对照答案找差距才是学习路径。

      • 关键答案 vs 完整答案:本附录给出关键答案与解题思路,完整推导见原书 B.1-B.13 节。

      本章主旨

      附录 B 是"习题答案汇编"——13 章 100+ 题的参考答案汇总。本附录*不是教学*——它服务于"做完题对答案"的需求。读者应在独立完成习题后对照本附录查漏补缺,遇到不会的题目先回看正文对应章节再思考,而非直接看答案。

      一、核心概念

      本章围绕 4 个核心概念展开:答案层次、关键答案索引、自学路径、错误识别。

      概念 定义 + 重要性 实现提示

      答案层次

      关键答案(数值 / 选择)+ 解题思路 + 公式推导;不是单纯"抄答案"。

      看完答案应能复述解题路径;不能复述 = 没学透。

      关键答案索引

      按章节组织的速查表;按主题反查("向量运算" / "旋转矩阵" / "碰撞测试")。

      §B.1-B.13 按章节;本附录给出"代表性答案"。

      自学路径

      先做题 → 对照答案 → 看正文相关章节 → 重做错题。

      重要错题标记;下次复习回顾。

      错误识别

      常见错误:单位混用 / 手性混用 / 矩阵乘顺序错 / 行列式计算错。

      错误类型可分类(概念性 / 计算性 / 笔误);归类复习。

      二、详细笔记

      2.1 第 1 章答案要点 (Chapter 1)

      代表答案
      • 1.2(点的坐标):a = (-2.5, 3), b = (1, 2), …​, i = (-3, -2)

      • 1.3(48 种轴向):分左手 / 右手两套,每套 24 种

      • 1.4(手性判断):(a) 右手系;(b) 交换 y/z;(c) 交换 y/z

      • 1.5(旋转方向):(a) 右手系;(b/c) 坐标系转换公式

      • 1.6(点 vs 向量):点的位置可换、向量大小不可换

      • 1.7(求和):15 / 30 / 3840 / 2016840 / 5050

      • 1.8(弧度转换):π/6 / -π/4 / π/3 / π/2 / -π / 5π/4 / -3π/2 / 2.923 / 9.198 / -6π

      • 1.9(角度累加):-30° / 120° / 270° / -240° / 360° / 1° / 10° / -900° / 1800° / 36°

      • 1.10(毕达哥拉斯):a² + b² = c²(c 是斜边)

      • 1.11(恒等式证明):sin² + cos² = 1;sec² - 1 = tan²;1 + cot² = csc²

      2.2 第 2 章答案要点 (Chapter 2)

      代表答案
      • 2.1(向量 vs 标量):weight 是标量 / 速度是标量 / "向北 2 街区"是向量 / "600 mph 向东"是向量

      • 2.2(取反):-a = [-3, -7];b 取反 = [12, -5]

      • 2.3(加减):a + b = [4, 0];a - b = [4, -6]

      • 2.4(数乘):3a = [3, 9];-1/2 b = [-1, 2]

      • 2.5(大小):|a| = √13 ≈ 3.61;|b| = √29 ≈ 5.39

      • 2.6(单位向量):a_hat = [3, 2] / √13;b_hat = [-2, 1] / √5

      • 2.7(距离):|a - b| = √29

      • 2.8(点积):a · b = 4 + 6 = 10(若 a = [1,2], b = [2,3]);a · b = |a||b|cosθ

      • 2.9(夹角):cosθ = 10 / (√13 · √13) = 10/13 ⇒ θ ≈ 39.7°

      • 2.10(叉积 3D):a × b = (ay*bz - az*by, az*bx - ax*bz, ax*by - ay*bx)

      • 2.11(叉积大小):|a × b| = |a||b|sinθ = 平行四边形面积

      2.3 第 3 章答案要点 (Chapter 3)

      代表答案
      • 3.1(坐标空间必要性):某些信息只在特定参考系可知

      • 3.2(坐标空间类型):world / object / camera / upright

      • 3.3(变换视角):换参考系 ≡ 移动点(数学等价)

      • 3.4(基向量):p, q, r 线性无关;span 出整个空间

      • 3.5(嵌套空间):object → upright 用旋转;upright → world 用平移

      • 3.6(直立空间):原点同物体 + 轴向同世界 = 分解"旋转 + 平移"

      2.4 第 4 章答案要点 (Chapter 4)

      代表答案
      • 4.1(矩阵代数):M^T = (M 转置);M · M^T 给出对称矩阵

      • 4.2(矩阵乘法):满足维度匹配则 r×n · n×c = r×c

      • 4.3(行向量 vs 列向量):本书默认行向量 ⇒ v' = vM;D3D 默认列向量 ⇒ v' = Mv;矩阵互转

      • 4.4(矩阵几何):M 的每一行 = 变换后基向量

      • 4.5(构造矩阵):先看 +x / +y / +z 基向量去哪,再写进行

      • 4.6(线性变换):保持直线 / 平行线 / 原点;不含平移

      2.5 第 5 章答案要点 (Chapter 5)

      代表答案
      • 5.1(旋转矩阵):绕 x / y / z 轴的 3×3 旋转矩阵;手性决定正方向

      • 5.2(缩放矩阵):对角元素 = 缩放因子;负因子 = 反射

      • 5.3(正交投影):把维度降一阶(3D → 2D);投影方向垂直投影平面

      • 5.4(反射):行列式 = -1;手性翻转

      • 5.5(剪切):保持面积(det = 1),改变角度

      • 5.6(变换组合):M = T · R · S(行向量约定下"先发生写在右")

      • 5.7(变换分类):linear ⊂ affine ⊂ invertible ⊂ angle-preserving ⊂ orthogonal ⊂ rigid-body

      2.6 第 6 章答案要点 (Chapter 6)

      代表答案
      • 6.1(行列式):2×2 = ad - bc;3×3 = Sarrus 法则

      • 6.2(矩阵的逆):M⁻¹ = adj(M) / det(M);det ≠ 0 才存在

      • 6.3(正交矩阵):M^T · M = I;M^T = M⁻¹;保长保角

      • 6.4(4×4 齐次):把平移纳入矩阵乘法;w = 1 是点,w = 0 是向量

      • 6.5(透视投影):通过 w 分量实现近大远小;视锥体 → NDC 立方体

      2.7 第 7 章答案要点 (Chapter 7)

      代表答案
      • 7.1(2D 极坐标):(r, θ) → (x, y) 用 x = r cosθ, y = r sinθ

      • 7.2(别名):(-r, θ+180°) ≡ (r, θ)

      • 7.3(canonical):r ≥ 0、θ ∈ (-180°, +180°]、r = 0 ⇒ θ = 0

      • 7.4(柱坐标):在 2D 极坐标上加 z

      • 7.5(球坐标):两个角度 + 一个距离

      • 7.6(heading / pitch):本书约定;h 绕 y、p 绕右臂

      • 7.7(万向锁):pitch = ±90° 时 heading 无效

      2.8 第 8 章答案要点 (Chapter 8)

      代表答案
      • 8.1(方向 vs 朝向):方向 2 个数;朝向 ≥3 个数

      • 8.2(矩阵形式):行 = 物体基向量在 upright 坐标

      • 8.3(欧拉角):h / p / b;万向锁 = pitch = ±90°

      • 8.4(轴角):(n̂, θ) 4 个数;Rodrigues 公式

      • 8.5(指数映射):e = θ n̂;3 个数;适合物理引擎

      • 8.6(四元数):(w, x, y, z);slerp 插值平滑

      • 8.7(slerp):slerp(q0, q1, t) = sin((1-t)ω)/sinω · q0 + sin(tω)/sinω · q1

      • 8.8(互转):q = [cos(θ/2), sin(θ/2)·n̂];欧拉 ↔ 矩阵 ↔ 四元数 都有库函数

      2.9 第 9 章答案要点 (Chapter 9)

      代表答案
      • 9.1(4 种表示):隐式 / 参数化 / 特定类型 / 显式

      • 9.2(线 / 射线):参数化 P(t) = P0 + td

      • 9.3(球):中心 c + 半径 r;|P - c|² = r²

      • 9.4(AABB):min / max 两点;O(1) 相交

      • 9.5(平面):n̂ · x = d;点-平面距离

      • 9.6(三角形):面积 = |e1 × e2| / 2;重心坐标 α + β + γ = 1

      • 9.7(多边形):凸 / 凹;3D 引擎几乎只用三角形

      2.10 第 10 章答案要点 (Chapter 10)

      代表答案
      • 10.1(图形管线):顶点 → 图元 → 顶点着色 → 裁剪 / 投影 → 光栅化 → 片段 → 输出

      • 10.2(3D 视图):模型 · 视图 · 投影 · 视口

      • 10.3(多边形网格):索引三角;strip 节省索引

      • 10.4(纹理):UV + 采样 + 过滤 + mipmap

      • 10.5(Blinn-Phong):ambient + diffuse + specular;半向量 h

      • 10.6(骨骼动画):4 骨骼 / 顶点;GPU 蒙皮

      • 10.7(凹凸映射):法线贴图 + 切线空间 (TBN)

      2.11 第 11 章答案要点 (Chapter 11)

      代表答案
      • 11.1(基本物理量):t (s)、d (m)、v (m/s)、a (m/s²)、m (kg)

      • 11.2(平均速度):v_avg = Δd / Δt

      • 11.3(瞬时速度):v(t) = lim Δt→0 Δd/Δt = d/dt d(t)

      • 11.4(导数):多项式 d/dx [xⁿ] = nxⁿ⁻¹;d/dx [sin x] = cos x

      • 11.5(加速度):a = dv/dt

      • 11.6(恒定加速度):d = ut + ½at²;v = u + at;v² = u² + 2ad

      • 11.7(积分):∫xⁿ dx = xⁿ⁺¹/(n+1) + C

      • 11.8(向心加速度):a_c = v²/r = ω²r

      2.12 第 12 章答案要点 (Chapter 12)

      代表答案
      • 12.1(牛顿三定律):惯性、F = ma、作用反作用

      • 12.2(力):重力 mg / 弹簧 -kx / 摩擦 μN / 阻力 -cv

      • 12.3(动量):p = mv;F = dp/dt

      • 12.4(冲量):J = FΔt = Δp

      • 12.5(碰撞恢复系数):e = v_分离 / v_接近

      • 12.6(力矩):τ = r × F

      • 12.7(转动动力学):τ = Iα;L = Iω

      • 12.8(刚体模拟器):积分器 + 碰撞检测 + 约束求解

      2.13 第 13 章答案要点 (Chapter 13)

      代表答案
      • 13.1(参数化曲线):P(t) 是 t 的多项式;三次最常用

      • 13.2(多项式插值):Aitken 递归 / Lagrange 基

      • 13.3(Hermite 曲线):端点 + 切线

      • 13.4(Bézier 曲线):端点 + 控制点;de Casteljau

      • 13.5(细分):中点插入;级联 2ⁿ 段

      • 13.6(样条):多段拼接;C⁰/C¹/C² 连续

      • 13.7(自动切线):Catmull-Rom / Cardinal

      三、关键图表

      本章无图(答案汇编)。

      四、思维导图

      mindmap
        root((附录 B 习题答案))
          ch1答案
            48种轴向
            弧度角度
            恒等式
          ch2答案
            向量vs标量
            大小点积
            叉积
          ch3答案
            坐标空间必要性
            基向量
            嵌套
          ch4答案
            矩阵代数
            行是基向量
            线性变换
          ch5答案
            旋转缩放反射
            变换组合
            变换分类
          ch6答案
            行列式
            矩阵逆
            齐次矩阵
          ch7答案
            极坐标别名
            球坐标
            headingpitch
          ch8答案
            朝向vs方向
            四元数slerp
            互转
          ch9答案
            图元表示
            平面球
            三角形重心
          ch10答案
            图形管线
            BlinnPhong
            凹凸贴图
          ch11答案
            运动学
            导数积分
            SUVAT
          ch12答案
            牛顿定律
            动量冲量
            转动动力学
          ch13答案
            Bezier
            样条
            CatmullRom

      五、重点与易错点

      1. 先做后看:做完题再对答案;直接看答案 = 跳过学习。

      2. 错误归类:概念性 / 计算性 / 笔误;分类复习。

      3. 复习节奏:错题 1 天 / 3 天 / 7 天 / 30 天 4 次回顾(间隔重复)。

      4. 答案不能替代练习:原书 100+ 题应至少完成 60-70% 才能算掌握。

      5. 跨章节综合题:第 13 章曲线 + 第 8 章四元数 = 角色手部 IK;第 11 章力学 + 第 12 章力 = 物理引擎。

        • 关键易错点

        • 单位混用(SI vs 英制)。

        • 手性混用(左手 vs 右手矩阵转置)。

        • 矩阵乘顺序("先发生写在右")。

        • 行列式符号(手性判定)。

        • 向量 vs 点(w 分量)。

        • 三角函数单位(弧度 vs 角度)。

        • 欧拉角万向锁

        • 跨章衔接:完成全部习题后,读者应能独立推导每章关键公式、用代码实现每章核心算法、读懂 3D 引擎的数学部分——这是本书学习的最终目标。

        • 本书完结:附录 B 是 3D Math Primer 学习的最后一站。附录 A、B、C(若有)配合正文 13 章构成完整学习闭环。祝读者在 3D 数学 / 图形 / 物理 / 游戏开发之路上不断精进!