主要内容

tetramesh

R2026b

四面体网格图

描述

tetramesh(T,X) 绘制由四面体连接矩阵 T 和点 X 定义的三维四面体网格。

T 是一个 m×4 矩阵,它指定 m 个四面体的顶点。X 是一个 n×3 矩阵,它指定 n 各点的笛卡尔坐标。T 的每行都包含 X 的索引,这些索引指定一个四面体的 4 个顶点。

示例

tetramesh(TR) 绘制由三维 triangulation 或 delaunayTriangulation 对象定义的四面体网格。

示例

tetramesh(___,c) 还使用颜色图索引向量来指定每个四面体的面颜色。

示例

tetramesh(___,Name=Value) 使用名称-值参量指定网格图的一个或多个属性。例如,LineWidth=2 将边宽度设置为 2 磅。

示例

h = tetramesh(___) 返回四面体句柄向量。h 的每个句柄均为一个 patch 对象,用于创建每个四面体的网格图。使用 h(i) 查询和修改每个四面体的绘图属性。有关详细信息,请参阅Patch 属性。

示例

全部折叠

创建 8 个点,它们表示笛卡尔坐标中一个立方体的各个角。

d = [-1 1];
[x,y,z] = meshgrid(d);
X = [x(:) y(:) z(:)]
X = 8×3

    -1    -1    -1
    -1     1    -1
     1    -1    -1
     1     1    -1
    -1    -1     1
    -1     1     1
     1    -1     1
     1     1     1

指定一个四面体连接矩阵,其中每行都包含 X 的索引,这些索引指定一个四面体的 4 个顶点。例如,第一行描述一个四面体,其顶点由第一个、第三个、第四个和第七个点组成。

T = [1 3 4 7;
     4 6 7 8;
     1 5 6 7;
     1 2 4 6;
     1 4 6 7]
T = 5×4

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

使用 tetramesh 绘制构成该立方体的 5 个四面体。

tetramesh(T,X);
view(-40,20)

Figure contains an axes object. The axes object contains 5 objects of type patch.

要深入查看该立方体,请用更透明的面再次对其绘图。

tetramesh(T,X,FaceAlpha=0.1);
view(-40,20)

Figure contains an axes object. The axes object contains 5 objects of type patch.

为 20 个随机点创建三维 delaunayTriangulation 对象。

rng("default");
x = rand([20 1]);
y = rand([20 1]);
z = rand([20 1]);
DT = delaunayTriangulation(x,y,z)
DT = 
  delaunayTriangulation with properties:

              Points: [20×3 double]
    ConnectivityList: [53×4 double]
         Constraints: []

绘制四面体网格。

tetramesh(DT)

Figure contains an axes object. The axes object contains 53 objects of type patch.

更改四面体的颜色。用新颜色和更透明的面重新绘制它。

tetramesh(DT,106:-2:1,FaceAlpha=0.1)

Figure contains an axes object. The axes object contains 53 objects of type patch.

输入参数

全部折叠

四面体连接,指定为一个 4 列矩阵。T 的每行都包含 X 的索引,这些索引指定一个四面体的 4 个顶点。

点的坐标,指定为一个 3 列矩阵。

三维三角剖分对象,指定为 triangulation 或 delaunayTriangulation 对象。

面颜色,指定为一个颜色图索引向量,其大小与四面体的数量相同。四面体颜色通过向量 c 进行定义,该向量用作当前颜色图的索引。

要自定义颜色方案,请使用 colormap 函数。如果要对曲面着色进行更多控制,请使用 'EdgeColor' 和 'FaceColor' 名称-值参量。

名称-值参数

全部折叠

将可选参量对组指定为 Name1=Value1,...,NameN=ValueN,其中 Name 是参量名称,Value 是对应的值。名称-值参量必须出现在其他参量之后,但对各个参量对组的顺序没有要求。

示例: tetramesh(TO,LineStyle=":")

此处所列的属性只是一部分。有关完整列表,请参阅 Patch 属性。

面颜色,指定为颜色名称、RGB 三元组或 "none"。

RGB 三元组是包含三个元素的行向量,其元素分别指定颜色中红、绿、蓝分量的强度。强度值必须位于 [0,1] 范围内,例如 [0.4 0.6 0.7]。下表列出长和短颜色名称选项以及对应的 RGB 三元组值。

长名称短名称RGB 三元组
"yellow""y"[1 1 0]
"magenta""m"[1 0 1]
"cyan""c"[0 1 1]
"red""r"[1 0 0]
"green""g"[0 1 0]
"blue""b"[0 0 1]
"white""w"[1 1 1]
"black""k"[0 0 0]

面透明度,指定为 [0,1] 范围中的标量。值为 1 表示不透明,值为 0 表示完全透明。介于 0 和 1 之间的值表示半透明。

边颜色,指定为颜色名称、RGB 三元组或 "none"。默认颜色 [0 0 0] 对应于黑色边界。

RGB 三元组是包含三个元素的行向量,其元素分别指定颜色中红、绿、蓝分量的强度。强度值必须位于 [0,1] 范围内,例如 [0.4 0.6 0.7]。下表列出长和短颜色名称选项以及对应的 RGB 三元组值。

长名称短名称RGB 三元组
"yellow""y"[1 1 0]
"magenta""m"[1 0 1]
"cyan""c"[0 1 1]
"red""r"[1 0 0]
"green""g"[0 1 0]
"blue""b"[0 0 1]
"white""w"[1 1 1]
"black""k"[0 0 0]

线宽,指定为以磅为单位的正数值。

线型,指定为下表中列出的选项之一。

线型描述表示的线条
"-"实线

Sample of solid line

"--"虚线

Sample of dashed line

":"点线

Sample of dotted line

"-."点划线

Sample of dash-dotted line, with alternating dashes and dots

"none"无线条无线条

版本历史记录

在 R2006a 之前推出