\当サイトではリンク広告を利用しています。/
「L-system(Lindenmayer System)」を使って、フラクタルで木を描くシミュレーションをウェブ上で観察できるサイトツールです。
上の埋め込み内でも使えますが、うまく動かない・大きなページで使いたいというときは、元のL-systemで木を描くシミュレーションページへ(新しいタブで開きます)。
L-system(エル・システム)とは、1968年に生物学者アリステッド・リンデンマイヤーによって提案された文字列の置換ルールによる生成システムです。
本来は植物の成長パターンを数理的にモデル化するために使われていましたが、その美しさと規則性から、現在ではCGやアート、プログラミング教育など幅広い分野で利用されています。
フラクタル図形の一種としても有名です。
基本的な仕組みは次の通りです:
例えば、X
→ F[-X][X]F[-X]+FXL
のように枝分かれや成長を表す記号を使って木の形状が生成されます。
これを「タートルグラフィックス」と呼ばれる描画方式で線に変換することで、まるで本物の木のような図が描けるのです。
このシミュレーションは、ブラウザ上で動作するシンプルなツールです。操作はとても簡単で、以下のように使えます。
画面上部のプルダウンメニューから「展開回数(再帰深さ)」を選びます。数字が大きいほど細かく分岐した木になりますが、描画に時間がかかることもあります。
「描画」ボタンを押すと、選んだ再帰深さに基づいた木がキャンバスに描かれます。
枝は茶色、葉っぱは緑で色分けされており、より自然な見た目に仕上がります。枝の太さも自動で調整され、枝分かれするたびに細くなる仕様です。
プルダウンで再帰回数を変更 → 「描画」ボタンを押すだけで、すぐに新しい木が表示されます。さまざまな設定で試してみると、個性的な木を作ることができます。
このツールは、以下のようなL-Systemのルールを使っています:
X
X → F[-X][X]F[-X]+FXL
F → FF
L → L
(葉っぱ)コマンドの意味は:
F
:前進して線を描く(幹・枝)+
/ -
:角度を±25度回転[
/ ]
:状態の保存と復元(分岐)L
:葉っぱを描く(緑色の円)つまり、X
から始まり、ルールに従って再帰的に文字列を展開し、
最終的に木と葉っぱを描画するという仕組みです。
このL-system木描画シミュレーションを使えば、複雑なアルゴリズムを知らなくても、誰でも自然な木の形を描くことができます。学習用にもアート用途にも最適なツールです。
「自然って数式で表現できるんだ」と感じるきっかけになるかもしれません。ぜひいろいろなパターンを試して、オリジナルの“デジタルの森”を育ててみてください!🌳✨