ねこでじ(Nekodigi)

Nekodigi’s diary

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

【Processing】スパイク状のメンガーのスポンジを作る。

成果物

トゲトゲバージョン

www.youtube.com
単純に各面に一つずつ再帰的に載せていくとこのようになります。

フルバージョン

www.youtube.com
各面に、フラクタルになるように何度も載せていくとこうなります。立方体の時は正八面体に、正四面体の時は立方体に近づいて行っている気がします。正四面体の方は作るのが非常に難しかったのですが、思ったよりも地味な見た目になってしまって残念です。

仕組み

特に難しい正四面体の場合に絞って説明します。正四面体は子と親が正反対の向きになっています。また、面上の基底ベクトルを計算し、親の中心から子の中心がどれだけ離れているか指定すると、親オブジェクトの面にちょうど乗る位置を求めることができます。
nekodigi.hatenablog.com
また、正四面体のフルバージョンは、各面に子を前回の逆シェルピンスキーのギャスケットのように並べていくことで、実装しています。
nekodigi.hatenablog.com

コード

Menger Spikeという名前で追加しています。
github.com