У меня есть кривая, которую я использую для создания R (см. код ниже):
library(rgl)
y = seq(-5,25,by=0.01)
x = seq(5,20,by=0.02)
sd = 0.3*x
NAs <- rep(NA, length(x)*length(y))
z <- matrix(NAs, length(x), byrow = T)
for(i in seq(1,length(x))) {
for(j in seq(1,length(y))) {
val = dnorm(y[j],mean=7.5,sd=sd[i])
z[i,j] = val
if(z[i,j] < 0.02) {
z[i,j] = NA
}
}
}
col <- rainbow(length(x))[rank(x)]
open3d()
persp3d(x,y,z,color=col,xlim=c(5,20),ylim=c(5,10),axes=F,box=F,xlab="exp",ylab="obs",zlab="p")
И вот что получается:
Если вы немного повернете его, вы сможете увидеть, что это фигура типа полой трубы.
Но я пытаюсь сделать так, чтобы он был заполнен (градиентом цвета), чтобы он не был пустым. Представьте, что вы делаете срез в любом месте, и вы получите 2D-плоскость, а не 2D-кривую, если это имеет смысл. Как я могу это сделать?
rgl.quads
, для определения трех других ограничивающих поверхностей (слева, справа, снизу). - person Ben Bolker   schedule 24.02.2013