# 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)
# ...