- ベストアンサー
避難シミュレーションプログラミング(Fortranにて)
大学の研究で、災害時の避難シミュレーションのプログラミングをVisual Fortranで行っています。 人が一本道を歩いていて、十字路の交差点にさしかかった時に、 交差点を判断して、とりあえず右に曲がるという プログラムを組みたいと考えております。 わかりずらくてすいません、 マニアックな質問かと思いますが、 考え方として良いアイデアがありましたら教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
random walk のアルゴリズムが参考になると思います。 「random walk フラクタル」で検索すると見つかるのは、Cとかjavaのプログラムが多いと思うけど、考え方の基本は同じですので。 >交差点を判断して、とりあえず右に曲がる 曲がる方向をrandomではなく、右と決めるならば、ぐるぐる回るような軌跡が描けるでしょう。
その他の回答 (1)
- yokomaya
- ベストアンサー率40% (147/366)
回答No.1
簡単なのは平面なので位置を二次元配列の上で処理する方法では?とりあえず縦横しか進めない事にして道路を示す値を決めておく。例えばその値を1とすれば交差点は上下左右も1の地点となる。進行方向はX又はYをひとつずつ増やすないし減らすで4方向が確保できる。例えば現在の方向がXを増加させる方向なら左折はYを増加させる方向に変える事を指す。こんな感じをイメージします。
お礼
■hrm_mmmさん> とても良いアルゴリズムを紹介していただいてありがとうございます。 検索してみました、相当な数出てきました。 これならランダムで歩くということができそうです。 ※Cやjavaとfortranは基本は同じなんですね、fortranの本が少ないのが悩みの種だったので、Cやjavaでも探してみようと思います。 ありがとうございます!