math - 使用自定义(大圆)距离的 Voronoi 图

标签 math voronoi qhull

我想在几对上创建一个 Voronoi 图
纬度/经度,但想使用大圆距离
它们之间,而不是(不准确的)毕达哥拉斯距离。

我可以让 qhull/qvoronoi 或其他一些 Linux 程序做到这一点吗?

我考虑将点映射到 3D,让 qvoronoi 创建一个 3D
Voronoi 图[1],并将结果与​​单位球面相交,但
我不确定这很容易。

[1] 我实现了两个纬度/经度之间的 3D 距离(
“穿过地球”路径)与大圆距离不同,
但很容易证明这种转换保留了相对
距离,这对 Voronoi 图来说很重要。

最佳答案

我假设您已经找到 this article .由此看来,您使用 3D 嵌入的想法是正确的。你的问题是如何将结果与球体相交。

首先,您需要考虑如何表示 voronoi 图。如果您想在 2D 平面中使用经纬度坐标,那么您的 voronoi 图将包含弯曲的边缘,因此最好仅使用 3D 表示。

如果你使用像 qvoronoi 这样的程序,理论上你应该只需要无限超平面数据(由 Fo 生成)。这为您提供了平面的方程及其对应的两个点。通常你只需要使用 voronoi 图来测试区域内的包含,超平面应该足够了。

关于math - 使用自定义(大圆)距离的 Voronoi 图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3175821/

相关文章:

visual-studio-2012 - 在c++中集成qhull的qdelaunay和qvoronoi函数

algorithm - 为密码破解者提取列表子集的组合算法

math - 以下大 O 表示法彼此等价吗?

d3.js - D3 沿路径段过渡并在坐标值处暂停

python - Scipy voronoi 算法中的 -1 意味着什么?

python - 来自 SciPy 的带有 QHull 的凸包体积

fortran - 如何将(r,球形谐波)空间中表示的数据内插到常规笛卡尔网格(F90)?

求一个数的对数的算法

python - Numpy,长数组的问题

c++ - 如何轻松地用CGAL在球体上构造Voronoi图?