从具有x,y和z坐标的点生成网格

时间:2011-02-03 05:59:47

标签: algorithm geometry 3d delaunay

问题:从3D点生成网格(使用x,y和z坐标)。

enter image description here

enter image description here

我所拥有的是3D空间中的点(使用x,y和z坐标),您可以在图像1中看到它 输出的是图像2或图像3,或图像4.简而言之,它将是网格。如果我有网格,可以提供它上面的材料。

我见过很多人都说Delaunay三角剖分或受约束的Delaunay三角剖分将帮助我进行网格生成,但我发现它主要是在2D点(仅有x和Y坐标)中实现。

但我的问题是:我从图像1中可以看到3D点。

Delaunay三角测量或受约束的Delaunay三角测量是否可以与3D点一起使用?如果是,那怎么样?或者我是否必须找到另一种从3D点生成网格的算法?

注意:可以找到关于2D点的Delaunay三角剖分的一个很好的解释here

3 个答案:

答案 0 :(得分:24)

以下是网格生成及其相关工作的其他一些好的链接。

TetGen:质量四面体网格生成器http://wias-berlin.de/software/tetgen/

CGal - 计算几何算法库 http://www.cgal.org/http://www.cgal.org/Manual/latest/doc_html/cgal_manual/packages.html#Pkg:Triangulation3http://www.cgal.org/Manual/latest/doc_html/cgal_manual/contents.html#part_VI
http://www.cgal.org/Manual/latest/doc_html/cgal_manual/Surface_reconstruction_points_3/Chapter_main.html
3D表面网格生成 - http://www.cgal.org/Manual/3.3/doc_html/cgal_manual/Surface_mesher/Chapter_main.html

GTSLibrary - GNU三角表面库。 http://gts.sourceforge.net/index.html

Jonathan Shewchuk - http://www.cs.berkeley.edu/~jrs/     http://www.cs.cmu.edu/~quake/robust.html

VTK:可视化工具包(VTK)是一个开源的免费软件系统http://www.vtk.org/

体积和曲面网格划分 - http://www.cse.ohio-state.edu/~tamaldey/mesh.htm

Poly2Tri:开源CDT库http://code.google.com/p/poly2tri/

CM2Mesh工具 - http://www.computing-objects.com/index.php

自适应曲面细分 - http://fluxionsdividebyzero.com/p1/math/geometry/g046.html#_3D

CUBIT - CUBIT几何和网格生成工具包。 http://cubit.sandia.gov/index.html

几何行动 - http://www.ics.uci.edu/~eppstein/geom.html

SlimDX - SlimDX是一个免费的开源框架,使开发人员能够使用.NET技术(如C#,VB)轻松构建DirectX应用程序   http://slimdx.org/

答案 1 :(得分:17)

3D Delauny三角测量将产生(3D)体积网格。我想你想要的是一个嵌入3D的(2D)表面网格,它近似于给定的点集。

根据数据类型(噪音很小或很大,异常值等),您可以采用不同的方法。请注意,您始终可以预处理数据(例如,删除异常值,平滑数据或估算法线)。

  • 对于噪声很小且没有异常值的定向点集,您可以考虑泊松表面重建(例如, Michael Kazhdan,M。Bolitho和Hugues Hoppe。泊松表面重建。在Symp.on Geometry Processing,第61-70页,2005年。) 请注意,您可以预处理数据以满足要求,例如参见Normal estimation。这是一个实现泊松表面重建的C ++库(有很好的解释):CGAL Surface Reconstruction from Point Sets

  • 对于散点数据,请参见 Ohtake,Y .; Belyaev,A。& Seidel,H。P.采用紧凑支持的基函数进行三维散乱数据插值的多尺度方法Shape Modeling International,2003,2003,153-161 。它使用分层方法创建多个插值级别。

  • 高度非均匀或噪声分散数据的另一种方法是 Zhao,H.-K。 Osher,S。& Fedkiw,R。使用水平集方法快速表面重建计算机视觉中的变分和水平集方法,2001年。会议录。 IEEE研讨会,2001,194-201 。它使用变量方法和偏微分方程(特别是水平集方法)。

答案 2 :(得分:1)

ENIGMA - 主要开发用于解决PDE,它还具有受约束的表面和体积网格生成器。仍然不确定将来是否会将其作为开源发布。

https://www.sites.google.com/site/billyaraujo/enigma/volume-mesh-generation