我试图找到三角表面上两点之间的距离(测地距离)。这看起来像是一个基本操作,但并不简单。所以我想知道是否有任何图书馆可以做到这一点?我的谷歌搜索失败了,所以我将非常感谢任何指点。
(我知道 CGAL、scipy.spatial,但我在文档中找不到任何内容,如果我错过了某些内容,请告诉我)
有许多计算三角形网格上的测地距离的实现。有些是近似的,有些是精确的。
1.快速行军法。该方法是近似方法,实际上平均误差低于 1%。可以参考Gabriel Peyre在matlab中实现的快速行进方法。http://www.mathworks.com/matlabcentral/fileexchange/6110-toolbox-fast-marching
MMP 方法由[1]提出并在[2]中实现。这个方法是准确的,代码在https://code.google.com/p/geodesic/。与Ante的评论相同。缺点是当网格较大时,MMP方法会消耗大量内存,O(n^2),n为顶点数。
CH方法在[3]中提出并在[4]中改进和实现。该方法比MMP方法更精确并且消耗更少的内存。代码在https://sites.google.com/site/xinshiqing/knowledge-share
文献[5]中提出了热法。一种实现是在https://github.com/dgpdec/course该方法是近似的并且需要预处理过程。它比快速行军方法更快。
[1] 约瑟夫·S·B·米切尔、大卫·M·芒特和克里斯托·H·帕帕迪米特里乌。 1987.离散测地线问题。暹罗 J. 计算机。 16, 4(1987 年 8 月),647-668。
[2] 维塔利·苏拉日斯基、塔蒂亚娜·苏拉日斯基、丹尼尔·基尔萨诺夫、史蒂文·戈特勒、休格斯·霍普。网格上的快速精确和近似测地线。 ACM 翻译。图形 (SIGGRAPH),24(3),2005。
[3] Chen, J. 和 Han, Y.1990。多面体上的最短路径。 InSCG '90:第六届计算几何年度研讨会论文集。 ACM 出版社,美国纽约州纽约市,360{369
[4] 辛世庆,王国进. 2009.改进Chen和Han关于离散测地线问题的算法。 ACM 翻译。图形。 28、4,第 104 条(2009 年 9 月),8 页。
[5] Crane K, Weischedel C, Wardetzky M. 热测地线:一种基于热流计算距离的新方法[J]. ACM 图形学报 (TOG),2013,32(5):152。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)