相手との方位角を求めるには?
自分の位置
x座標 : x0
y座標 : y0
自分が向いている角度 : α (単位は、ラジアン)
相手の位置
x座標 : x1
y座標 : y1
とする。
自分の位置から相手の位置までの位置ベクトル
a = (x1 - x0, y1 - y0)
自分の単位方向ベクトル
b = (cos(α), sin(α))
二つのベクトルa, bの内積は、
a・b = |a||b|cos(θ) ここで、θは求めたい二つのベクトル間の角度(単位は、ラジアン)
これをcos(θ)について解くと、
cos(θ) = (a・b) / |a||b|
ここで、cos(θ)の逆余弦をとることで、自分との方位角θが判明する。