Challenge · 可解释复合变换实验台
返回实验目录

同一组参数,四种矩阵次序

比较 T·R·S、R·T·S、T·S·R、S·R·T。四个视窗使用同样的观察和投影,保持模型、参数与坐标系一致;只改变 Model 矩阵的次序。

① T·R·S:先缩放,再旋转、平移

初始化中…

② R·T·S:先缩放,再平移、旋转

初始化中…

③ T·S·R:先旋转,再缩放、平移

初始化中…

④ S·R·T:先平移,再旋转、缩放

初始化中…

黄色:局部原点 O=(0,0,0) 的世界位置紫色:测试点 P=(1,0,0) 的世界位置

初始化中…

解析预测与矩阵计算对照

“预测”由坐标公式直接计算,不调用矩阵乘法;“矩阵”由 gl-matrix 的 Model 矩阵变换测试点计算。误差取两个点的六个坐标分量中的最大绝对差,允许 Float32 舍入误差 ≤ 10⁻⁵。

次序O 解析预测O 矩阵计算P 解析预测P 矩阵计算最大误差

用于预测的坐标公式

设输入点为 (x,y,z),平移量 t,缩放为 (a,1,b),c=cosθ,s=sinθ;下列公式均采用右手坐标系。

T·R·S
(t+cax+sbz, y, −sax+cbz)

R·T·S
(c(ax+t)+sbz, y, −s(ax+t)+cbz)

T·S·R
(t+a(cx+sz), y, b(−sx+cz))

S·R·T
(a(c(x+t)+sz), y, b(−s(x+t)+cz))

90° 预设 t=2、a=1.4、b=0.65:T·R·S 的 P 为 (2,0,−1.4),T·S·R 的 P 为 (2,0,−0.65)。180° 时本实验的 R 与对角缩放恰好可交换,部分结果重合只是特例,不能推出任意矩阵可交换。