【发布时间】:2012-07-24 23:55:20
【问题描述】:
我正在寻找 matlab 中的约束三角剖分代码,类似于 Shewchuk 的 triangle 软件。 matlab的delaunay主要缺少的是约束,比如对网格最小角度的约束等。
我听说有一个使用 mex 将 Shewchuk 的代码移植到 matlab 的端口,但我找不到。
【问题讨论】:
标签: matlab triangulation
我正在寻找 matlab 中的约束三角剖分代码,类似于 Shewchuk 的 triangle 软件。 matlab的delaunay主要缺少的是约束,比如对网格最小角度的约束等。
我听说有一个使用 mex 将 Shewchuk 的代码移植到 matlab 的端口,但我找不到。
【问题讨论】:
标签: matlab triangulation
这是为 MATLAB 编写的 GUI,它使用对 Shewchuk 的 Triangle.c 的外部调用:
http://marineemlab.ucsd.edu/~kkey/software/triangle/index.php
也许你可以使用它。
【讨论】:
我推荐 Matlab 的 DelaunayTri(...,C) 其中 C 是 numEdge x 2 矩阵中的约束边。边用 2 个索引指定到三角测量点的集合中。
输出是具有 DelaunayTri 类的对象。
http://www.mathworks.com.au/help/techdoc/ref/delaunaytri.html
要过滤掉约束内部或外部的三角形,请使用 "inOutStatus()"
例如
dt = DelaunayTri(double(Points), double(Constraints));
outside = ~ dt.inOutStatus();
%filter using TriRep to create a new set of triangles, "tr"
tr = TriRep(dt(outside, :), dt.X);
【讨论】: