Categories: サイトツール

L-systemで3D空間に木を描くwebシミュレーション

L-systemを用いて、木を3D空間に描画するシミュレーションをブラウザ上で行い、枝の広がりを観察できるサイトツールです。

上の埋め込み内でも使えますが、うまく動かない・大きなページで使いたいというときは、元のL-systemでの木の3D空間の描画のシミュレーションページへ(新しいタブで開きます)。

\当サイトではリンク広告を利用しています。/

L-systemで3D空間の木を描く

このツールは、L-system(リンドマイヤーシステム)を用いて、自然界の木のような分岐構造を3D空間に描画するシミュレーションです。

L-systemとは、再帰的なルールに従って文字列を展開し、それを命令として解釈することで図形を描く構造的な記述法です。
本ツールではその応用として、Z軸だけでなくX軸・Y軸の回転も取り入れ、立体的な枝分かれを表現しています。

さらに、p5.js ライブラリを活用することで、Webブラウザ上で回転・ズーム・平行移動が可能なインタラクティブ表示を実現しています。


🔧 ツールの使い方

1. 操作方法

  • ドラッグ:視点を回転
  • マウスホイール:ズームイン・アウト
  • 右ドラッグ:画面の平行移動
  • 自動で木が描画されるので、クリックや入力は不要です

2. 内部の動作(L-systemのルール)

  • 初期の文字列(Axiom):F
  • 展開ルール: F → FF+[&F-F-F]-[^F+F+F]
  • このルールを4回繰り返し適用し、枝分かれの構造を複雑にします
  • F は前進(枝)、+/- はZ軸回転、&/^ はX軸回転、\/ はY軸回転
  • [] で状態を保存・復元し、枝の分岐を実現しています

⚠️ 注意点

このツールは、再帰的に大量の3Dオブジェクト(枝)を描画するため、処理が重くなりがちです。
特に展開回数(イテレーション)が増えると負荷が上がります。

💻 PCでの使用を推奨します。


📝 まとめ

  • L-systemを使って3D空間に木を描画できるツール
  • 記号で枝の角度・分岐をコントロールし、自然な構造を再現
  • p5.jsによってブラウザ上でインタラクティブな表示が可能
  • 操作はマウスドラッグ・ホイールで直感的に扱える
  • 処理が重いため、PC環境での使用を推奨

このツールは、自然現象のモデリングやジェネラティブアートの入門にも最適です。

🌿L-systemを使って、自分だけの“木”を育ててみませんか?

haccle