假设我有一个来自球体表面的两个相同的数据集,例如如下图所示,其中一个被任意Euler angles旋转。 我想找出数据相对于彼此旋转的欧拉角。
答案 0 :(得分:2)
最简单的方法是从一个球体中提取特征,如x1,x2,...,xN,从另一个球体中提取y1,y2,...,yN,并使用{来估计旋转矩阵{3}}通过将这些3D方向向量连接到A和B矩阵中。
事实上,我相信这只有两个特征点是可能的(所以在上面的例子中,使用红色表示的两个局部最大值)。如果第一个解决方案给出了具有负决定因素的正交矩阵,请尝试切换对上的标签,以便此方案返回正确的旋转矩阵。
从旋转矩阵中,可以直接提取欧拉角(但考虑使用Procrustes trick参数化)。
或者,沿着Rodrigues上的兔洞走下去。