亀のフラクタル描画

もし,亀のロボットが自分の歩いた跡を描いてくれるとしたら,三角形を描くためにはどのような指示を与えたらよいでしょうか.木を描くためにはどうでしょうか.フラクタル描画はどうでしょうか.

亀を使って単純な幾何動作を表現するという考えが提唱されたのは,数十年前に遡ります.亀を平面上の1点(位置)で,ある方向への点を表す物体と考えます.亀は1度につき前後に1ステップ動き,左右のどちらか1方向に回転することができます.この4つの指示のコードとしてF,B,+,-を使います.

亀は元の位置を覚えておき,動いた後また初めの位置に戻ってくることもできます.下の例題では,これはコマンドの周りを大カッコ[]でくくることで表現されています.例えば,[+F]では,亀は1回左に曲がって1ステップ進んだ後,そこから始めにいた位置に戻ってきます.

まず,指示の文字列を選び,回転角度(度)を選びます.「F+F+F+F」という文字列は様々な角度で,見慣れた図形を作り出します.例えば,回転角度が90度であれば正方形になり,120度であれば正三角形になりそのうちの1辺を2回描くことになります.

最初の文字列

ルール(文字列に"F"->"ルール"を適用する)

回転角度(度)

繰返し回数

ビジュアル化





より複雑で興味深い図形を作成したい場合は,選んだ文字列により複雑なルールを適用してください.例えば,三角形の文字列「F--F--F」を選び,それぞれのFを曲線の文字列で置き換えるとコッホ曲線を生成する最初のフラクタルステップである「F+F--F+F--F+F--F+F--F+F--F+F」が得られます.


この内容はStan WagonによるThe Mathematical Explorer に基づいています.

en