我想在3D图中绘制两个平面。我尝试过persp3d,它会生成两个平面。但是,我不想显示整个两个平面,而是只想显示它们的一部分被相交线分开,即蓝色平面的“左”部分和红色平面的“上”部分。我尝试了xlim,ylim,但是看来我的lims不是单一值,而是函数。
library(rgl)
x <- seq(-10, 10, length = 30)
y <- x
region = expand.grid(x=x, y=y)
z1 = region$x+2*region$y + 2
z2=3*region$x+region$y
persp3d(x,y,z1,col="steelblue")
persp3d(x,y,z2,col="red",add=TRUE)
答案 0 :(得分:0)
grid = mesh(x,y)
z = with(grid,ifelse(x+2*y>3*x+y,x+2*y,3*x+y))
persp3D(z = z, x = x, y = y,col = NULL)
答案 1 :(得分:0)
for (i in 1:900){
z[i] = ifelse(region$x[i]+2*region$y[i] + 2 >
3*region$x[i]+region$y[i],region$x[i]+2*region$y[i] + 2,3*region$x[i]+region$y[i])}
persp3d(x,y,z,col="steelblue")
这是受到黄锐建议的启发