# metti lo spazio che vuoi rappresentare x <- c(-5,4); y <- c(-3,3) ; z1 <- c(-1,3) # copia queste righe e cambia eventualmente la "figura" scala <- function(t,p,dist) { zz <- ifelse(p < 0, z1[2],z1[1]) z <- array(c(zz,zz,zz,zz),dim=c(2,2)) # F traccia il quadr.di base x,y e altezze pari a z=-1 (o 3 se guardo da sotto) F <- persp(x,y,z,theta=t,phi=p,scale=TRUE,xlim=x,ylim=y,zlim=z1, d=dist,ticktype="detailed"); # assi lines(trans3d(c(0,0),c(0,0),c(0,z1[2]),pmat=F),col="red"); lines(trans3d(c(0,x[2]),c(0,0),c(0,0),pmat=F),col="red"); lines(trans3d(c(0,0),c(0,y[2]),c(0,0),pmat=F),col="red"); lines(trans3d(c(0,0),c(0,0),c(z1[1],0),pmat=F),col="red",lty=3); lines(trans3d(c(x[1],0),c(0,0),c(0,0),pmat=F),col="red",lty=3); lines(trans3d(c(0,0),c(y[1],0),c(0,0),pmat=F),col="red",lty=3); # la figura: lines(trans3d(c(2,-4,-4,0),c(3,3,-1,0),c(-1,3,-1,0),pmat=F),col="blue"); lines(trans3d(c(0,-5),c(0,-3),c(0,-1),pmat=F),col="green4"); lines(trans3d(c(-5,4),c(-3,3),c(-1,3),pmat=F),col="brown"); } # scegli il punto di vista scala(200, 5, 3) # Cambi punto di vista scala(90, 60, 1) # Cambi punto di vista scala(25, -20, 10) # ...