【问题标题】:Spherical coordinates: range choice - best practices & performance球坐标:范围选择 - 最佳实践和性能
【发布时间】:2010-12-02 11:16:32
【问题描述】:

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

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

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

还是别的什么?

(为清楚起见,上述坐标以弧度表示,但我通常会将它们保持为弧度以提高速度,因为数学函数通常是针对弧度实现的。)

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

【问题讨论】:

  • “常用计算”是什么意思?你的意思是“找出这两个点之间的距离”或“在屏幕上绘制这些点”或“找到这个点的最近邻居”......?

标签: performance geometry coordinates coordinate-systems


【解决方案1】:

一些想法:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-08-03
    • 2017-07-26
    • 2020-06-23
    • 1970-01-01
    • 2012-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多