Learn R Programming

zonohedra (version 0.3-0)

zonogon: zonogon construction

Description

Construct a zonogon from a numeric matrix with 2 rows.

Usage

zonogon( mat, e0=0, e1=1.e-6, ground=NULL )

polarzonogon( n, m=n, ground=NULL )

Value

zonogon() and polarzonogon() return a list with S3 class 'zonogon'. In case of error, e.g. invalid mat, the functions print an error message and returns NULL.

Arguments

mat

a numeric 2xM matrix, where 2 \(\le\) M. The matrix must have rank 2 (verified). The M columns are the generators of the zonogon.

e0

threshold for a column of mat to be considered 0, in the \(L^\infty\) norm. Since the default is e0=0, by default a column must be exactly 0 to be considered 0.

e1

threshold, in a pseudo-angular sense, for non-zero column vectors to be multiples of each other, and thus members of a group of multiple (aka parallel) points in the associated matroid. It OK for a column to be a negative multiple of another.

ground

The ground set of the associated matroid of rank 2 - an integer vector in strictly increasing order, or NULL.
When ground is NULL, it is set to 1:ncol(mat). If ground is not NULL, length(ground) must be equal to ncol(mat). The point ground[i] corresponds to the i'th column of mat.

n

an integer \(\ge\) 3. The generators are computed as n equally spaced points on the unit circle, starting at (1,0).

m

an integer with 2 \(\le\) m \(\le\) n. When m < n, only the first m points are used as generators of the zonogon.

Details

polarzonogon() is useful for testing. The term polar zonogon is my own, and based on the polar zonohedron in Chilton & Coxeter. It it loads the matrix mat and passes it to zonogon(). When m=n the zonogon is a regular 2n-gon. When m<n the zonogon is a has 2m vertices, but is not necessarily regular. The generators correspond to the n'th-roots of unity.

References

B. L. Chilton and H. S. M. Coxeter. Polar Zonohedra. The American Mathematical Monthly. Vol 70. No. 9. pp. 946-951. 1963.

See Also

zonohedron(), zonoseg(),