- 3次元の分布があって、そこに値がある。同じ値の点が曲面を作っているときに、この曲面は3次元空間の等高面
- それを塗り分ける
k <- 3
n.pt <- 100000
R <- 5
r <- runif(n.pt)
t <- runif(n.pt) * 2 * pi
u <- runif(n.pt) * 5 * pi
X <- matrix(c(R*cos(t)+r*cos(u)*cos(t), R*sin(t)+r*cos(u)*sin(t), r * sin(u)),ncol=3)
X <- rbind(X,matrix(c(5,5,5,-5,-5,-5),byrow=TRUE,ncol=3))
v <- (X[,1]/2)^2 + (X[,2]/3)^3 + (X[,3]/8)^8
shima <- rep(0,length(v[1:n.pt]))
range.v <- range(v)
num.colors <- 3
num.layers <- 20
shima <- floor(v/(diff(range.v))*num.layers+1)%%num.colors
library(rgl)
plot3d(X,col=factor(shima),cex=0.01)