如何确定飞机的方向?

问题描述

我有三个非共线 3D 点,比如说 pt1pt2pt3。我已经使用 sympy.Plane 计算了平面 P。我怎样才能找到这个平面的方向(P),即 RPY(欧拉角)或四元数?

解决方法

我从未使用过 sympy,但您应该能够找到一个函数来获取 2 个向量(您的法线向量和世界 Y 轴)之间的角度。

theta = yaxis.angle_between(P.normal_vector)

然后得到旋转轴,它是那些相同向量的归一化叉积。

axis = yaxis.cross(P.normal_vector).normal()

然后从轴和角度构造一个四元数

q = Quaternion.from_axis_angle(axis,theta)