TRIANGULATEFACES Convert face array to an array of triangular faces.
TRI = triangulateFaces(FACES)
Returns a 3-columns array of indices, based on the data stored in the
argument FACES:
- if FACES is a N-by-3 array, returns the same array
- if FACES is a N-by-4 array, returns an array with 2*N rows and 3
columns, splitting each square into 2 triangles (uses first and
third vertex of each square as diagonal).
- if FACES is a cell array, split each face into a set of triangles,
and returns the union of all triangles. Faces are assumed to be
convex.
[TRI INDS] = triangulateFaces(FACES)
Also returns original face index of each new triangular face. INDS has
the same number of rows as TRI, and has values between 1 and the
number of rows of the original FACES array.
Example
% create a basic shape
[n e f] = createCubeOctahedron;
% draw with plain faces
figure;
drawMesh(n, f);
% draw as a triangulation
tri = triangulateFaces(f);
figure;
patch('vertices', n, 'faces', tri, 'facecolor', 'r');
See also
meshes3d, drawMesh, mergeCoplanarFaces
Package: matgeom