三角形网格的测地线计算? [关闭]

2023-11-23

我试图找到三角表面上两点之间的距离(测地距离)。这看起来像是一个基本操作,但并不简单。所以我想知道是否有任何图书馆可以做到这一点?我的谷歌搜索失败了,所以我将非常感谢任何指点。

(我知道 CGAL、scipy.spatial,但我在文档中找不到任何内容,如果我错过了某些内容,请告诉我)


有许多计算三角形网格上的测地距离的实现。有些是近似的,有些是精确的。

1.快速行军法。该方法是近似方法,实际上平均误差低于 1%。可以参考Gabriel Peyre在matlab中实现的快速行进方法。http://www.mathworks.com/matlabcentral/fileexchange/6110-toolbox-fast-marching

  1. MMP 方法由[1]提出并在[2]中实现。这个方法是准确的,代码在https://code.google.com/p/geodesic/。与Ante的评论相同。缺点是当网格较大时,MMP方法会消耗大量内存,O(n^2),n为顶点数。

  2. CH方法在[3]中提出并在[4]中改进和实现。该方法比MMP方法更精确并且消耗更少的内存。代码在https://sites.google.com/site/xinshiqing/knowledge-share

  3. 文献[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(使用前将#替换为@)

三角形网格的测地线计算? [关闭] 的相关文章

  • 使用 python/scipy 进行 voronoi 和 lloyd 松弛

    如何使用 Qhull 确定哪些 voronoi 单元 按索引 是 正确的 由 现有顶点 组成 我正在尝试使用 LLoyds 算法和 scipy spatial Voronoi 它是 Qhull 的包装器 生成的输入来执行约束松弛 就代码而言
  • 如何使用 python 测量骨架长度的想法

    After applying skeletonization http scikit image org docs dev auto examples plot skeleton html on an image 我想使用 python 测
  • PIL/scipy.misc 中的 imresize 仅适用于 uint8 图像?有什么替代方案吗?

    看来imresize实施于PIL scipy misc仅适用于 uint8 图像 gt gt gt import scipy misc gt gt gt im np random rand 100 200 gt gt gt print im
  • Matlab 和 Python 中的优化算法(dog-leg trust-region)

    我正在尝试使用 Matlab 和 Python 中的狗腿信赖域算法求解一组非线性方程 在Matlab中有fsolve https www mathworks com help optim ug fsolve html其中此算法是默认算法 而
  • 如何将 python 点列表转换为 numpy 图像数组?

    我有一个 python 点列表 x y 坐标 200 245 344 248 125 34 它表示二维平面上的轮廓 我想使用一些 numpy scipy 算法进行平滑 插值等 它们通常需要 numpy 数组作为输入 例如scipy ndim
  • 拟合泊松直方图

    I am trying to fit a curve over the histogram of a Poisson distribution that looks like this 我修改了拟合函数 使其类似于泊松分布 其中参数 t 作
  • 内存错误:numpy.genfromtxt()

    我有一个 50 000x5 000 矩阵 浮点 文件 使用时x np genfromtxt readFrom dtype float 要将文件加载到内存中 我收到以下错误消息 文件 C Python27 lib site packages
  • Python 有限边界 Voronoi 单元

    我正在尝试改编我在 stackoverflow 上找到的代码来创建具有有限边界的 voronoi 单元 我发现下面的代码https stackoverflow com a 20678647 2443944 https stackoverfl
  • 如何在 R 中导入并绘制三角形网格?

    我想在 R 中绘制我的模型输出 它是格式为的三角形网格 x1 y1 z1 x2 y2 z2 x3 y3 z3 value 每行代表一个三角形 我想用以下方法绘制这些三角形value作为规模 mymesh lt structure c 0 9
  • 在 scipy.stats 中,rv_continuous 有一个 fit 方法来查找 MLE,但 rv_discrete 没有。为什么?

    我想找到一些可能受离散分布控制的数据的最大似然估计 但在 scipy stats 中 只有表示连续分布的类才具有拟合函数来执行此操作 代表离散分布的类不具有离散分布的原因是什么 简短的回答 因为据我所知 没有人为其编写代码 甚至没有人尝试过
  • 自动跟踪算法

    我正在尝试写一个simple跟踪例程来跟踪电影中的某些点 本质上我有一系列 100 帧长的电影 在黑暗背景上显示一些亮点 我每帧有大约 100 150 个点 它们在电影的过程中移动 我想跟踪它们 所以我正在寻找一些有效的 但可能不会过度实施
  • 如何为多边形创建内部螺旋?

    对于任何形状 我如何在其内部创建类似形状的螺旋 这与边界 使用 Minkowski 和 类似 尽管它会是相同形状的螺旋 而不是在形状内部创建相同的形状 我找到了这个 http www cis upenn edu cis110 13su le
  • 使用 ImageMagick 有效地将线扫描图像拼接在一起

    我正在寻找线扫描相机的替代品 用于体育计时 或者更确切地说 用于需要确定位置的部分 我发现普通工业相机可以轻松与商业相机解决方案的速度相匹配 每秒 gt 1000 帧 对于我的需求来说 通常计时的准确性并不重要 重要的是运动员的相对位置 我
  • scipy.special.binom 和 scipy.misc.comb 之间有什么区别?

    scipy special binom 和 scipy misc comb 之间有什么区别 在 ipython 中我可以看到它们返回不同的类型并且也有不同的精度 scipy special binom 4 3 4 0 scipy misc
  • scipy.interpolate.griddata:剪切 z 值并获取其中的区域

    Regarding to this analogy to scipy interpolate griddata https stackoverflow com questions 18496783 analogy to scipy inte
  • 光照不适用于 gluSphere

    这是一个简单的问题 我有点羞于寻求帮助 我正在对 gluSphere 进行简单调用来渲染球体 但是 即使我很确定我正确添加了法线和照明 它也无法正确照亮 但是 如果我添加纹理 模型会正常点亮 但它似乎总是平滑的 并且我无法将其更改为平面 这
  • 忽略稀疏矩阵中的重复条目

    我尝试过初始化csc matrix and csr matrix从列表中 data rows cols 值如文档所示 sparse csc matrix data rows cols shape n n 问题是 我实际上拥有的生成方法dat
  • opencv - 在图像中绘制轮廓

    我正在尝试在图像周围绘制轮廓 我可以看到找到了轮廓 但无法绘制轮廓 轮廓的颜色似乎是两种 黑色和白色 颜色中的一种 import cv2 import numpy as np import matplotlib pyplot as plt
  • 如何使用SIFT算法计算两幅图像的相似度?

    我已经用过SIFT http en wikipedia org wiki Scale invariant feature transform实施安德里亚 维达尔迪 http www vlfeat org overview sift html
  • scipysolve_ivp() 中的访问时间步长

    我有一个常微分方程系统 正在使用 scipy 的solve ivp 函数求解 它运行良好 但我在访问每个步骤中使用的时间步时遇到问题 我知道solve ivp 将当前时间传递给用户定义的函数 但我需要使用的时间步长 而不是当前时间 为了解决

随机推荐

  • 在java中读取Excel工作表时出现NoSuchFieldError

    我遵循了使用 Apache POI XSSF 构建工作簿的简单指南 按照相同的指南 我能够编写 Excel 工作表 但是当尝试读取 Excel 工作表时 我收到代码后显示的错误 Code try FileInputStream file n
  • 反序列化集合时未调用 Setter

    我正在尝试使用 XmlSerializer 进行非常简单的序列化 public struct XmlPerson XmlAttribute public string Id get set XmlAttribute public strin
  • 使用 LINQ to SQL 存储图像:将字节数组或流转换为二进制

    我正在使用 LINQ to SQL 我的图像字段被视为二进制 当我需要渲染图像时 将 Binary 类型转换为 byte 您可以使用 Binary 对象的 ToArray 方法 并不是什么大问题 但是有人可以告诉我如何将 byte 或将对象
  • 为 PerSession WCF 服务调用两次静态构造函数

    无法理解为什么类型构造函数PerSession WCF 服务调用了两次 ConcurrencyMode is Multiple 只需启动五个同时执行相同 WCF 服务方法调用的客户端 在日志中我看到static构造函数被调用两次 第一次 3
  • 使用(自定义)GCC 4.x 或 5.x 时,Boost 构建无法通过 C++11 功能检查

    我需要在 Fedora 24 机器上构建 Boost 1 62 和 1 63 但使用 GCC 4 9 3 或 GCC 5 4 0 取决于 CUDA 版本 这就是我需要旧编译器的原因 但是如果我按照中所述设置自定义 GCC 版本这个答案 an
  • 如何在Tensorflow 2.0中使用gradient_override_map?

    我正在尝试使用gradient override map与张量流2 0 有一个文档中的示例 我也将在这里用作示例 In 2 0 GradientTape可用于计算梯度 如下所示 import tensorflow as tf print t
  • 在 SDK 工具修订版 12 中启动 Android 模拟器

    我将 Android SDK 工具从修订版 11 更新到修订版 12 模拟器现在无法启动 当我尝试运行 emulator exe 时 我得到 无效的命令行参数 Files Android android sdk tools emulator
  • 为什么音频和视频事件不冒泡?

    我想知道为什么我的一些 Javascript 无法工作 直到我发现音频事件没有在 DOM 树中冒泡 例如这timeupdate event 是否有理由不让音频和视频标签的事件冒泡 事件冒泡存在的原因是为了解决哪个元素是事件的预期目标这一含糊
  • 序言。结构(复杂术语)和谓词,我真的不明白区别

    我是序言新手 我似乎无法理解结构和谓词之间的区别 真的有什么区别吗 在四处挖掘时 我发现有些人认为f X a X 是一个谓词 有些人认为嫉妒 X Y 爱 X Z 爱 Y Z 是一个结构 或一个复杂的术语 他们对我来说看起来几乎一样 有人愿意
  • Android 上使用 SoundPool 实现无缝循环?

    我尝试使用 SoundPool 类循环短 20kb 无间隙 ogg 文件 但在硬件测试时无法获得一致的结果 它总是使用模拟器完美播放 但当我在 Nexus 1 或 Samsumg Galaxy Tab 10 1 上进行测试时 每个循环点都会
  • 手动生成条令段

    我在 Symfony2 项目中使用 slugable 行为 但现在我想根据不同的文本 当前标题 旧标题 表单输入中的用户文本 为一个页面制作许多 slugs 并将其保留在另一个页面中桌子 我的问题是 如何手动使用任何文本的学说扩展 我到处都
  • 大数据读取子样本R

    我非常感谢您花时间阅读本文 我有一个 30GB 的超级文件 其中包含 600 万条记录和 3000 个 csv 格式的列 主要是分类数据 我想引导子样本进行多项回归 但事实证明 即使我的机器中有 64GB RAM 和两倍的交换文件 这个过程
  • 在 XHTML 1.1 中:元素“input”不能嵌套在元素“form”内。为什么?

    下面的代码在 XHTML 1 1 严格模式下是被禁止的
  • python 中仅按第一个空格分割字符串[重复]

    这个问题在这里已经有答案了 我有字符串例如 238 NEO Sports 我只想在first空间 输出应该是 238 NEO Sports 我能想到的一种方法是使用split 最后合并返回的最后两个字符串 有没有更好的办法 只需将计数作为第
  • 如何从java执行https GET请求

    我写了一个Java客户端 它执行httpGET 请求没有任何问题 现在我想修改这个客户端以便执行https获取请求 import org apache http HttpHost import org apache http auth Au
  • Angular 6 复选框过滤器

    我想使用复选框通过变量 类别 过滤 JSON 对象 产品 列表 产品如下 bikeId 6 bikeName Kids blue bike bikeCode KB 3075 releaseDate June 28 2016 descript
  • Fortran - 在运行时设置变量的种类/精度

    是否可以将变量本身的精度设置为将在运行时定义的变量 假设我尝试编译 SUBROUTINE FOO VARIABLE PRECISION VALUE IMPLICIT NONE INTEGER 4 PRECISION VALUE INTEGE
  • IIS 返回 404 未找到 .mp4 文件

    我使用 html video 标签来播放视频 在我的本地主机中视频播放 但是当我发布 没玩过 我已经创建了基于ASP NET的项目 我在本地使用类似这种方法 http localhost 41563 files Just mp4 当我发布网
  • 如何精确测量绳子的宽度?

    首先 问一个问题How to measure width of character precisely 这是回答 对于这种情况并没有真正的帮助 所以这不是那个的重复 我有一根绳子 我画画使用graphics DrawString 但是当我需
  • 三角形网格的测地线计算? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我试图找到三角表面上两点之间的距离 测地距离 这看起来像是一个基本操作 但并不简单 所以我想知道是否有任何图书馆可以做到这一点 我的谷歌搜索失败了