【问题标题】:Determine rotation of data on surface of sphere确定球体表面上数据的旋转
【发布时间】:2016-12-22 06:52:15
【问题描述】:

假设我有两个来自球体表面的相同数据集,例如如下图所示,其中一个旋转任意Euler angles。 我想找出数据相对于彼此旋转的欧拉角。

  • 最好(最有效)的方法是什么?
  • 使用像this one 这样的模式匹配算法有意义吗?
  • 能否在不将球面投影到 2D 平面上的情况下完成此任务?这样的预测不可避免地会带来严重的扭曲。

顺便说一句,我不是要代码或可行的解决方案。我对一般想法或可能使用的工具箱更感兴趣。

【问题讨论】:

    标签: opencv rotation pattern-matching rotational-matrices euler-angles


    【解决方案1】:

    最简单的方法是从一个球体中提取特征,如 x1, x2, ..., xN,从另一个球体中提取特征为 y1, y2, ..., yN,并使用 @ 估计旋转矩阵987654321@ 通过将这些 3D 方向向量连接到 A 和 B 矩阵中。

    事实上,我相信这可能只需要两个特征点,(因此在上面的示例中,使用红色表示的两个局部最大值)。如果第一个解决方案给出了一个具有负行列式的正交矩阵,请尝试切换该对上的标签,以便该方案返回一个正确的旋转矩阵。

    从旋转矩阵中,可以直接提取欧拉角(但请考虑使用Rodrigues 参数化)。

    或者,在spherical harmonics and convolution 上进入兔子洞。

    【讨论】:

    • x1, x2, ..., xN and y1, y2, ..., yN是球面上某个特征的位置向量?
    • 是的,它们是球体上 N 个不同特征的坐标。例如,考虑一个以地球中心为原点的坐标系,其中 x1、x2、x3、x4 描述了伦敦、开罗、内罗毕和上海在该坐标系中的位置。现在取一个不同的坐标系,它具有相同的原点,但具有不同的方向,因此y1、y2、y3和y4是这些位置在第二坐标系下的坐标。 Procrustes 技巧告诉您如何找到两个坐标系之间的旋转。
    猜你喜欢
    • 2019-05-03
    • 1970-01-01
    • 1970-01-01
    • 2013-12-05
    • 1970-01-01
    • 2012-09-28
    • 1970-01-01
    • 1970-01-01
    • 2014-07-18
    相关资源
    最近更新 更多