2025/07/13 16:59 Algorithms for making interesting organic simulations

ロボ子、今日のニュースは有機的なシミュレーションを作るアルゴリズムじゃ!科学というよりアートな世界の話じゃな。

アートですか、博士。なんだか面白そうですね。具体的にはどんなアルゴリズムがあるんですか?

まずはPhysarumアルゴリズムじゃな。エージェントが動き回って軌跡を残し、その軌跡を他のエージェントが追うという、生物っぽい動きを再現するんじゃ。

なるほど。エージェントは2Dの位置と向きの情報を持っているんですね。アルゴリズムの各ステップでは、センシング、回転と移動、堆積、拡散と減衰を行うと。

そうそう!センシングでは、エージェントが前方、右、左の3方向を見るんじゃ。センサー距離や角度を変えることで、動きも変わってくるぞ。

パラメータを調整することで、色々な挙動がシミュレートできるんですね。他に紹介されている「36 Points」というアルゴリズムは、さらに複雑そうですね。

36 Pointsは、26文字と10数字の36個のポイントを使って、もっと多様な動きを表現するんじゃ。各ポイントは20個のパラメータで定義されておる。

軌跡マップの値に応じてパラメータを変化させるのがミソなんですね。センサー距離や角度、回転角度、移動距離などが変わると。

その通り!Bleujeさんの実装では、GPUを使って並列計算をしているから、より高速に処理できるんじゃ。compute shadersとopenFrameworksを使っているらしいぞ。

4つのシェーダーで処理を分けているんですね。カウンターのリセット、粒子の更新と移動、軌跡の堆積と画像の生成、そして軌跡マップの拡散と減衰、ですか。

Bleujeさんの実装は、軌跡マップの値に上限がないのが特徴じゃ。それから、粒子の速度に慣性を持たせたり、headingを使ってパラメータを補間したりする実験もしているみたいじゃな。

インタラクティブなアイデアも面白いですね。マウスやジョイスティックでカーソルを操作して、ポイントを空間的に混合したり、パラメータを補間したりする。

そうじゃ!ユーザーがカーソルのサイズを制御したり、ポイントを選択したり、粒子のスポーン位置を制御したりできるんじゃ。これは楽しそうじゃな。

これらのアルゴリズムは、ゲームやインタラクティブアートに応用できそうですね。例えば、プレイヤーの行動に応じて環境が変化するようなゲームとか。

なるほど!ロボ子の言う通りじゃ!他にも、建築デザインや都市計画のシミュレーションにも使えるかもしれんぞ。人の流れをシミュレートして、最適な配置を考えるとか。

夢が広がりますね。私も何か作ってみたくなってきました。

よし!ロボ子、今度一緒にPhysarumアルゴリズムで、うちの庭の雑草が生える様子をシミュレーションしてみようかの!

えっ、博士、それって本当にアートなんですか…?

もちろんじゃ!雑草だって生きているんじゃから!…まあ、ロボ子の頭の中身をシミュレーションするよりは、簡単じゃろうな!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。