ねこでじ(Nekodigi)

Nekodigi’s diary

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

【Processing】Constrained Delaunayを使って、文字でくりぬかれたVoronoi図を作る。

成果物

f:id:Nekodigi:20200927173236p:plain
今回は、前回のConstrained Delaunayを発展させて文字で行っていました。前回は一つの輪で切り取っていましたが、文字では多数の輪があり、切り取る輪、残す輪があるので、思った以上に難解でした。
最終的にPolygon in Polygonを使った後処理で解決することにしましたが、思いつくまでが長かったです。

仕組み

ベースは前回のConstrained Delaunayです。
nekodigi.hatenablog.com
まず、文字を構成する全ての輪を計算します。詳しくはこちらの記事を参照してください。
nekodigi.hatenablog.com
そして、Constrained Delaunayを輪に合わせて順に計算していきます。(この段階では切り取りません)
成形されたDelaunay図が出来上がったので、各三角形の中心が文字の内側か外側からを計算します。(精度が悪いので複数回実行)
外側だけを表示すると上の画像のようになります。

コード

Constrained Delaunay Textという名前で追加しています。
github.com
25ファイル…画面からはみ出ました(笑)。CSVに変換するコードを書いたらさらに増えそうです。