# Bookstein Orange Book page 27
require(sm)
n<-50
x<- (-n):n
x<- x/(n/2)
y<- x
 r<- matrix(0, nrow=2*n, ncol=2*n)
 z<- r
 mx<- r
 my<- r
 for (i in 1:(2*n)) {for (j in 1:(2*n))
   {r[i,j]<- (x[i]^2 + x[j]^2)^0.5
    z[i,j]<- -(r[i,j]^2)*log(r[i,j]^2)
    mx[i,j]<- x[i]
    my[i,j]<- y[j]}}
  image(z, col = heat.colors(2*n))
  contour(z, ad = TRUE)
  title("Bookstein orange book, Fig 2.2.1", font = 4)
pause()
# col = terrain.colors
  i<-(n/2):(2*n-n/2)
  image(z[i,i], col = terrain.colors(2*n))
  contour(z[i,i], add = TRUE)
  title("Bookstein orange book, Fig 2.2.1", font = 4)

pause()
# color <- rep("green", length(z))
 color <- "red"
 mz<- z
 x<- as.vector(mx[i,i])
 y<- as.vector(my[i,i])
 z<- as.vector(z[i,i])

 s3d<- scatterplot3d(x, y, z, main="Bookstein Fig 2.2.1", type="l", grid=TRUE, lwd=1)
 for (j in i) {
 s3d$points3d(mx[i,j], my[i,j], mz[i,j], type="l", col="red", lwd=1)
              }
 for (j in i) {
 s3d$points3d(mx[j,i], my[j,i], mz[j,i], type="l", col="green", lwd=1)
              }
