三角測量


1. 原理

    三角形で一辺とその両端の角度が求まると、3番目の点が求まる。
        基線ABと角A, B, Cから辺BC, ACの長さa, bは、正弦定理
            a/sinA = b/sinB = c/sinC
        から求まる(左図)。

    精密に測定された基線から三角形の網を次々と広げて測量する。

      

2. 複数のフラグに対する視覚情報から自分(player)の位置の計算:

    2.1    2つのフラグをFi, Fj とする(右図)。
            フラグの位置は既知で、各々を (xi, yi), (xj, yj) とする。
            また、see情報の (Distance, Direction) を (ri, di), (rj, dj) をする。
    2.2    フラグ Fi, Fj 間の距離 r0 は(xi, yi), (xj, yj) から、
            playerからのフラグの視野角 Cは di −dj から求まる。
    2.3   正弦定理より、角度 B を求める。
                sin B = ri * sin C/r0, sin A = rj * sin C/r0
            arcsinは -Pi/2 から Pi/2 で定義される、従って 鈍角の時を考え3つの角度の和が 180度にならない時、
                ri > rj の時、 B = arcsin( ri * sin C/r0),
                rj > ri の時、 B = Pi/2 - arcsin( ri * sin C/r0).
 
    2.4    Fj を中心に、ベクトルFjFi を B だけ回転し、長さを rj / r0 倍する。
                player の位置 = Fj + FjFi * exp( i*B ) * rj / r0.