Python 用四元数旋转向量数组

Python 用四元数旋转向量数组,python,data-science,quaternions,Python,Data Science,Quaternions,我有一个numpy ndarray的形状(112414,3)。我想使用四元数围绕相同的轴和角度旋转这些112414向量。有没有办法一次获得所有旋转向量,而不是应用大小为112414的循环 rotation_axis=np.random.uniform(size=3) my_quaternion = Quaternion(axis=rotation_axis,degrees=np.random.uniform(low=0,high=361)) for i in np.arange(len(lin

我有一个numpy ndarray的形状(112414,3)。我想使用四元数围绕相同的轴和角度旋转这些112414向量。有没有办法一次获得所有旋转向量,而不是应用大小为112414的循环

rotation_axis=np.random.uniform(size=3)
my_quaternion = Quaternion(axis=rotation_axis,degrees=np.random.uniform(low=0,high=361))

for i in np.arange(len(linear_arr)):

    x=my_quaternion.rotate(Quaternion(vector=linear_arr[i])).vector

我想删除这个循环。我想给出一个完整的线性数组,它是一个形状的数组(112414,3),并得到一个相同形状的旋转向量数组。因为上面的代码在计算上很昂贵,而且在我的机器上花费了太多时间

最好编写自己的代码以矩阵乘法的形式进行矩阵旋转

最好编写自己的代码以矩阵乘法的形式进行矩阵旋转

从四元数计算旋转矩阵,然后将其乘以
linear\u arr
?从四元数计算旋转矩阵,然后将其与
linear\u arr
相乘?