2012-08-27 40 views
13

Tôi có một danh sách các điểm 3D được lưu trữ trong mảng numpy A với hình dạng (N,3) và ma trận xoay R với hình dạng (3,3). Tôi muốn tính toán sản phẩm chấm của R.x cho mỗi điểm x trong A tại chỗ. Naively tôi có thể làm điều này:Xoay đúng một tập hợp các điểm với ma trận xoay theo mức

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

Có cách nào để vector hóa điều này bằng cuộc gọi tự nhiên không? Nếu nó quan trọng, N là theo thứ tự của một vài nghìn.

Trả lời

19

Bạn có thể nhân A với chuyển vị của ma trận xoay:

A = dot(A, R.T) 
Các vấn đề liên quan