文档

本页对应的英文页面已更新,但尚未翻译。 若要查看最新内容,请点击此处访问英文页面。

delaunayn

N 维 Delaunay 三角剖分

语法

T = delaunayn(X)
T = delaunayn(X,options)

说明

T = delaunayn(X) 用于计算一组单纯形,以便没有 X 的数据点包含在单纯形的任何外接圆内。该组单纯形即构成维 Delaunay 三角剖分。X 是一个表示 N 维空间内 m 个点的 mxn 的数组。T 是一个 numtx (n+1) 数组,其中的每一行包含对应单纯形的顶点的 X 索引。

T = delaunayn(X,options) 指定选项元胞数组。默认选项为:

  • {'Qt','Qbb','Qc'}(对于二维和三维输入)

  • {'Qt','Qbb','Qc','Qx'}(对于四维和更高维的输入)

如果 options[],将使用默认选项。如果 options{''},将不使用包括默认选项在内的任何选项。

可视化

绘制 delaunayn 的输出取决于 n 的值:

  • 对于 n = 2 的情况,使用 triplottrisurftrimesh,与您在 delaunay 中的使用方法相同。

  • 对于 n = 3 的情况,使用 tetramesh

    如果要进一步控制面的颜色,可以使用 patch 绘制输出。

  • 对于 n > 3,则无法绘制 delaunayn 输出。

示例

全部折叠

以下示例生成了一个 N 维 Delaunay 三角剖分,其中 n = 3

d = [-1 1];
[x,y,z] = meshgrid(d,d,d);  % A cube
x = [x(:);0];
y = [y(:);0];
z = [z(:);0];
% [x,y,z] are corners of a cube plus the center.
X = [x(:) y(:) z(:)];
Tes = delaunayn(X)
Tes = 

     4     3     9     1
     4     9     2     1
     7     9     3     1
     7     5     9     1
     7     9     4     3
     7     8     4     9
     6     2     9     1
     6     9     5     1
     6     4     9     2
     6     4     8     9

您可以使用 tetramesh 以可视化方式呈现构成对应单纯形的四面体。camorbit 可以旋转照相机位置以提供一个有意义的图窗视图。

tetramesh(Tes,X);
camorbit(20,0)

在 R2006a 之前推出

此主题对您有帮助吗?