第1章 笛卡尔坐标系
从一维数轴进入二维与三维坐标,固定手性、角度和三角函数约定。
先做预测
先预测:改变坐标手性、组合顺序、时间步或退化输入时,数值和画面最先在哪里分叉。从一维数轴进入二维与三维坐标,固定手性、角度和三角函数约定。 本页用、、、和把原书直觉变成可运行证据。
原书章节定位
本页一一对应第二版“第1章 笛卡尔坐标系”。作者官网给出完整在线目录和正文;站内不重新编排原书章节,而是在同一章内补充公式推导、交互图、工程实现、失败模式与复现实验。
原书小节覆盖
- 1D Mathematics
- 2D Cartesian Space
- 3D Cartesian Space
- Left-handed versus Right-handed Spaces
- Summation and Product Notation
- Angles, Degrees, Radians and Trigonometry
五个核心抓手
- 笛卡尔坐标系:用原点、互相垂直的轴与单位刻度为点分配坐标。
- 坐标手性:右手系与左手系决定正向旋转、叉积和观察方向的符号约定。
- 弧度:以弧长除以半径度量角度,一整圈等于二乘pi。
- 三角函数:正弦与余弦把角度映射为圆周上的坐标分量。
- 求和记号:用Sigma压缩重复加法,并明确索引的起点、终点和项。
从空间与约定开始
任何三维公式都先写对象类型、来源空间、目标空间、单位和约定。用原点、互相垂直的轴与单位刻度为点分配坐标。 右手系与左手系决定正向旋转、叉积和观察方向的符号约定。 若只保存三个或四个浮点数而丢失语义,错误通常会延迟到渲染、碰撞或插值阶段才显现。
工程接口应让非法组合尽早失败:点与方向不能随意相加,局部法线不能直接与世界光向量点积,度数不能静默传入弧度API。先画出原点和基向量,再检查结果,比只盯最终像素更可解释。
可核查推导
单位基向量确定三条轴;点到原点的位移在三条轴上的投影分别给出x、y、z。角度必须先统一为弧度,旋转公式中的正弦和余弦才不会混用单位。 推导时每一步标明使用了定义、正交性、单位化、线性、连续性还是近似;若条件被非均匀缩放、退化图元或有限时间步破坏,就必须切换算法或返回显式状态。
from math import pi, sin, cos
def point_on_circle(radius, degrees):
theta = degrees * pi / 180
return radius * cos(theta), radius * sin(theta)
assert point_on_circle(2, 0) == (2.0, 0.0)手算、代码和交互图应在一个非对称样例上得到一致结果。单位矩阵、零角度和原点只能做冒烟测试,因为它们经常让转置、符号和顺序错误互相抵消。
几何机制与数据流
笛卡尔坐标系:用原点、互相垂直的轴与单位刻度为点分配坐标。
坐标手性:右手系与左手系决定正向旋转、叉积和观察方向的符号约定。
弧度:以弧长除以半径度量角度,一整圈等于二乘pi。
数据流必须能逐段记录:输入对象先按约定进入数学表示,经变换或求解得到中间状态,再由渲染、物理或工具消费。每个中间状态保留空间标签和残差,才能区分源数据错误、公式错误与下游显示错误。
数值误差与边界
三角函数:正弦与余弦把角度映射为圆周上的坐标分量。
求和记号:用Sigma压缩重复加法,并明确索引的起点、终点和项。
边界集至少覆盖零长度、平行、共面、极小尺度、负尺度、角度跨界、时间步变化和浮点接近阈值。相对误差与绝对误差要按量纲选用,不能让一个全局epsilon同时承担位置、角度和点积判断。
experiment={"normal":"non-symmetric input","boundary":"degenerate or near threshold","counterexample":"把度数直接传给只接受弧度的三角函数,导致小角度运动也剧烈抖动。","replay":"fixed inputs and conventions"}
assert set(experiment)=={"normal","boundary","counterexample","replay"}工程案例
导入模型时先记录源工具的向上轴、前向轴与手性,再通过一个已知朝向的测试三角形验收转换;只看模型是否出现在画面里,会漏掉法线和旋转方向反转。 报告同时保存输入、空间约定、参数、关键中间值、残差与调试图层。若重放后结论改变,先比较约定和数据版本,再比较算法实现。
evidence=[("笛卡尔坐标系","definition"),("弧度","derivation"),("求和记号","replay")]
assert len({name for name,_ in evidence})==3- 选一个非对称、可手算的正常样例,记录所有空间、单位和正方向。
- 一次只改变一个参数,比较公式、代码与交互图的中间状态。
- 加入退化或近阈值输入,确认返回状态与容差策略一致。
- 固定输入与时间步重放,保存残差、失败原因和未覆盖范围。
验收证书
验收证书拒绝“看起来差不多”。它必须回答用了哪套手性和向量约定、哪个不变量被检查、误差预算是多少、退化输入如何返回,以及另一台机器怎样从输入重建结果。
常见误区
本章回顾
本章覆盖笛卡尔坐标系、坐标手性、弧度、三角函数、求和记号。真正掌握的标准是:能从定义推到公式,能把公式落到代码,能通过可交互图解释参数变化,并能在反例下给出稳定且可复现的失败结果。