关于术语的注释:严格来说,“四元数垂直于基向量之一”的确切含义尚不清楚......四元数和 3-D 向量不能以这种方式进行比较。但是,四元数可以被认为是旋转轴(3-D 向量)和标量旋转角度的表示,所以我假设您想知道旋转轴是否垂直于基向量之一。
对于被视为 3-D 旋转的单位四元数,惯例是对于 q=(w,x,y,z),x、y 和 z 沿旋转轴形成一个 3-D 向量(我们称之为 qv), w=cos(alpha/2) 表示旋转角度 alpha。
在您的情况下,qv = (x,y,z) = (0, -0.229860, 0)。vx、vy 和 vz 都是单位向量,因此如果将 qv 归一化为单位向量,则更容易看出发生了什么。除以它的长度 (0.229860) 得到 qv_unit = (0, -1, 0)。要找到 qv_unit 与 vx、vy 和 vz 之间的角度,请使用点积:
对于单位向量 v1=(a, b, c) 和 v2=(d, e, f):
cos(theta) = v1 点 v2 = ad + be + cf
qv_unit dot vx = 0*.447410 + -1*0 + 0*-894329 = 0 = cos(theta),所以theta=pi/2,我们看到qv_unit垂直于vx。
qv_unit dot vy = 0*0 + -1*1 + 0*0 = -1 = cos(theta),所以 theta=pi,qv_unit 与 vy 反平行。
qv_unit dot vz = 0*.894329 + -1*0 + 0*.447410 = 0 = cos(theta),所以theta=pi/2,qv_unit也垂直于vz。