はじめに
先日 Random Num Gen という疑似乱数リストを生成するノードを見ていた時に Delaunay 2Dというノードの存在を知った。
このノードを調べると Voronoi 2D というノードと関連が強いようなので一緒に調べた
Blenderでマテリアルを触っていてよく登場するボロノイテクスチャ。なんか模様が作れる程度にしか思っていなかった。
調べてその模様の意味がようやくわかった。
ボロノイ(Voronoi)とドロネー(Delaunay)について
Sverchok では2つとも Modifiers → Modifier Make の中にある。
簡単に言うとボロノイは2つ以上の頂点が与えられた時に、その頂点を隔てる辺を作成し、ドロネーは最も近い頂点3つを結び三角形を作る
試すとこの2つが本当に関連が強いことわかる。
サンプルデータとして下記の10個のランダムな頂点を使う
このサンプルに Voronoi 2D を使うと
- 元の頂点(ボロノイでは母点という)同士の中間に辺が生成されて新しい頂点と辺ができている
Delaunay 2Dを使うと
- 最も近い3つの頂点が接続され三角形ができている
という事でこのドロネーとボロノイはGoogle検索しても常に一緒に語られているのではというくらい関連が強い。
ちなみにXとYをランダムにするために Random Num Genを使ったが、この分布関数を色々変えると面白いボロノイが出来上がる
対数分布 と 正規分布
頂点の数200程度
べき分布 と 三角分布
頂点の数200程度
二項分布 と ラプラス分布
頂点の数200程度
ベータ分布 と 一様分布
頂点の数200程度
NGonで遊んでみた図
- NGonの頂点からドロネー 2D で面を作成し Inset で面の中に面を作成、Extrude Separate Face で作成した面を押し出す
- NGonの頂点からボロノイ 2D で辺を作成し、Offset Lineでラインに厚みをもたせ、Extrude Edge で辺を押し出している
最後に
ボロノイは最寄りの駅や勢力図を把握するために使われるらしい。模様としか考えてなかったから用途が少し見えるだけでも面白い。