![見出し画像](https://assets.st-note.com/production/uploads/images/41762505/rectangle_large_type_2_51ffd48d206560bf86dbc32f809f491f.png?width=1200)
L-Systemやフラクタルをprocessingで包括的に扱うプログラム...byアルちゃんの黒魔術研究所
はじめに
processingで記述しております。
世の中にはL-system(Lindenmayer system)やフラクタル、セルオートマトンといった、超かっこいい魔術的なアルゴリズムがたくさんあります。ここではそれらをひっくるめて包括的に扱うプログラムを考えます。
最終的にこんなのができます。
大ざっぱにこんな感じに使います。
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
この記事が気に入ったらチップで応援してみませんか?