Main Content

本页翻译不是最新的。点击此处可查看最新英文版本。

tetramesh

四面体网格图

说明

示例

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

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

示例

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

示例

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: [20x3 double]
    ConnectivityList: [53x4 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 列矩阵。

三维三角剖分对象,指定为 triangulationdelaunayTriangulation 对象。

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

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

名称-值参数

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

在 R2021a 之前,使用逗号分隔每个名称和值,并用引号将 Name 引起来。

示例: tetramesh(TO,'LineStyle',':')

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

面颜色,指定为以逗号分隔的对组,该对组由 'FaceColor' 和一个颜色名称、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]

面透明度,指定为以逗号分隔的对组,该对组由 'FaceAlpha' 和一个 [0,1] 范围内的标量组成。值为 1 表示不透明,值为 0 表示完全透明。介于 0 和 1 之间的值表示半透明。

边颜色,指定为以逗号分隔的对组,该对组由 'EdgeColor' 和一个颜色名称、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]

线宽,以逗号分隔的对组形式指定,该对组由 'LineWidth' 和一个正数值(以磅为单位)组成。

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

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

Sample of solid line

"--"虚线

Sample of dashed line

":"点线

Sample of dotted line

"-."点划线

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

"none"无线条无线条

版本历史记录

在 R2006a 之前推出