0

我有 3 个极点对应,即三个({x1, y1, 1}, {x2, y2, 1})构造。实际上,我只有(x1, y1, y2),因为x2包含巨大的错误。这些坐标已经居中并归一化。给定 3D 旋转矩阵RotM,这里是我计算一个点的残差的方法:

residual(RotM) = y2' - y2
  where
    rotated = RotM . {x1, y1, 1}
    {x2', y2', 1} = rotated / rotated[3]

当然,我可以对这 3 个残差进行数值优化并得到RotM,因为它也有 3 个自由度。但我想通过分析获得旋转。

所以问题是,给定三个(x1, y1, y2)三元组,计算旋转矩阵的公式是什么?我也会对欧拉角或四元数感到满意。

笔记:

  1. 旋转很小。准确地说,对于欧拉角,丢弃泰勒级数的三次项是可以接受的。
  2. Wolfram Mathematica 拒绝解决这个问题。
  3. 如果我没记错的话,这种变换称为“透视变换”。
4

0 回答 0