ねこでじ(Nekodigi)

Nekodigi’s diary

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

【Processing】ベジエ曲線を等間隔でサンプリングする。

成果物

f:id:Nekodigi:20200727213936p:plain
テキストのアウトラインをカーブで取得したのですが、Perlinノイズに沿って変形させようと思うと、等間隔にサンプリングされた点に変換した方が便利なので実装してみました。

仕組み

基本的にはSebastian Lagueさんのベジエ曲線を十分細かく分割し、距離を毎回確認する方法を使っています。今回は、頂点を含んだ線にするか、ぶつからないようにサンプリングするかを切り替えられるようにしています。頂点はProcessingのVertexと同じように指定できるようにしています。
www.youtube.com
【Processing】quadraticVertexとbezierVertexの違い - Qiita

コード

Bezier to Sampled Polygonという名前で追加しています。
github.com