球坐标:范围选择 - 最佳实践&性能

时间:2010-12-02 11:16:32

标签: performance geometry coordinates coordinate-systems

我正在编写一些处理坐标系,几何和其他类似东西的代码。 我想知道哪些是一般的,最常见/实用/有效的存储球坐标的方法,关于它们的常见计算。 是吗:

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

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

或其他什么?

(为了清楚起见,上面的坐标以弧度表示,但我通常会将它们保持在弧度以提高速度,因为数学函数通常用于弧度。)

我知道从数学方面来说,它完全不相关,但我想知道某种选择是否会导致更容易或更有效的实施。

1 个答案:

答案 0 :(得分:3)

有几点想法:

  1. 表示确实在数学上是等价的。从一个转换到另一个将分别花费几个浮点数,分别是pi / 2和pi。与球形几何算法中常见的三角,反向三角,乘法/除法和平方根计算相比,这些新增硬件的成本相形见绌。

  2. 关于球体几何学的大量算术文本是多年来为处理地球导航而开发的。该文本通常使用纬度/经度坐标系,分别为-90 .. + 90和-180 .. + 180。要使用众所周知的公式而不进行转换,您可能希望坚持使用该坐标系。