polygon3d.Rd
This function takes a description of a flat polygon in x, y and z coordinates, and draws it in three dimensions.
polygon3d(x, y = NULL, z = NULL, fill = TRUE, plot = TRUE,
coords, random = TRUE, ...)
Vertices of the polygon in a form accepted by xyz.coords
.
logical; should the polygon be filled?
logical; should the polygon be displayed?
Which two coordinates (x = 1
, y = 2
, z = 3
) describe the
polygon. If missing, triangulate
makes
an automatic choice.
Currently ignored. The triangulation is deterministic.
Other parameters to pass to lines3d
or shade3d
if plot = TRUE
.
The function triangulates the two dimensional polygon described by coords
, then
applies the triangulation to all three coordinates. No check is made that the polygon
is actually all in one plane, but the results may be somewhat unpredictable
(especially if random = TRUE
) if it is not.
Polygons need not be simple; use NA
to indicate separate closed pieces. For
fill = FALSE
there are no other restrictions on the pieces, but for
fill = TRUE
the resulting two-dimensional polygon needs to be one that
triangulate
can handle.
If plot = TRUE
, the id number of the lines (for fill = FALSE
) or triangles
(for fill = TRUE
) that have been plotted.
If plot = FALSE
, then for fill = FALSE
, a vector of indices into
the XYZ matrix that could be used to draw the polygon. For fill = TRUE
,
a triangular mesh object representing the triangulation.
extrude3d
for a solid extrusion of a polygon, triangulate
for
the triangulation.