C# 提取网格或点云的中心曲线(中轴或拓扑骨架)的代码?

C# 提取网格或点云的中心曲线(中轴或拓扑骨架)的代码?,c#,python,vb.net,computational-geometry,mesh,C#,Python,Vb.net,Computational Geometry,Mesh,您是否知道提取网格或点云中心曲线的现有代码? 网格的中心曲线与网格的中心曲线等距 我看了一些已经贴在平面多边形上的问题/答案,但找不到一个可以解释3D结果的问题/答案,比如“通过基于拉普拉斯收缩的点云骨架化”中的问题/答案,在这两个问题/答案中,这个二次曲线都回来了 本文还介绍了使用基于“连接环”的突出分割来提取三维网格骨架的方法 到目前为止,我最接近于让它工作的是ImageJ插件,但我还不能让它在.obj网格上工作。不幸的是,一般来说,这样的曲线并不存在。它仅在非常特殊的情况下存在,例如,如果

您是否知道提取网格或点云中心曲线的现有代码? 网格的中心曲线与网格的中心曲线等距

我看了一些已经贴在平面多边形上的问题/答案,但找不到一个可以解释3D结果的问题/答案,比如“通过基于拉普拉斯收缩的点云骨架化”中的问题/答案,在这两个问题/答案中,这个二次曲线都回来了

本文还介绍了使用基于“连接环”的突出分割来提取三维网格骨架的方法


到目前为止,我最接近于让它工作的是ImageJ插件,但我还不能让它在.obj网格上工作。

不幸的是,一般来说,这样的曲线并不存在。它仅在非常特殊的情况下存在,例如,如果可以通过沿曲线扫掠球体来生成云的边界,例如,在POVRay中生成的此形状(从):

所以你必须接受某种近似

一个想法是首先,以某种方式计算边界。既然你提到了网格,也许你已经有了边界。第二,求最大内接球。第三,用最佳拟合曲线近似它们的中心


正如bo^4所建议的,你的标题也承认,你真的在寻找一个既难以计算又通常是多片曲面的曲面。基本上,你想用一条曲线来近似中轴线。

这就是你想要的吗?-“除了曲面,下面的Tight Cocone还可以计算对象的近似中轴或垫。”谢谢@Bobo,但它仅在我需要曲线时提供a作为输出。你想将3D中的点云减少为单个曲线,对吗?您希望曲线满足哪些特性?没有一条这样独特的曲线,所以我认为你需要更详细地说明你想要的是什么。谢谢@JosephO'Rourke,这是正确的。我要寻找的曲线是网格的中心曲线,它与边界等距。这有用吗?我更新了问题,使之更加具体。