2

ポイントのセットに Delaunay 三角形分割を使用して、ポイントのクラスターを規則的なパターンで分離しようとしています。

初めて qhull.Delaunay オブジェクトを使用した経験があるので、ご容赦ください...

from scipy.spatial import Delaunay
tri = Delaunay(array)

現在、次のようになっています。

ドロネー出力

print (tri.simplices)リストを取得できることがわかりました。明らかなクラスターにあるものだけを分離したいのですが、線の長さやボリュームが特定のしきい値を超えているものを削除することで実行できると思いますが、結果を操作してこれを行う方法がわかりませんか?

4

1 に答える 1

2

答えが見つかりました-他の人に役立つ場合に備えて投稿してください。

Delaunay 出力は、各ポイントの座標のリストと、各三角形を形成する 3 つのポイントのネストされたリストを提供します。

それらの領域にアクセスするには、まずこれを Shapely ポリゴンのリストに変換します。次に、ポリゴンがカキになります。

from shapely.geometry.polygon import Polygon

coord_groups = [tri.points[x] for x in tri.simplices]
polygons = [Polygon(x) for x in coord_groups]

#area of the first polygon
polygons[0].area
于 2017-02-02T14:22:24.363 に答える