# riduco i margini
par( mai = c(0.2,0.2,0.2,0.2) )
# scelgo la scala
x <- c(-1,1); y <- c(-1,1); z0 <- c(0,1)
u <- c(z0[1],z0[1],z0[1],z0[1]); z <- array(u,dim=c(2,2))
thphdi <- function(t,p,di) {
  F <- persp(x,y,z,theta=t,phi=p,scale=FALSE,zlim=z0,
            xlim=x,ylim=y,d=di,box=FALSE,border="white")
  a <- seq(0,2*pi,len=200)
  lines(trans3d(cos(a),sin(a),0,pmat=F))
  lines(trans3d(cos(a)/2,sin(a)/2,0,pmat=F),lty=2)
  a <- seq(pi/2,3*pi/2,len=200)
  lines(trans3d(cos(a)/2,sin(a)/2,1/2,pmat=F),lty=2)
  lines(trans3d(cos(a+pi)/2,sin(a+pi)/2,1/2,pmat=F))
  lines(trans3d(0,c(-1,0,1),c(0,1,0),pmat=F))
  lines(trans3d(0,-1/2,c(0,1/2),pmat=F),lty=2)
  lines(trans3d(0,1/2,c(0,1/2),pmat=F),lty=2)
  lines(trans3d(0,0,c(0,1),pmat=F),lty=2)
  lines(trans3d(0,c(-1,0),0,pmat=F),lty=2)
  lines(trans3d(0,c(-1/2,0),1/2,pmat=F),lty=2) }
# traccio il grafico
# scelgo una distanza grande in modo da avere una assonometria
thphdi(90,5,1000)
text(0,0.29,"V")
text(-1/4,0.05,"B")
text(-0.5,-0.2,"A")
text(-0.5,-0.2,"A")
text(-0.5,-0.2,"A")
text(0.03,0.05,"D")
text(0.03,-0.18,"C")
points(c(0,0,0,-1/4,-1/4,-1/2),c(0,1/4,-1/4,-1/4,0,-1/4),pch=20)