30.1.1 Plotting the Triangulation

Octave has the functions triplot, trimesh, and trisurf to plot the Delaunay triangulation of a 2-dimensional set of points. tetramesh will plot the triangulation of a 3-dimensional set of points.

: triplot (tri, x, y)
: triplot (tri, x, y, linespec)
: h = triplot (…)

Plot a 2-D triangular mesh.

tri is typically the output of a Delaunay triangulation over the grid of x, y. Every row of tri represents one triangle and contains three indices into [x, y] which are the vertices of the triangles in the x-y plane.

The linestyle to use for the plot can be defined with the argument linespec of the same format as the plot command.

The optional return value h is a graphics handle to the created patch object.

See also: plot, trimesh, trisurf, delaunay.

: trimesh (tri, x, y, z, c)
: trimesh (tri, x, y, z)
: trimesh (tri, x, y)
: trimesh (…, prop, val, …)
: h = trimesh (…)

Plot a 3-D triangular wireframe mesh.

In contrast to mesh, which plots a mesh using rectangles, trimesh plots the mesh using triangles.

tri is typically the output of a Delaunay triangulation over the grid of x, y. Every row of tri represents one triangle and contains three indices into [x, y] which are the vertices of the triangles in the x-y plane. z determines the height above the plane of each vertex. If no z input is given then the triangles are plotted as a 2-D figure.

The color of the trimesh is computed by linearly scaling the z values to fit the range of the current colormap. Use caxis and/or change the colormap to control the appearance.

Optionally, the color of the mesh can be specified independently of z by supplying c, which is a vector for colormap data, or a matrix with three columns for RGB data. The number of colors specified in c must either equal the number of vertices in z or the number of triangles in tri.

Any property/value pairs are passed directly to the underlying patch object. The full list of properties is documented at Patch Properties.

The optional return value h is a graphics handle to the created patch object.

See also: mesh, tetramesh, triplot, trisurf, delaunay, patch, hidden.

: trisurf (tri, x, y, z, c)
: trisurf (tri, x, y, z)
: trisurf (…, prop, val, …)
: h = trisurf (…)

Plot a 3-D triangular surface.

In contrast to surf, which plots a surface mesh using rectangles, trisurf plots the mesh using triangles.

tri is typically the output of a Delaunay triangulation over the grid of x, y. Every row of tri represents one triangle and contains three indices into [x, y] which are the vertices of the triangles in the x-y plane. z determines the height above the plane of each vertex.

The color of the trisurf is computed by linearly scaling the z values to fit the range of the current colormap. Use caxis and/or change the colormap to control the appearance.

Optionally, the color of the mesh can be specified independently of z by supplying c, which is a vector for colormap data, or a matrix with three columns for RGB data. The number of colors specified in c must either equal the number of vertices in z or the number of triangles in tri. When specifying the color at each vertex the triangle will be colored according to the color of the first vertex only (see patch documentation and the "FaceColor" property when set to "flat").

Any property/value pairs are passed directly to the underlying patch object. The full list of properties is documented at Patch Properties.

The optional return value h is a graphics handle to the created patch object.

See also: surf, triplot, trimesh, delaunay, patch, shading.

: tetramesh (T, X)
: tetramesh (T, X, C)
: tetramesh (…, property, val, …)
: h = tetramesh (…)

Display the tetrahedrons defined in the m-by-4 matrix T as 3-D patches.

T is typically the output of a Delaunay triangulation of a 3-D set of points. Every row of T contains four indices into the n-by-3 matrix X of the vertices of a tetrahedron. Every row in X represents one point in 3-D space.

The vector C specifies the color of each tetrahedron as an index into the current colormap. The default value is 1:m where m is the number of tetrahedrons; the indices are scaled to map to the full range of the colormap. If there are more tetrahedrons than colors in the colormap then the values in C are cyclically repeated.

Calling tetramesh (…, "property", "value", …) passes all property/value pairs directly to the patch function as additional arguments. The full list of properties is documented at Patch Properties.

The optional return value h is a vector of patch handles where each handle represents one tetrahedron in the order given by T. A typical use case for h is to turn the respective patch "visible" property "on" or "off".

Type demo tetramesh to see examples on using tetramesh.

See also: trimesh, delaunay, delaunayn, patch.

The difference between triplot, and trimesh or trisurf, is that the former only plots the 2-dimensional triangulation itself, whereas the second two plot the value of a function f (x, y). An example of the use of the triplot function is

rand ("state", 2)
x = rand (20, 1);
y = rand (20, 1);
tri = delaunay (x, y);
triplot (tri, x, y);

which plots the Delaunay triangulation of a set of random points in 2-dimensions. The output of the above can be seen in Figure 30.2.

triplot

Figure 30.2: Delaunay triangulation of a random set of points

© 1996–2020 John W. Eaton
Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies.
Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.
Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions.
https://octave.org/doc/v6.3.0/Plotting-the-Triangulation.html