ねこでじ(Nekodigi)

Nekodigi’s diary

学習中の気づきをまとめています。応援よろしくお願いします

【Processing】Delaunay/Voronoi図に穴をあける

成果物

Delaunay

www.youtube.com
マウス座標から、点を遠ざけ、大きすぎる三角形を消去すれば、簡単に穴をあけることができます。

Voronoi

www.youtube.com
先ほどのDelaunay図からVoronoi図も作ることができます。

仕組み

マウス座標もDelaunay図の頂点として追加し、頂点の半径も大きく設定しておきます。そして、Delaunay図の各頂点がぶつからないようにすると、マウス座標から遠ざけつつ、他の頂点ともぶつからないようにできます。そのままでは、穴をあけたい部分も表示されてしまうので、大きすぎる三角形は削除することで対応しています。Voronoi図は先ほどのDelaunay図を元に作っていくのですが、Voronoi図は、二等分を求めていく都合上、穴の大きさが半分になるので、これも大きすぎる多角形を削除することで対応しています。

コード

Voronoi with Holeという名前で追加しています。
github.com