polygonを形成する頂点列からボロノイ図を作成する

テキスト形式で保存された、polygonを形成する頂点列から、ボロノイ図を作成する。初めに入力とする座標データ、次に生成結果の画像(入力図形のダンプや、結果のボロノイ図)、最後に使用したコードを示す。

Create a Voronoi diagram from a vertex sequence that forms a polygon, saved in text format. The first coordinate data input, the resulting image (input figure dump, result Voronoi diagram), and the last used code are shown.

■input point list(x-y coodinate)
-125.458 131.465
-125.474 135.003
-122.966 135.026
-122.974 132.982
-123.492 132.974
-123.516 134.484
-124.011 134.492
-123.988 133.981
-124.515 133.981
-124.491 133.454
-125.026 133.477
-125.018 131.968
-124.459 131.992
-124.53 132.99
-124.019 132.982
-123.98 132.518
-122.769 132.503
-122.785 135.482
-125.513 135.522
-125.521 135.986
-119.97 135.986
-119.947 133.477
-120.442 133.485
-120.442 131.496
-121.527 131.473
-121.535 133.485
-121 133.485
-121.016 134.468
-120.505 134.468
-120.497 135.506
-121.511 135.506
-121.488 133.981
-122.006 133.981
-121.999 131.512
-125.458 131.465

■output picture
001_pattern_contour.png(input pattern)
001_pattern_contour.png

002_point_marker.png(after split long edge points)
002_point_marker.png

003_delaunay_traiangle.png
003_delaunay_traiangle.png

004_voronoi.png
004_voronoi.png



■sample code



上記の関数では、頂点列で表すPolygon図形を構成するエッジのうち、任意の長さ以上のエッジに対して分割し頂点を増やすことを行う
In the above function, divide the edges of arbitrary length out of the edges constituting the polygon figure represented by the vertex sequence and increase the number of vertices.input first argument is ndarray(xy point list),second is split length. If distance between two points constituting an edge far than this length, add new point at between two point, and split long edge.



上記の関数では、生成するボロノイ図の画像データのに合わせて、頂点列の座標を変換(倍率変換)している。2つ目引数に指定した値が生成画像の横幅となる。戻り値は配列となっており、一つ目は変換結果のndarray,2つ目は画像の高さ。
In the above function, the coordinates of the vertex sequence are converted (magnification conversion) in accordance with the image data of the generated Voronoi diagram. The value specified for the second argument is the width of the generated image.The return value is an array, the first is the ndarray of the conversion result, the second is the height of the image.

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です