一連の点によって作成された図形の中心点(x、y)を取得したいと思います。
どうすればよいですか?
重心を意味する場合は、すべてのポイントの平均を取得するだけです。
x = [p[0] for p in points]
y = [p[1] for p in points]
centroid = (sum(x) / len(points), sum(y) / len(points))
ポイントは(x、y)のようなタプルだと思います。
x,y=Zip(*points)
center=(max(x)+min(x))/2., (max(y)+min(y))/2.
ポイントのセットがサイズNx2のnumpy配列positions
である場合、重心は単純に次の式で与えられます。
centroid = positions.mean(axis=0)
それはあなたに2つの座標とnumpy配列を直接与えます。
一般に、numpy配列は、ベクトル化された方法でこれらすべてのメジャーに使用できます。これは、コンパクトで、for
ループと比較して非常に高速です。