The boundary of a zonohedron is the union of parallelograms, where some of them may be facets, and some may be tiles in the standard tiling of more complex facets. The edges of each parallelogram are given by a pair of distinct simplified generators. If a zonohedron has \(n\) of these generators, then there are \(n(n{-}1)/2\) such pairs. For each pair of generators, there are 2 parallelograms which are antipodal to each other. This function computes data about one parallelogram from this antipodal pair. The total number of parallelograms is \(n(n{-}1)\).
boundarypgramdata( x, gndpair, cube=FALSE )
boundarypgramdata()
returns a data.frame
with M rows and these columns:
the given gndpair
the index of the hyperplane in the simplified matroid
of x
that contains gndpair
the center of the parallelogram relative to the center of the zonohedron. For the antipodal parallelogram, multiply this by -1.
the number of transitions in pcube
- a point in the n-cube
that maps to center
.
This is a non-negative even integer.
And if cube
is TRUE
, then this column is added:
a point in the n-cube that maps to center
.
For the antipodal parallelogram, subtract this from 1;
the number of transitions is the same.
If a row of gndpair
has an invalid pair,
the other columns are filled with NA
s.
In case of global error, the function returns NULL
.
a zonohedron object as returned by the constructor zonohedron()
an Mx2 integer matrix.
Each row of gndpair
must contain a pair of points
in the ground set of the simplified matroid of the zonohedron x
.
The 1st point must be less that the 2nd point.
gndpair
can also be a numeric vector that can be converted
to such a matrix, by row.
if TRUE
, then a point of the cube that maps to the center
of the given parallelogram is returned, see Value.
In this version of the package, when the parallelogram is a tile in a more complex facet, the function may return incorrect results. This will be fixed in a future version.
zonohedron()