planes3d adds mathematical planes
to a scene. Their intersection with the current
bounding box will be drawn.
adds clipping planes to a scene.
planes3d(a, b = NULL, c = NULL, d = 0, ...) clipplanes3d(a, b = NULL, c = NULL, d = 0)
planes3d draws 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 defines clipping planes
using the same equations. Clipping planes suppress the display of
other objects (or parts of them) in the subscene, based on their coordinates.
Points (or parts of lines or surfaces) where the coordinates
x, y, z
satisfy \(a x + b y + c z + d < 0\) will be suppressed.
The number of clipping planes
supported by the OpenGL driver is implementation dependent; use
par3d("maxClipPlanes") to find the limit.
A shape ID of the planes or clipplanes object is returned invisibly.
# Show regression plane with z as dependent variable open3d() 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() ids <- plot3d(x, y, z, type = "s", col = "red", size = 1, forceClipregion = TRUE) oldid <- useSubscene3d(ids["clipregion"]) clipplanes3d(a, b, c, d) useSubscene3d(oldid)