cusp3d {cusp} | R Documentation |
Generate 3D plot of Cusp Catatrophe Model Fit
Description
This function generates a 3D display of the fit (object) of a cusp model.
Usage
cusp3d(y, alpha = if (!missing(y) && is.list(y)) y$lin[, "alpha"],
beta = if (!missing(y) && is.list(y)) y$lin[, "beta"], w = 0.03,
theta = 170, phi = 35, B = 4, Y = 3, Yfloor = -15,
np = 180, n.surface = 30, surface.plot = TRUE,
surf.alpha = 0.75, surf.gamma = 1.5, surf.chroma = 35, surf.hue = 240,
surf.ltheta = 0, surf.lphi = 45, ...)
Arguments
y |
object returned by |
alpha |
vector of normal/symmetry factor values corresponding to the state values in |
beta |
vector of bifurcation/splitting factor values corresponding to the state values in |
w |
number that specifies the size of the data points plotted on the cusp surface |
theta , phi |
angles defining the viewing direction. |
B |
range of the splitting factor axis |
Y |
range of the state variable axis |
Yfloor |
location on state variable axis where the control surface is plotted |
np |
factor that determines the fineness of the drawing |
n.surface |
factor that determines the fineness of the rendered surface |
surface.plot |
plot the surface? |
surf.alpha |
transparency level of rendered surface |
surf.gamma |
factor that determines the shading of surface facets ( |
surf.chroma , surf.hue |
chroma and hue of surface color (see |
surf.ltheta , surf.lphi |
the surface is shaded as though it was being illuminated from the direction specified by azimuth |
... |
named parameters that are pased to |
Details
This function is experimental.
Value
cusp3d
returns the viewing transformation matrix, say VT
, a 4 x 4 matrix suitable for projecting 3D coordinates (x,y,z) into the 2D plane using homogeneous 4D coordinates (x,y,z,t). It can be used to superimpose additional graphical elements on the 3D plot, by lines() or points(), using the simple function trans3d().
Note
Currently still somewhat buggy.
Author(s)
Raoul Grasman
References
See cusp-package
See Also
persp
, plot.cusp
, cusp3d.surface
Examples
set.seed(123)
x1 = runif(150)
x2 = runif(150)
z = Vectorize(rcusp)(1, 4*x1-2, 4*x2-1)
data <- data.frame(x1, x2, z)
fit <- cusp(y ~ z, alpha ~ x1+x2, beta ~ x1+x2, data)
cusp3d(fit)