如何通过python或numpy乘以两个四元数

时间:2016-08-17 15:30:07

标签: python numpy 2d multiplication quaternions

我有两个四元数:Q1 = w0,x0,y0,z0和Q2 = w1,x1,y1,z1。我想通过使用可以返回二维数组的NumPy或Python函数来乘以它们。我在互联网上发现了一些由Christoph Gohlke编写的伪代码来进行这种乘法运算。我尝试了很多,但未能应用它。任何人都可以帮助我做这种乘法吗?伪代码在这里:`

def quaternion_multiply(quaternion1, quaternion0):
w0, x0, y0, z0 = quaternion0
w1, x1, y1, z1 = quaternion1
return array([-x1*x0 - y1*y0 - z1*z0 + w1*w0,
                     x1*w0 + y1*z0 - z1*y0 + w1*x0,
                    -x1*z0 + y1*w0 + z1*x0 + w1*y0,
                     x1*y0 - y1*x0 + z1*w0 + w1*z0], dtype=float64)` 

1 个答案:

答案 0 :(得分:2)

以下是使用您的函数的一个小例子:

    @Document(collection="test")
    @Getter
    @Setter
    public class TestData {

        @Id
        private String name;

        private String fiscalWeek;

        private String fiscalYear;

    }