planes {rgl}R Documentation

add planes

Description

planes3d and rgl.planes add mathematical planes to a scene. Their intersection with the current bounding box will be drawn. clipplanes3d and rgl.clipplanes add clipping planes to a scene.

Usage

planes3d(a, b = NULL, c = NULL, d = 0, ...)
rgl.planes(a, b = NULL, c = NULL, d = 0, ...)
clipplanes3d(a, b = NULL, c = NULL, d = 0)
rgl.clipplanes(a, b = NULL, c = NULL, d = 0)

Arguments

a, b, c

Coordinates of the normal to the plane. Any reasonable way of defining the coordinates is acceptable. See the function xyz.coords for details.

d

Coordinates of the "offset". See the details.

...

Material properties. See rgl.material for details.

Details

planes3d and rgl.planes draw planes using the parametrization a x + b y + c z + d = 0. Multiple planes may be specified by giving multiple values for any of a, b, c, d; the other values will be recycled as necessary.

clipplanes3d and rgl.clipplanes define clipping planes using the same equations. The number of clipping planes supported by the OpenGL driver is implementation dependent; use par3d("maxClipPlanes") to find the limit.

Value

A shape ID of the planes object is returned invisibly.

Note

The clip plane code is experimental and currently only partially implemented, so is subject to change.

See Also

abclines3d, rgl.abclines for mathematical lines.

triangles3d, rgl.triangles or the corresponding functions for quadrilaterals may be used to draw sections of planes that do not adapt to the bounding box.

Examples


# Show regression plane with z as dependent variable

x <- rnorm(100)
y <- rnorm(100)
z <- 0.2*x - 0.3*y + rnorm(100, sd=0.3)
fit <- lm(z ~ x + y)
plot3d(x,y,z, type="s", col="red", size=1)

coefs <- coef(fit)
a <- coefs["x"]
b <- coefs["y"]
c <- -1
d <- coefs["(Intercept)"]
planes3d(a, b, c, d, alpha=0.5)

open3d()
plot3d(x,y,z, type="s", col="red", size=1)
clipplanes3d(a, b, c, d)


[Package rgl version 0.93.996 Index]