zonogon {zonohedra}R Documentation

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 )

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.

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.

Note

The ground set of positive integers should not be too sparse; otherwise performance may suffer.

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(),


[Package zonohedra version 0.3-0 Index]