【发布时间】:2020-06-02 14:01:32
【问题描述】:
3d空间中一组N个点的gyration tensor定义为
假设条件
如何在不使用显式 for 循环的情况下在 numpy 中计算它?我知道我可以做类似的事情
import numpy as np
def calculate_gyration_tensor(points):
'''
Calculates the gyration tensor of a set of points.
'''
COM = centre_of_mass(points)
gyration_tensor = np.zeros((3, 3))
for p in points:
gyration_tensor += np.outer(p-COM, p-COM)
return gyration_tensor / len(points)
但这对于大 N 来说很快就会变得低效,因为 for 循环。有没有更好的方法?
【问题讨论】:
标签: numpy rigid-bodies