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

标签 c# python vb.net computational-geometry mesh

<分区>

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

我看了几个已经发布的问题/答案,比如这个 one在平面多边形上,但找不到一个可以解释 3D 结果的多边形,例如本 paper 中所示的那个还有这个one关于“通过基于拉普拉斯算子的收缩的点云骨架化”,其中这个二次equation两者都回来了。

还有这个 paper 中描述的方法关于使用基于“连接环”的显着分割的 3D 网格骨架提取。

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

最佳答案

不幸的是,一般来说这样的曲线是不存在的。它只存在于非常特殊的情况下,例如,如果你的云的边界可以通过沿着曲线扫过一个球体来生成,例如,在 POVRay 中生成的这个形状(来自 this web page):
Swept Sphere
因此,您将不得不接受某种类型的近似值。

一个想法是首先以某种方式计算边界。既然你提到了网格,也许你已经有了边界。其次,找到最大的内 catch 体。第三,通过最佳拟合曲线逼近它们的中心。

正如 bo^4 所暗示的,并且您的标题承认,您确实在寻找 medial axis ,这既难以计算又通常是一个多面体表面。本质上,您希望通过一条曲线来近似中轴。

关于c# - 提取网格或点云的中心曲线(中轴或拓扑骨架)的代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10667628/

相关文章:

c# - 如何使用反射在静态类中查找私有(private)静态方法?

C# WPF 不确定进度条

Python argparse 多个元变量名称

python - 如何广播或矢量化使用 scipy.ndimage map_coordinates 的 2D 数组的线性插值?

python - 如何查看从 Select 中选择了哪些变量

asp.net - IIS 中的远程过程调用失败 Excel

c# - 将 VB.NET 字符串操作转换为 C#

.net - 我想在 Linux mono 上运行基于 Vb.Net Hello World GUI 的应用程序

c# - dll 中的二进制数据难以管理

c# - 哪种语言比另一种语言更适合处理巨大的图形,F# 还是 C#?