我想知道是否有办法在R函数中生成类似于Mathematica的ContourPlot3D函数的图?基本上,它允许您以 f 的值绘制3D表面,其中 f 是隐式函数三个变量。来自Mathematica的示例: f(x,y,z)= x ^ 3 + y ^ 2 + z ^ 2 。
x <- y <- z <- seq(-2, 2, by=0.2)
grid <- expand.grid(x=x,y=y,z=z)
grid$f <- x^3 + y^2 + z^2
答案 0 :(得分:3)
您可以尝试使用plot3D包。
vignette与Mathematica link you provided有类似的例子。
安装包,扫描晕影以获得所需的相关功能,并试用这些功能示例。例如,如果您想查看contour3D函数和surf3D函数:
install.packages("plot3D")
require("plot3D")
example(contour3D)
example(surf3D)
您可能需要slice3D()
或isosurf3D()
。
您还可以试用misc3d
包。
require(misc3d)
x <- y <- z <- seq(-2, 2, by=0.2)
x <- seq(-2,2,len=50)
g <- expand.grid(x = x, y = x, z = x)
v <- array(g$x^3 + g$y^2 + g$z^2, rep(length(x),3))
con <- computeContour3d(v, max(v), level=.2)
drawScene(makeTriangles(con))