MAS コミュニティ
artisoc質問用掲示板(アーカイブ)
  
質問掲示板は移転しました。新掲示板はこちら

質問 (解決済み)

[artisocモデル] 人エージェントの初期配置位置について
質問者: srさん , 質問日時: 2019/10/31 12:33
コンサートホールからの退場シミュレーションを行っています。
人エージェントの初期配置位置を椅子エージェントの上に限定したいのですが、
何か方法はありますでしょうか?
椅子エージェントはUniverse上で

ElseIf Universe.Map.Floor(i, j, 0) == 3 Then  // 3: 椅子の生成
oneAgt = CreateAgt(Universe.Map.Chair)

のように記述し、
空間の初期値設定から椅子エージェントの配置場所を決定しています。
椅子エージェントは不規則かつ大量に配置させるため、
人エージェントを配置させる際、椅子の座標を1つ1つ入力するのは難しいと考え、
質問させていただきました。

よろしくお願いします。



▼解決した回答


そもそもまずは椅子エージェントは必要なのでしょうか?椅子自体は意思決定を行わないので、それをエージェントとして作成する意味はありますか?
最初から椅子ではなく、椅子に座った人エージェントを作成すれば良いような気がします。
一方で、椅子エージェントを作成する必要があり、その上に人を配置する必要があるのでしたら、椅子のXY座標を人のXY座標に代入することで可能です。
簡単に例だけ示します。
oneAgt = CreateAgt(Universe.Map.Chair)
hitoAgt = CreateAgt(Universe.Map.Hito)
hitoAgt.X = oneAgt.X
hitoAgt.Y = oneAgt.Y

回答者: igaguri さん , 回答日時: 2019/10/31 12:49

▼ 全ての回答


そもそもまずは椅子エージェントは必要なのでしょうか?椅子自体は意思決定を行わないので、それをエージェントとして作成する意味はありますか?
最初から椅子ではなく、椅子に座った人エージェントを作成すれば良いような気がします。
一方で、椅子エージェントを作成する必要があり、その上に人を配置する必要があるのでしたら、椅子のXY座標を人のXY座標に代入することで可能です。
簡単に例だけ示します。
oneAgt = CreateAgt(Universe.Map.Chair)
hitoAgt = CreateAgt(Universe.Map.Hito)
hitoAgt.X = oneAgt.X
hitoAgt.Y = oneAgt.Y

回答者: igaguri さん , 回答日時: 2019/10/31 12:49
回答してくださりありがとうございます。
無事解決することができました。

回答者: sr さん , 回答日時: 2019/11/07 11:11



Copyright © KOZO KEIKAKU ENGINEERING Inc. All Rights Reserved.
( 会社情報 情報セキュリティ・個人情報について )