scipy与MATLAB中四元数的不同之处

摘要

除了参数顺序不同scipy:(x,y,z,w),matlab(a,b,c,d)以外,scipy.spatial.transform.Rotation中的四元数是Shuster’s convention(JPL convention),与MATLAB中的四元数定义完全不同!!!

scipy

scipy.spatial.transform.Rotation中的from_quat(x,y,z,w)对应四元数
x i + y j + z k + w xi+yj+zk+w xi+yj+zk+w
但是满足的是奇怪的JPL convention,例如
i j = − k ij=-k ij=k

Wikipedia中不推荐使用这种 JPL convention

matlab

quaternion(a,b,c,d)函数since R2019b才有,对应四元数
a + b i + c j + d k a+bi+cj+dk a+bi+cj+dk
满足的是常见的四元数定义:
i j = k ( i 2 = j 2 = k 2 = i j k = − 1 ) ij=k\\ ( i^2 = j^2 = k^2 = ijk = −1) ij=k(i2=j2=k2=ijk=1)

你可能感兴趣的:(matlab,scipy)