Octave 提供了 triplot、trimesh 和 trisurf 函数来绘制二维点集的 Delaunay 三角剖分。tetramesh 函数将绘制三维点集的三角剖分。
(tri, x, y) ¶(tri, x, y, linespec) ¶h = triplot (…) ¶绘制二维三角形网格。
tri 通常是在 x、y 网格上执行 Delaunay 三角剖分的输出。tri 的每一行代表一个三角形,包含三个索引指向 [x, y] 中的顶点,这些顶点位于 x-y 平面上。
绘图使用的线条样式可以通过 linespec 参数定义,其格式与 plot 命令相同。
可选返回值 h 是所创建的 patch 对象的图形句柄。
(tri, x, y, z, c) ¶(tri, x, y, z) ¶(tri, x, y) ¶(…, prop, val, …) ¶h = trimesh (…) ¶绘制三维三角形线框网格。
与使用矩形绘制网格的 mesh 函数不同,trimesh 使用三角形来绘制网格。
tri 通常是在 x、y 网格上执行 Delaunay 三角剖分的输出。tri 的每一行代表一个三角形,包含三个索引指向 [x, y] 中的顶点,这些顶点位于 x-y 平面上。z 决定了每个顶点在平面上方的高度。如果未提供 z 参数,则将三角形绘制为二维图形。
trimesh 的颜色是通过线性缩放 z 值以适应当前颜色图的范围来计算的。使用 clim 和/或更改颜色图来控制外观。
(可选)网格的颜色可以独立于 z,通过提供 c 参数来指定。c 可以是颜色图数据的向量,也可以是包含三列 RGB 数据的矩阵。c 中指定的颜色数量必须等于 z 中的顶点数或 tri 中的三角形数。
任何属性/值对都将直接传递给底层的 patch 对象。完整的属性列表请参阅 Patch Properties。
可选返回值 h 是所创建的 patch 对象的图形句柄。
另请参阅: mesh, tetramesh, triplot, trisurf, delaunay, patch, hidden.
(tri, x, y, z, c) ¶(tri, x, y, z) ¶(…, prop, val, …) ¶h = trisurf (…) ¶绘制三维三角形曲面。
与使用矩形绘制曲面网格的 surf 函数不同,trisurf 使用三角形来绘制网格。
tri 通常是在 x、y 网格上执行 Delaunay 三角剖分的输出。tri 的每一行代表一个三角形,包含三个索引指向 [x, y] 中 x-y 平面上三角形的顶点。z 决定了每个顶点在平面上方的高度。
三角曲面的颜色是通过线性缩放 z 值以适应当前颜色图的范围来计算的。使用 clim 和/或更改颜色图来控制外观。
(可选)网格的颜色可以独立于 z,通过提供 c 参数来指定。c 可以是颜色图数据的向量,也可以是包含三列 RGB 数据的矩阵。c 中指定的颜色数量必须等于 z 中的顶点数或 tri 中的三角形数。当指定每个顶点的颜色时,三角形仅根据第一个顶点的颜色进行着色(另请参阅 patch 文档以及将 "FaceColor" 属性设置为 "flat" 时的相关说明)。
任何属性/值对都将直接传递给底层的 patch 对象。完整的属性列表请参阅 Patch Properties。
可选返回值 h 是所创建的 patch 对象的图形句柄。
(T, X) ¶(T, X, C) ¶(…, property, val, …) ¶h = tetramesh (…) ¶将 m×4 矩阵 T 中定义的四面体显示为三维 patch。
T 通常是三维点集的 Delaunay 三角剖分的输出。T 的每一行包含四个索引,指向 n×3 矩阵 X 中四面体的四个顶点。X 中的每一行表示三维空间中的一个点。
向量 C 指定每个四面体的颜色,作为当前颜色图的索引。默认值为 1:m,其中 m 是四面体的数量;这些索引会被缩放以映射到颜色图的整个范围。如果四面体的数量多于颜色图中的颜色数量,则 C 中的值将循环重复。
调用 tetramesh (…, "property", "value", …) 会将所有属性/值对作为附加参数直接传递给 patch 函数。完整的属性列表请参阅 Patch Properties。
可选返回值 h 是一个 patch 句柄的向量,其中每个句柄按照 T 给出的顺序表示一个四面体。h 的典型用途是将相应 patch 的 "visible" 属性设置为 "on" 或 "off"。
键入 demo tetramesh 可查看有关使用 tetramesh 的示例。
triplot 与 trimesh 或 trisurf 之间的区别在于,前者仅绘制二维三角剖分本身,而后者绘制的是函数 f (x, y) 的值。triplot 函数的使用示例如下:
rand ("state", 2)
x = rand (20, 1);
y = rand (20, 1);
tri = delaunay (x, y);
triplot (tri, x, y);
上述代码绘制了一组二维随机点的 Delaunay 三角剖分。输出结果如图 图 30.2 所示。
图 30.2:随机点集的 Delaunay 三角剖分
版权所有 © 2024-2026 Octave中文网
ICP备案/许可证号:黑ICP备2024030411号-2