2017-01-31 3 views
0

私は、一連の点でDelaunay三角形分割を使用して、点のクラスタを規則的なパターンで分離しようとしています。scipy Delaunay三角形分割の出力から選択する方法は、特定のボリューム(または総線の長さ)の下で単純化するだけですか?

ので、私と一緒にクマqhull.Delaunayオブジェクトを使用して私の最初の経験は...

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

が現在のようになります。

Delaunay output

と私はprint (tri.simplices)できるIを見つけましたリストを入手してください。私は明白なクラスターにあるものだけを分離したいと思っています。これは、線の長さやボリュームが特定のしきい値を超えているものを取り除くことで可能ですが、結果を操作する方法がわかりません。

答えて

0

回答を見つけました。他の人にとって役に立ちます。

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 
関連する問題