现代地球尺度模拟中 ECEF 与极坐标的性能考虑

Performance considerations of ECEF vs. Polar coordinates in a modern Earth scale simulation

我正在草拟一个新的模拟,其中将涉及数千艘在地球海洋上移动并长时间互动的船只。因此,很多 "intersection detection" 用于传感器和通信范围,以及针对各种环境条件的区域检测。我们假设一个球形地球,而不是 WGS84。这是一个事件步骤模拟,它吐出指标,而不是实时游戏或类似的东西。

一道题是用笛卡尔坐标(Earth-Centered, Earth-Fixed)还是Geodic/polar坐标。在极坐标下,一艘船的轨迹将在内部表示为一系列 lat/lon waypoints,其中包含时间和它们之间的大圆路径。使用笛卡尔表示,waypoints 将与它们之间的大圆的折线渲染连接。

之所以提出这个问题,是因为我怀疑通过坚持使用笛卡尔数据模型,可以使用经过性能调整的各种几何库,甚至可以提供 SIMD/GPU 性能优势。如果从头开始编写所有内容,极坐标可能是更自然的处理方式。但我怀疑通过保持笛卡尔的东西,我将有更多的机会访问更好更快的库。这是一个无效的思路吗?另一个考虑因素是,我知道极坐标计算在靠近两极时往往会变得非常复杂。

很好奇是否有经验的人可以为我节省大量时间来双向设计某些场景的原型。

将方向表示为单位向量而不是角度通常效果很好。将向量旋转另一个角度变成 2x2 或 3x3 matmul(使用 SIMD 很有效,但仍然比两个弧度数字的 FP 相加更昂贵),但你很少需要 sin/cos.

您可能偶尔希望 atan2 获得一个角度,但通常不是在紧环内。

对于给定另一个 XYZ + 范围的 XYZ 坐标,交点检测可以非常有效(使用 SIMD)。我不确定您检查哪些 lat/lon 对在给定点范围内的效率如何,这不是我看过的问题。

IDK 您会在现有图书馆中找到什么样的东西,或者您想用它做什么。