ねこでじ(Nekodigi)

Nekodigi’s diary

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

【Processing】Icosphereを作成し、うねうね動かしてみた。

成果物

シンプルなIcosphere

www.youtube.com
前回作った正二十面体(Icosahedron)を分割して、中心からの距離が一定になるようにすることで作ることができます。UV球に比べて、頂点が均一に分布しているのが特徴で、凹凸処理の結果が非常にきれいになります。

動くIcosphere

www.youtube.com
頂点の三次元上の位置をもとにParlinノイズを使ってノイズを作成し動かしています。z軸の入力に、オフセットを足すことで動かしています。

コード

シンプルな方はIcosphere_、動く方はIcosphere_Moveという名前です。Polyhedronリポジトリの他の作品もご覧ください。
github.com

解説

正二十面体の面の三角形を中点で四つに分割して、中心からの距離からの距離が同じになるように、PVector.setMag()で位置ベクトルの長さを半径に揃えることで実装しています。参考にしたサイトはこちらです。
blog.andreaskahler.com