到目前为止,我一直在使用scipy.spatial.Delaunay()
进行点集的Delaunay三角剖分。但是,这通常会导致创建瘦三角形,而我试图避免这种情况。有人告诉我here,MeshPy
为Shewchuk的Triangle
提供了一个包装器,从而可以构建高质量的可调整网格。
但是,仅给定节点,我无法找到使用Meshpy
创建Delaunay三角剖分的任何示例代码。 MeshPy
站点在3d中给出了此基本示例:
from meshpy.tet import MeshInfo, build
mesh_info = MeshInfo()
mesh_info.set_points([
(0,0,0), (2,0,0), (2,2,0), (0,2,0),
(0,0,12), (2,0,12), (2,2,12), (0,2,12),
])
mesh_info.set_facets([
[0,1,2,3],
[4,5,6,7],
[0,4,5,1],
[1,5,6,2],
[2,6,7,3],
[3,7,4,0],
])
mesh = build(mesh_info)
但是,手工提供刻面(或三角形)正是我不想做的。
注意:
Triangle
(http://www.cs.cmu.edu/~quake/triangle.delaunay.html)网站显示了一些Delaunay三角剖分的快速代码。但是我将如何在MeshPy
中执行此操作? 最佳答案
如果您对三角网格的质量不满意,也许optimesh(我的项目)值得一看。用安装
pip install optimesh --user
并在命令行上像
optimesh in.vtk out.e
您也可以在Python中使用它。