| split3d {vcdExtra} | R Documentation | 
Subdivide a 3D Object
Description
Subdivides a shape3d object or a list of shape3d objects
into objects of the same shape along a given dimension
according to the proportions or frequencies specified in vector(s).
split3d is the basic workhorse used in mosaic3d,
but may be useful in other contexts.
range3d and center3d are utility functions, also useful in other contexts.
Usage
split3d(obj, ...)
## S3 method for class 'shape3d'
split3d(obj, p, dim, space = 0.1, ...)
## S3 method for class 'list'
split3d(obj, p, dim, space = 0.1, ...)
range3d(obj)
center3d(obj)
Arguments
| obj | A  | 
| ... | Other arguments for split3d methods | 
| p | For a single  | 
| dim | The dimension along which the object is to be subdivided. Either an integer: 1, 2, or 3, or a character: "x", "y", or "z". | 
| space | The total space used to separate the copies of the object along
dimension  | 
Details
The resulting list of shape3d objects is actually composed of copies
of the input object(s), scaled according to the proportions in p
and then translated to make their range along the splitting dimension
equal to that of the input object(s).  
Value
split3d returns a list of shape3d objects.
range3d returns a 2 x 3 matrix, whose first row contains
the minima on dimensions x, y, z, and whose second row contains
the maxima.
center3d returns a numeric vector containing
the means of the minima and maxima on dimensions x, y, z.
Author(s)
Duncan Murdoch, with refinements by Michael Friendly
See Also
shapelist3d for the plotting of lists of shape3d objects.
Examples
if (require(rgl)) {
  open3d()
  cube <- cube3d(alpha=0.4)
  sl1 <- split3d(cube, c(.2, .3, .5), 1)
  col <- c("#FF000080", "#E5E5E580", "#0000FF80")
  shapelist3d(sl1, col=col)
	
  open3d()
  p <- matrix(c(.6, .4, .5, .5, .2, .8), nrow=2)
  sl2 <- split3d(sl1, p, 2)
  shapelist3d(sl2, col=col)	
  }