エージェント集合操作(生成)¶
make_agtset¶
引数の指定に当てはまるエージェントの集合を取得する。
make_agtset(agttype=None, space=None, layer=None, only_alive=False)
agttype - 指定するエージェント種別。指定しない場合は全てのエージェント種別。
space - 指定する空間。指定しない場合は全ての空間。
layer - 指定するレイヤ。指定しない場合は全てのレイヤ。
only_alive - killフラグが立っていないエージェントのみを指定するかどうか。初期値はFalse。
# エージェント種別personのエージェント集合を取得する
people = make_agtset(agttype=Universe.city.person)
# エージェント種別personのエージェントのうち、killフラグが立っていないエージェントの集合を取得する
people = make_agtset(agttype=Universe.city.person, alive=True)
make_agtset_around_position¶
連続空間上の指定した位置から指定した範囲内にいるエージェントの集合を返す。
make_agtset_around_position(distance, space, x, y, layer, agttype=None)
distance - 指定する範囲の広さ。
space - 指定する空間。
x - 指定する位置のx座標。
y - 指定する位置のy座標。
layer - 指定するレイヤ。
agttype - 集める対象とするエージェント種別。初期値はNoneで、このとき全てのエージェント種別を対象とする。
※連続空間でのみ使用可能。
# 空間Universe.cityのレイヤ0の座標(25,30)から距離10以内に存在するエージェントの集合を取得する
group = make_agtset_around_position(10, Universe.city, 25, 30, 0)
# 空間Universe.cityのレイヤ0の座標(25,30)から距離10以内に存在するエージェントのうちUniverse.city.person種別のエージェントのみを取得する
people = make_agtset_around_position(10, Universe.city, 25, 30, 0, agttype=Universe.city.person)
make_agtset_around_position_sqgrid¶
四角格子空間上で、指定した位置から指定した範囲内にいるエージェントの集合を返す。
make_agtset_around_position_sqgrid(distance, space, x, y, layer, agttype=None, manhattan=False)
distance - 指定する範囲の広さ。
space - 指定する空間。
x - 指定する位置のx座標。
y - 指定する位置のy座標。
layer - 指定するレイヤ。
agttype - 集める対象とするエージェント種別。初期値はNoneで、このとき全てのエージェント種別を対象とする。
manhattan - Falseのときは指定範囲をチェビシェフ距離で、Trueのときはマンハッタン距離で定義する。初期値はFalse。
# 空間Universe.cityのレイヤ0の座標(25,30)からチェビシェフ距離で距離2以内に存在するエージェントの集合を取得する
group = make_agtset_around_position_sqgrid(2, Universe.city, 25, 30, 0)
# 空間Universe.cityのレイヤ0の座標(25,30)からマンハッタン距離で距離3以内に存在するエージェントのうちUniverse.city.person種別のエージェントのみを取得する
people = make_agtset_around_position(3, Universe.city, 25, 30, 0, agttype=Universe.city.person, manhattan=True)