按质心移动几何

时间:2017-02-12 20:08:59

标签: python numpy geometry

我有一些积分:

[[2000,3000], [2000,12000], [10000,120000], [10000,3000], [2000,3000]]

并且它在坐标[6000, 7500]

处有一个中心

有什么方法可以移动新中心[x_new, y_new]周围的所有坐标?例如,如果我想将所有x / y转移到[0,0]而不是当前中心,但我想保留形状。

形状顶点并不总是矩形,我只是用它来做一个简单的例子。

我想将第三方模块限制为numpy和标准python库。

谢谢!

1 个答案:

答案 0 :(得分:1)

通过向每个点添加相同的位移矢量来实现锁步中的一组点移位。

这很容易使用numpy

import numpy as np
points = np.array([[2000,3000], [2000,12000], [10000,120000], [10000,3000], [2000,3000]])
com = np.mean(points, axis=0)
delta = np.array((0, 0)) - com
shifted_points = points + delta