plothighertrans {zonohedra}R Documentation

plot abundant and deficient parallelograms

Description

The 2-transition surface associated with a zonohedron is a topological sphere and is contained in the zonohedron. The surface is centrally symmetric, with the same center as the zonohedron. The surface may have self-intersections. For this function, the surface is required to be strictly starshaped at the center. For the definition of strictly starshaped see the vignette The 2-Transition Subcomplex and the 2-Transition Surface.

The 2-transition surface is a union of parallelograms. Each parallelogram has a unit normal that defines a linear functional.
If a 2-transition parallelogram is in the interior of the zonohedron then the functional is not maximized on the parallelogram, and there is a corresponding similar parallelogram on the boundary of the zonohedron where the functional *is* maximized. The first parallelogram (in the surface) is called deficient because the functional is not maximized, and the second parallelogram (in the boundary) is called abundant because the number of corresponding transitions across this parallelogram is more than 2.
If the 2-transition parallelogram is on the boundary, then it is called coincident. The coincident parallelograms are ignored and not drawn in this function.

Because of this 1-1 correspondence between deficient parallelograms (in the 2-transition surface) and the abundant parallelograms (in the boundary of the zonohedron), the area of these two surfaces are the same.

Usage

plothighertrans( x, abalpha=1, defcol='green', defalpha=0, ecol=NA,
                  connections=FALSE, bgcol="gray40", both=TRUE, ...  )

Arguments

x

a zonohedron object as returned by the constructor zonohedron()

abalpha

The opacity to use when drawing the abundant parallelograms. If abalpha=0 then they are not drawn.

defcol

The color to use when drawing the deficient parallelograms

defalpha

The opacity to use when drawing the deficient parallelograms. If defalpha=0 (the default), then they are not drawn.

ecol

The color to use when drawing the edges. If ecol=NA (the default), then they are not drawn.

connections

If TRUE then draw segments between centers of the deficient parallelograms in the 2-transition surface, and centers of the the corresponding abundant parallelograms in the zonohedron boundary

bgcol

the background color

both

if FALSE then draw only one half of the centrally symmetric boundary. Otherwise draw both halves. This affects edges and parallelograms.

...

not used

Details

Connections are drawn with rgl::segments3d() and rgl::points3d() . parallelograms and edges are drawn with rgl::quads3d(). Both parallelograms and edges are drawn unlit (lit=FALSE). The parallelograms are colored by the number of transitions using the color codes in Burns, up to 10 transitions.

A large black point is drawn at 0, a large white point at the "white point", and a 50% gray point at the center. A line from the black point to the white point is also drawn.

Value

The function returns TRUE when successful; or FALSE in case of error.

WARNING

This function currently only works when the 2-transition surface is starshaped at the center. This excludes many of the classic zonohedra.

Note

The package rgl is required for 3D plots.

References

Scott A Burns. The location of optimal object colors with more than two transitions. Color Research & Application. Vol. 46. No. 6. pp 1180-1193. 2021.

See Also

zonohedron(), plot.zonohedron(), plot2trans()


[Package zonohedra version 0.3-0 Index]