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

时间:2010-07-04 18:53:58

标签: math qhull

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

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

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

[1]我意识到两个纬度/经度之间的距离 “通过地球”路径)与大圆距离不同, 但很容易证明这种转变可以保持相对 距离,这对于Voronoi图来说非常重要。

2 个答案:

答案 0 :(得分:3)

我假设你找到了this article。从那时起,通过使用3D嵌入,您似乎有了正确的想法。那么你的问题是如何将结果与球体相交。

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

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

答案 1 :(得分:2)