27

一連の点で作成された図形の中心点(x、y)を取得したいと思います。

どうすればいいですか?

4

3 に答える 3

36

セントロイドを意味する場合は、すべてのポイントの平均を取得します。

x = [p[0] for p in points]
y = [p[1] for p in points]
centroid = (sum(x) / len(points), sum(y) / len(points))
于 2010-12-04T21:27:54.427 に答える
8

ポイントは (x,y) のようなタプルであると想定しているため、zip を使用して x と y を結合できます。次に、x と y の最小値と最大値を使用して、中心点を決定できます。

x,y=zip(*points)
center=(max(x)+min(x))/2., (max(y)+min(y))/2.

サンプル出力

Points in an array : [(411, 148), (304, 148), (357, 241)]
x:(411, 304, 357)
y:(148, 148, 241)
center: (357.5, 194.5)
于 2010-12-04T21:32:07.973 に答える