1

ねえ、私は以下のようなサークルを持っています。円には、A(緯度 1、経度 1) と B (緯度 2、経度 2) の 2 つの点があります。および 2 つの (緯度、経度) ペア。そのうちの 1 つは (Say A) が円の中心点です。ここで、角度を計算して円 (B) に別の点を置きたいと思います。Androidキャンバスでこれを行うにはどうすればよいですか? 現在、角度を取得するために、次の関数を使用しています。

public double getAngle(double lat1, double lon1, double lat2, double lon2)
{
    double dx = lat2 - lat1;
    // Minus to correct for coord re-mapping
    double dy =  Math.cos(Math.PI/180*lat1)*(lon2 - lon1);

    double inRads = Math.atan2(dy,dx);

    if (inRads < 0)
        inRads = Math.abs(inRads);
    else
        inRads = 2*Math.PI - inRads;

    return inRads;
}

上記の関数は角度を取得するのに正しいですか? はいの場合、キャンバスにそのポイントを表示するにはどうすればよいですか?

4

1 に答える 1

-1

それMath.cos()はひどく疑わしい。なぜdy単純ではないのですlon2 - lon1か?inRads を取得したら、なぜそれをいじるのですか? Math.atan2()-Pi と +Pi の間の正しい角度を返します。

于 2012-07-22T21:22:43.433 に答える