代码之家  ›  专栏  ›  技术社区  ›  mac

如何使用一个矩阵来旋转一个向量相对于另一个向量的参考系?

  •  2
  • mac  · 技术社区  · 14 年前

    真实案例(帮助理解问题)

    我正在构建一个可以绕其所有轴(x、y、z)自由旋转的设备,并配备有:

    • 加速度计 (A) 这给了我一个指向地球中心的向量(Va)
    • 磁强计 (M) 这给了我地球磁场的方向(Vm)

    这两个向量共享相同的参考系(x,y,z),但我感兴趣的是 相对于地球表面指向北方的向量 [想想手持式指南针:我想找到指针应该指向的地方]。

    This video 显示了一个“球罗盘”,它的行为与我的设备应该以电子方式复制的行为几乎相同。

    编码问题

    我做了一点研究,我觉得我应该用is 3D rotation matrices 执行以下两个步骤:

    1. 将Vm的参考系从R旋转到R' ,使y'与Va平行,
    2. “展平”Vm向量 将其y'分量设置为0

    不幸的是,我仍然困惑于我应该如何进行具体条款(我没有以前的经验与向量和矩阵的工作)。让我困惑的一件事是,我能在谷歌上搜索到的大部分资料都是从角度来谈的,但是 式中,Vz、Vy和Vz是V沿参考系的分量。

    2 回复  |  直到 14 年前
        1
  •  1
  •   cobbal    14 年前

    一个简单的答案是使用交叉积。

    你可以用V找到东方 电子 ¨五 然后以V向北 ¨五 电子