# ellipse3d.axes: Draw axes of a 3D ellipsoid

## Description

A function to draw the major axes of a 3D ellipsoid from a correlation,
covariance or sums of squares and cross products matrix.

## Usage

ellipse3d.axes(x, centre = c(0, 0, 0), scale = c(1, 1, 1),
level = 0.95, t = sqrt(qchisq(level, 3)), which = 1:3,
labels = TRUE, label.ends=c(2,4,6), ...)

## Arguments

x

A square positive definite matrix at least 3x3 in size.
It will be treated as the correlation or covariance of a multivariate normal
distribution.

centre

The center of the ellipse

scale

If x is a correlation matrix, then the standard deviations of each parameter can be given in the scale parameter.
This defaults to `c(1, 1, 1)`

, so no rescaling will be done.

level

The confidence level of a simultaneous confidence region.
The default is 0.95, for a 95% region.
This is used to control the size of the ellipsoid.

t

The size of the ellipsoid may also be controlled by specifying the value of a
t-statistic on its boundary.

which

This parameter selects which variables from the object will be plotted.
The default is the first 3.

labels

Either a logical value, a character string, or a character vector of length 3.
If `TRUE`

, the default, the axes are labeled PC1, PC2, PC3.
If a single character string, the digits 1, 2, 3 are pasted on the end.

label.ends

A vector of length 3 indicating which ends of the axes should
be labeled, corresponding to a selection of rows of the 6 x 3 matrix of axes
end points. Default: `c(2,4,6)`

.

…

Other arguments passed to `segments3d`

and `text3d`

.

## Value

Returns a 6 x 3 matrix containing the end points of the three axis lines in pairs
by rows.

## Examples

# NOT RUN {
data(iris)
iris3 <- iris[,1:3]
cov <- cov(iris3)
mu <- colMeans(iris3)
col <-c("blue", "green", "red")[iris$Species]
library(rgl)
plot3d(iris3, type="s", size=0.4, col=col, cex=2, box=FALSE, aspect="iso")
plot3d( ellipse3d(cov, centre=mu, level=0.68), col="gray", alpha=0.2, add = TRUE)
axes <- ellipse3d.axes(cov, centre=mu, level=0.68, color="gray", lwd=2)
# }