ねこでじ(Nekodigi)

Nekodigi’s diary

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

【Processing】逆シェルピンスキーのギャスケット

成果物

f:id:Nekodigi:20200516083040p:plain
スパイク状のメンガーのスポンジを作るために、逆シェルピンスキーのギャスケットが必要なのではと思ったので、作ってみました。

仕組み

f:id:Nekodigi:20200516083412p:plain:w300
外接円の半径がrの三角形にn列配置したいときは、普通白い位置に置くようになるのですが、それをr*3/2/n*2/3だけ下にずらすと、ちょうど三角形の中心の黒い位置に移動します。この性質を利用して三角形を並べていくとシェルピンスキーのギャスケットの空洞部分のみに三角形をおいていくことができます。また、列の数はn=pow(2, x)にするのですが、初めにxを大きい数値からスタートさせると、重複している部分が上手に隠されます。

コード

逆シェルピンスキーのギャスケットはInverse Sierpinski_Gasketという名前で追加しています。
github.com
三角形の中心においていくデモはTriangle_Centerという名前で追加しています。
github.com