section2trans | R Documentation |
In general, the 2-transition surface may be highly non-convex, possibly with self-intersections. The intersection of a plane and the 2-transition surface is a union of polygons, possibly with self-intersections and intersecting each other. This function computes one of those polygons. If there are other polygons, it issues a warning and does not try to compute them.
section2trans( x, normal, beta, invert=FALSE, plot=FALSE, tol=1.e-12, ... )
x |
a zonohedron object as returned by the constructor |
normal |
a non-zero numeric 3-vector - the normal of all the planes |
beta |
a numeric M-vector of plane constants.
The equation of the k'th plane k is: |
invert |
if |
plot |
if |
tol |
a small positive number, used as the tolerance for the plane intersecting the interior of each parallelogram, see Details. |
... |
not used |
The function is designed for the situation when the intersection of a plane and the surface is a single polygon.
Given a plane, the function finds all the parallelograms of the surface whose interiors intersect the plane. Each intersection is a line segment. For each parallelogram it associates one of the endpoints of the segment. The parallelograms are put in polygon order by picking an arbitrary one as the starting point, and then "marching" from one to the next using the canonical parallelogram adjacency relation. After returning to the starting point, if there are other parallelograms remaining, it means that there are other polygons in the section and a warning is issued.
section2trans()
returns a list of length M
(=length(beta)
),
and the i'th item in the list is a data frame with these columns:
point |
a Px3 matrix with the P points of the i'th polygon in the rows.
If the plane does not intersect the 2-transition surface, then P=0
and the matrix has 0 rows.
The row names of |
gndpair |
the 2 indexes from the ground set that generates the parallelogram
containing |
And if invert
is TRUE
, then this column is added:
pcube |
a point in the unit cube that maps to |
The names of the returned list are readable strings that contain
normal
and beta[i]
.
In case of error, the function returns NULL
.
The package rgl is required for 3D plotting.
zonohedron()
,
plot.zonohedron()
,
section.zonohedron()
,
raytrace2trans()
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.