2012-08-27 96 views
13

我有一个存储在numpy数组A中的3D点的形状列表(N,3)和形状为(3,3)的旋转矩阵R。我想在A的每个点x就地计算R.x的点积。天真我可以做到这一点:用numpy的旋转矩阵高效地旋转一组点

for n in xrange(N): 
    A[n,:] = dot(R, A[n,:]) 

有没有一种方法来向量化本地numpy调用?如果重要的话,N的数量是几千。

回答

19

你可以乘以与旋转矩阵的转置:

A = dot(A, R.T)