主要内容

DelaunayTri

(不推荐)二维和三维德劳内三角剖分

不推荐使用 DelaunayTri。请改用 delaunayTriangulation

说明

DelaunayTri 基于一组点创建德劳内三角剖分对象。可以通过添加或删除点对三角剖分执行增量修改。在二维三角剖分中,您可以实行边约束。您可以执行拓扑和几何查询,然后计算沃罗诺伊图和凸包。

创建对象

描述

DT = DelaunayTri 创建一个空的德劳内三角剖分。

DT = DelaunayTri(X)DT = DelaunayTri(x,y)DT = DelaunayTri(x,y,z) 基于一组点创建德劳内三角剖分。可以将这些点指定为 mpts×ndim 矩阵 X,其中 mpts 是点数,ndim 是这些点所在空间的维度(ndim 是 2 或 3)。或者,可以指定点作为二维和三维输入的列向量 (x,y)(x,y,z)

示例

DT = DelaunayTri(___,C) 创建受约束的空德劳内三角剖分。仅二维三角剖分支持此功能。

输入参量

全部展开

要进行三角剖分的点,指定为矩阵。Xmpts×ndim 矩阵,其中 mpts 是点数,ndim 是点数所在空间的维数(ndim 是 2 或 3)。

要进行三角剖分的点,指定为单独的向量参量。分别为二维和三维输入指定列向量 (x,y)(x,y,z)

边约束,指定为矩阵。边约束 C 由一个 numc x 2 矩阵定义,numc 是约束边数。C 的每一行使用点集 X 的端点索引定义一个约束边。

属性

全部展开

顶点坐标,指定为矩阵。X 的维度为 mpts×ndim,其中 mpts 是点的数目,ndim 是点所在空间的维度。如果使用 x,yx,y,z 坐标的列向量创建三角剖分,则数据会合并到单个矩阵 X

三角剖分连接,指定为矩阵。Triangulation 是矩阵,表示组成三角剖分的一组单纯形(三角形、四面体等)。该矩阵大小为 mtri x nv,其中 mtri 是单纯形数,nv 是每个单纯形的顶点数。三角剖分由标准的单纯形-顶点形式表示;每行指定一个由 X 的索引定义的单纯形,其中 X 是点坐标的数组。

约束边,指定为矩阵。Constraints 是一个可定义三角剖分中约束边数据的 numc×2 矩阵,其中 numc 是约束边数。每个约束边使用 X 的端点索引定义。

该约束可以在创建三角剖分时指定,也可以在稍后通过直接编辑 Constraints 属性。

仅二维三角剖分支持此功能。

对象函数

除了以下对象函数之外,DelaunayTri 对象还支持使用括号 () 对三角剖分进行索引。此语法与数组语法相同。

baryToCart(不推荐)将点坐标从重心坐标转换为笛卡尔坐标
cartToBary(不推荐)将点坐标从笛卡尔坐标转换为重心坐标
circumcenters(不推荐)指定的单纯形的外心
faceNormals(不推荐)指定的三角形的单位法向量
incenters(不推荐)指定单纯形的内心
inOutStatus(不推荐)二维约束德劳内三角剖分中三角形的状态
isEdge(不推荐)测试顶点是否通过边相连接
voronoiDiagram(不推荐)德劳内三角剖分的沃罗诺伊图

示例

全部折叠

计算位于单位正方形内的 20 个随机点的维德劳内三角剖分,然后绘制三角剖分。

rng default
x = rand(20,1);
y = rand(20,1);
dt = DelaunayTri(x,y);
triplot(dt)

Figure contains an axes object. The axes object contains an object of type line.

详细信息

全部展开

提示

  • 当边界约束相交或重叠时,DelaunayTri 会产生不正确或不一致的结果。为了避免这种行为,请使用能够构成一个或多个不相交、不重叠的闭合边界的约束。

版本历史记录

在 R2009a 中推出