【问题标题】:Delaunay triangulation using MeshPy使用 MeshPy 进行 Delaunay 三角剖分
【发布时间】:2019-10-05 03:57:57
【问题描述】:

到目前为止,我一直在使用 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 中做到这一点?

【问题讨论】:

    标签: python mesh delaunay


    【解决方案1】:

    如果您对三角形网格的质量不满意,也许optimesh(我的一个项目)值得一看。安装

    pip install optimesh
    

    并像在命令行中使用它

    optimesh in.vtk out.e
    

    您也可以在 Python 中使用它。

    【讨论】:

    • 谢谢。这看起来不错。我无法从网站上得知,optimesh 生成其网格所需的输入究竟是什么?积分够吗?或者我们可以只给出一个由参数方程定义的几何区域(比如一个圆盘)吗?
    • @ap21 这是一个网格优化器,所以你需要一个网格,即点和单元格。
    • 谢谢。我看到meshzoo 是您的另一个项目,用于为简单表面生成网格。很有用!
    猜你喜欢
    • 2015-02-21
    • 2011-07-15
    • 2015-01-07
    • 2017-06-18
    • 1970-01-01
    • 2019-04-18
    • 2015-08-03
    • 2013-10-20
    • 2021-05-14
    相关资源
    最近更新 更多