空間操作

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)