見出し画像

L-Systemやフラクタルをprocessingで包括的に扱うプログラム...byアルちゃんの黒魔術研究所

はじめに

processingで記述しております。

世の中にはL-system(Lindenmayer system)やフラクタル、セルオートマトンといった、超かっこいい魔術的なアルゴリズムがたくさんあります。ここではそれらをひっくるめて包括的に扱うプログラムを考えます。

最終的にこんなのができます。

画像17

画像18

画像19

大ざっぱにこんな感じに使います。

 float angle = 2*PI/14.4;
 system = new DistanceMarkerSystem(250, 250, 2, angle);

 //コッホ曲線
 system.Operators.add(new Forward());
 system.Rules.add(new Rule_FlFrFrFlF(3));

 //シェルピンスキーのガスケット
 angle = 2*PI/3;
 system.Operators.add(new Forward());
 system.Operators.add(new TurnRight(angle));
 system.Operators.add(new GForward());
 system.Operators.add(new TurnRight(angle));
 system.Operators.add(new GForward());
 system.Rules.add(new Rule_FrGlFlGrF(5, angle));
 
 //バーンズリーのシダ  
 angle = 2*PI/14.4;
 system.Operators.add(new InitMarkerPos());
 system.Operators.add(new InitSystemRadian());  
 system.Operators.add(new X());
 system.Rules.add(new Rule_XF(6, angle));


ここから先は

52,447字 / 16画像

¥ 800

期間限定 PayPay支払いすると抽選でお得に!

この記事が気に入ったらサポートをしてみませんか?