# Bookstein Orange Book page 27 require(sm) require(scatterplot3d) 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, color=0) 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) } pause() # require(Rcmdr) # s3d<- scatter3d(x, y, z, main="Bookstein Fig 2.2.1", type="l", grid=TRUE, lwd=1) div<-20 lim<-50 del<-lim/div nm<- 1+2*div x<- seq(-lim,lim,del) y<- seq(-lim,lim,del) z<- matrix(0,nm,nm) nxyz<- nm*nm xyz<- matrix(0,nxyz,3) for (i in 1:nm) { xi<-x[i] for (j in 1:nm) { yj<- y[j] z[i,j]<- 4*(yj^2 - xi^2)/(1+xi^2+yj^2) xyz[j+(i-1)*nm,]<- c(xi, yj, z[i,j]) } } xp<- as.vector(xyz[,1]) yp<- as.vector(xyz[,2]) zp<- as.vector(xyz[,3]) s3d<- scatterplot3d(xp, yp, zp, main="Bookstein Fig 2.2.2", color=0, angle = 30, grid=TRUE) for(j in 1:nm) { inde<- nm*(j-1)+ (1:nm) s3d$points3d(xp[inde], yp[inde], zp[inde], type="l", col="red", lwd=1) } for(j in 1:nm) { inde<- (j-1) + seq(1,nxyz,nm) s3d$points3d(xp[inde], yp[inde], zp[inde], type="l", col="green", lwd=1) } pause() xp<- as.vector(xyz[,1]) yp<- as.vector(xyz[,2]+xyz[,3]) plot(xp, yp, main="Bookstein Fig 2.2.2", typ='n') for(j in 1:nm) { inde<- nm*(j-1)+ (1:nm) lines(xp[inde], yp[inde], col="red", lwd=1) } for(j in 1:nm) { inde<- (j-1) + seq(1,nxyz,nm) lines(xp[inde], yp[inde], col="green", lwd=1) }