FireFlyのモデル:
- agentの総数をスライダーで設定できるように
- agentの移動軌跡も表示できるといいです
- randomeシードの範囲をw,d,h 3種類スライダーで設定できるように
- 3Dで動かしてみるz軸にも数値を与えればそのままmove 光同調、全て3Dで動作するはずですので試してください。
- moveのルールをもうすこし研究すること(全部が中心に移動して収束しない方法を考える)
- インターバルが拡散平均していく様子が数値(グラフなど)で示せるとすばらしいです。
MASクラスのupdateでivalList = [] for agt in self.agent: ivalList.append(agt.interval) print ivalList
として、コンソールに出た結果をエクセルか何かに貼り付けてみてはどうでしょうか?
Boidsのモデル:
- バウンダリーの設定: Brep入力
- 複数の群れ現象の実現: Agentのscan範囲、近傍リストを
agentとの距離 < Sep[] < Ali[] < Coh[] (Coherent)と3種類のリストにし、群れ全体の中心点に向かうのではなく、Coh リスト内の群れの中心に行くように、ルールを変更する。 - agent.posの初期値の設定方法:
twistLouverなどを参考にして、agentをカーブ上に等分割して配置して初期シードを試す
→円弧配置などを手軽に試す。
CAスパイラルのモデル:
- 特異点の配置研究
- diffusionもプロセスにいれてみた結果をみてみたい。
たとえばMASクラスでfor i in range(len(self.agents)): sur = cn.Neimann(i,self.w,self.d,self.h) lap = 0 for s in sur: lap += self.agent[s].nowdif = lap / len(sur) - self.agent[i].now self.agent[i].next = self.agent[i].now + dif * 係数(拡散の速さ)
こんな計算を入れる
- 3Dでも実験。セル高さを2とか3にして走らせてみる(CA_neighbourモジュールは3Dの近傍チェックも出来ます)。
- 西崎さん同様、統計的なこと(ヒストグラムなど)が示せるとなおいいですね。
Duneモデル:
- 風の方向を変えるスライダーを実現する
- 障害物を配置できるようにしてみてはどうでしょう?障害物となるセルの設定のやり方はこちらのポストを参考に。Agentのメンバーに 例えばAgent.isStaticというフラグを作って、そのagentは絶対にホップされることなくまた常に風下のセルはshadowになるようにプロセスを考えてみれば実現できそうです。障害物によって明らかな風紋の違いがでたら面白いですね。その辺りにこの現象を操作するヒントがあるかもしれません。
- トーラス空間、境界空間 を切り替えられるようにしてみる
- セルの高さを2とか3にして走らせてみる
- セルの配置を円筒状、その他の形状にしてみる
- こちらもセルの統計的なこと(ヒストグラムなど)が示せるとなおいいですね。
Comments are closed.