空間操作¶
get_agt_direction¶
エージェント1から見たエージェント2の角度を返す。空間がループする場合は、最短距離として求められる方向の角度を返す。
get_agt_direction(agt1, agt2)
agt1 - エージェント1
agt2 - エージェント2
# taroから見たhanakoの角度を取得する
d = get_agt_direction(taro, hanako)
get_direction¶
地点1から見た地点2の角度を返す。空間がループする場合は、最短距離として求められる方向の角度を返す。
get_direction(x1, y1, x2, y2, space)
x1 - 地点1のx座標
y1 - 地点1のy座標
x2 - 地点2のx座標
y2 - 地点2のy座標
space - 対象となる空間
# 空間Universe.cityにおいて、座標(1,1)から見た座標(10, 15)の角度を取得する
d = get_direction(1, 1, 10, 15, Universe.city)
get_height_space¶
指定された空間の縦幅を取得する。
get_height_space(space)
space - 空間
# 空間Universe.cityが50×50の時50をdに代入
d = get_height_space(Universe.city)
get_layer_space¶
指定された空間のレイヤr数を取得する。
get_layer_space(space)
space - 空間
# 空間Universe.cityのlayerが1の時dに1を代入
d = get_layer_space(Universe.city)
get_ride_space¶
指定されたエージェント種別が乗っている空間を取得する。
get_ride_space(agttype)
agttype - エージェント種別
# エージェント種別Universe.city.taroが乗っている空間をdに代入
d = get_ride_space(Universe.city.taro)
get_width_space¶
指定された空間の横幅を取得する。
get_width_space(space)
space - 空間
# 空間Universe.cityが50×50の時50をdに代入
d = get_width_space(Universe.city)
measure_agt_distance¶
連続空間上でエージェント間の距離を取得する。
measure_agt_distance(agt1, agt2)
agt1 - 1つ目のエージェント
agt2 - 2つ目のエージェント
※連続空間でのみ使用可能。
# エージェントtaroとhanakoの距離を取得する
distance = measure_agt_distance(taro, hanako)
measure_agt_distance_sqgrid¶
四角格子空間上でエージェント間の距離を取得する。
measure_agt_distance_sqgrid(agt1, agt2, manhattan=False)
agt1 - 1つ目のエージェント
agt2 - 2つ目のエージェント
manhattan - Falseのときは距離をチェビシェフ距離で、Trueのときはマンハッタン距離で定義する。初期値はFalse。
# エージェントtaroとhanakoの距離をチェビシェフ距離で取得する
distance = measure_agt_distance_sqgrid(taro, hanako)
# エージェントtaroとhanakoの距離をマンハッタン距離で取得する
distance = measure_agt_distance_sqgrid(taro, hanako, manhattan=True)
measure_distance¶
連続空間上で2地点間の距離を取得する。
measure_distance(x1, y1, x2, y2, space)
x1 - 1地点目のx座標
y1 - 1地点目のy座標
x2 - 2地点目のx座標
y2 - 2地点目のy座標
space - 対象とする空間
※連続空間でのみ使用可能。
# 空間Universe.city上で座標(1, 1)と(25, 30)の距離を取得する
distance = measure_distance(1, 1, 25, 30, Universe.city)
measure_distance_sqgrid¶
四角格子空間上で2地点間の距離を取得する。
measure_distance_sqgrid(x1, y1, x2, y2, space, manhattan=False)
x1 - 1地点目のx座標
y1 - 1地点目のy座標
x2 - 2地点目のx座標
y2 - 2地点目のy座標
space - 対象とする空間
manhattan - Falseのときは距離をチェビシェフ距離で、Trueのときはマンハッタン距離で定義する。初期値はFalse。
# 空間Universe.city上で座標(1, 1)と(25, 30)の距離をチェビシェフ距離で取得する
distance = measure_distance(1, 1, 25, 30, Universe.city)
# 空間Universe.city上で座標(1, 1)と(25, 30)の距離をマンハッタン距離で取得する
distance = measure_distance(1, 1, 25, 30, Universe.city, manhattan=True)
specify_loop¶
指定した空間のループ設定を取得する。
specify_loop(space)
space - 空間
# 空間Universe.cityがループする空間なら、dにTrueを代入、ループしない空間ならFalseを代入する
d = specify_loop(Universe.city)
specify_space_type¶
指定した空間の種別を取得する。
(連続空間は0、四角格子空間は1を返す)
specify_space_type(space)
space - 空間
# 空間Universe.cityが連続空間ならdに0を代入、四角格子空間なら1を代入する
d = specify_space_type(Universe.city)