私は Android AR アプリ (はい、別のアプリ) を構築していますが、フレームワークを使用するよりもその背後にある数学を理解することに関心があります (これとこれを知っている)。
場所 (lat1,long1) と (lat2,long2) を指定して、Location1 から Location2 への方向ベクトル (x、y、z) を検索しています。
このサイトを使用して、Location1 と Location2 の間の距離と (初期) 方位を計算できます。
今、私は2つのアプローチを開発します(高度を無視します)
x = distHaversine(lat1,long1,lat1,long2);
z = distHaversine(lat1,long1,lat2,long1);
if (lat1 < lat2)
z *= -1;
if (long1 > long2)
x *= -1;
と
distance = distHaversine(lat1,long1,lat2,long2);
angle = 90.0-bearing(lat1,long1,lat2,long2);
x = cos(angle)*distance;
z = sin(angle)*distance;
でも今は行き詰まってイライラしています... 結果は同じではないでしょうか? 推論の誤りはどこにありますか? 方向ベクトルを計算するにはどうすればよいですか (または、2 番目のアプローチがうまくいかなかったのはなぜですか?)
ご協力いただきありがとうございます