忍者ブログ

Memeplexes

プログラミング、3DCGとその他いろいろについて

植物 vs 動物 かんたんシミュレーション(ロトカ=ヴォルテラ方程式の解っぽい)

植物 vs 動物

植物と動物の簡単なシミュレーションを作ってみました。
緑が植物、赤が動物です。

シミュレーション画面をクリックすると一時停止、もう一度クリックすると再開します。


植物も動物も自分から動きまわることはせず、ぶつかり合うだけですが、それで十分です。
ぶつかったとき、捕食が起きます。
動物が植物からエネルギーを吸い取るのです。
動物と動物、植物と植物では何も起きません。
なお、エネルギーが空になった個体は消滅します。
ちなみに植物は何も起きなくともエネルギーを得ることができます。

さて、このシミュレーションを動かすと、動物と植物の数が増減を繰り返します。
これはロトカ=ヴォルテラの方程式の解にそっくりですね。
つまり、
植物が増えると、動物が増え、
動物が増えると、植物が減り、
植物が減ると動物が減り
動物が減ると植物が増える
をくりかえすのです。

パラメーターには次のようなものがあります:
  • Reproduction Cost : 繁殖すると失われるエネルギー(ただしそのあとさらにエネルギーの半分が子に奪われる)
  • Reproduction Threashold : 繁殖するのに必要なエネルギー。これだけエネルギーを持っていないと繁殖しない。別に繁殖するとこれが失われるわけではない。というのがReproduction Costとのちがい。
  • Plant Energy Supply : 植物に1フレーム間に与えられるエネルギー。
  • Animal Energy Consumption : 動物が1フレーム間に失うエネルギー。
  • Animal Energy Drain : 動物が植物と接触したときに吸い取るエネルギー。

おまけ
プロジェクトファイルです。

















拍手[0回]

PR