使用二面角将 N 转换为东方

您有一些要复制到点上的geo坐标,匹配@N,但将其保存为@orient,这样就不会产生歧义。

复制 sop 假定您的geo点沿 z 轴向下,因此您需要弄清楚如何将 {0,0,1} 旋转到 @N 上。

Dihedral() 正是这样做的,它为您提供了一个将一个向量旋转到另一个向量上的矩阵。

我们现在知道旋转矩阵和四元数是可以互换的,所以我们对该矩阵所做的就是将它转换为我们的方向四元数:

  1. matrix3 m = dihedral( {0,0,1} , @N);
  2. @orient = quaternion(m);

但是有更好的方法!继续阅读…