2010-12-02 9 views
0

私は、座標系、幾何学や他の同様のものを扱ういくつかのコードを書いています。 一般的に球座標を保存するための最も一般的な/実用的/効率的な方法はどれですか?球の座標:範囲の選択 - ベストプラクティスとパフォーマンス

theta - [0, 180) 
phi - [0, 360) 

または

theta - [-90, 90) 
phi - [-180, 180) 

または他の何か: はそれですか?

(数学関数は、通常、ラジアンのために実装されているので、上記座標は、明確にするためにラジアンで表現され、私は、通常速度を向上させるためにラジアンでそれらを保つことになる。)

私が知っている数学的な側面から、それを完全に無関係ですが、特定の選択がより簡単で効率的な実装になるかどうかは疑問です。

+0

「共通の計算」とはどういう意味ですか? 「これらの2点間の距離を見つける」、「画面上にこれらの点を描く」、「この点の最近傍点を見つける」などのことを意味しますか? – Xodarap

答えて

3

思考のカップル:

  1. 表現は確かに数学的に等価です。あるものから別のものへの変換には、それぞれpi/2とpiによる2つの浮動小数点加算が必要です。一般的なハードウェアでのこれらの加算のコストは、球体ジオメトリの計算で一般的な三角法、逆三角法、乗算/除算、および平方根計算のコストと比較して低くなります。

  2. 地球上でのナビゲーションを扱うために長年に渡って開発された球体ジオメトリに関する算術テキストの大きな本体があります。このテキストは、-90〜+ 90、-180〜+ 180の緯度/経度座標系を使用することがよくあります。変換なしでよく知られている数式を使用するには、その座標系を使用することができます。