Oltre al modo visto qui, vi sono altri modi per realizzare costruzioni geometriche animate.  Vediamo un esempio.
    Prima carica questo documento e muovi uno dei punti in rosso della figura di destra come nell'illustrazione seguente.

    Viene realizzata una trasformazione proiettiva (che può essere pensata come una proiezione centrale, ossia come la proiezione di un'immagine su uno schermo non necessariamente parallelo a quello su cui sta l'immagine stessa: vedi).  Vedremo come costruire documenti di questo tipo.  Comunque la spiegazione dettagliata del modo di procedere è presente qui:
da Cinderella clicca "Guida" e "Documentazione in linea"; seleziona poi "Table of Contents", "Dynamic Geometry" e "Transformation Modes".
Dai un'occhiata a "General Use" e poi a "Projective Transformation".

    Vediamo in dettaglio come costruire l'animazione qui sotto illustrata (che poi, se vuoi, puoi attivare da qui e animare muovendo i bottoni rossi della figura a destra).

    Costruisco la figura di sinistra. Per semplictà ho cliccato la calamita per individuare facilmente punti negli incroci della griglia. Ho tracciato i punti A, B, C e D. Li ho uniti con dei segmenti. Ho tracciato i punti medi di AB e CD. Li ho congiunti. Ho poi tracciato il cerchio passante per A, B e C.
    A questo punto ho tracciato 4 punti (E, F, G ed H) che voglio associare ad A, B, C e D. Ho selezionato col mouse "Modi" → "Trasformazione" → "Proiettiva". Ho cliccato su D e poi ho cliccato su F, come nell'immagine qui ha destra. Ho fatto la stessa cosa per A e G, per B e H, per C ed E.
    Infine ho selezionato la figura a sinistra (ho cliccato , ho selezionato col mouse la figura; se non riesco a selezionarla tutta premo il tasto "maiuscole" e clicco sulle parti rimanenti) e ho cliccato il bottone grigio in alto a destra che è stata creato. Viene generata l'immagine della figura di partenza, che poi posso muovere.
  


Col programma R si possono ottenere pių facilmente rappresentazioni tridimensionali (vedi comunque qui un esempio di rappresentazione 3D realizzabile - non facilmente - con Cinderella). Ecco, a destra, l'immagine vista in prospettiva della figura piana rappresentata a sinistra (messa alla base di un cubo).  Chi sia interessato all'uso di R veda qui.

# la figura nel piano
plot(c(0,10),c(0,10),type="n",xlab="", ylab="", asp=1)
lines(c(0,10,10,0,0,5,5,0,0,10),c(0,0,10,10,0,0,10,10,5,5))
t <- seq(0,2*pi,len=100); r <- 10/4
lines(10/4+r*cos(t),10/4+r*sin(t))
lines(10/4*3+r*cos(t),10/4+r*sin(t))
lines(10/4*3+r*cos(t),10/4*3+r*sin(t))
lines(10/4+r*cos(t),10/4*3+r*sin(t))
#
# la figura nello spazio
x <- y <- z0 <- c(0,10)
z <- c(0,0,0,0); z <- array(z,dim=c(2,2))
t <- seq(0,2*pi,len=100); r <- 10/4
F <- persp(x,y,z,theta=30,phi=20,zlim=z0,xlim=x,ylim=y,d=1,scale=FALSE)
# theta č la direzione azimutale, phi la colatitudine, d la distanza
lines(trans3d(c(0,10,10,0,0,5,5,0,0,10),c(0,0,10,10,0,0,10,10,5,5),0,pmat=F),col="red")
lines(trans3d(10/4+r*cos(t),10/4+r*sin(t),0,pmat=F),col="red")
lines(trans3d(10/4*3+r*cos(t),10/4+r*sin(t),0,pmat=F),col="red")
lines(trans3d(10/4*3+r*cos(t),10/4*3+r*sin(t),0,pmat=F),col="red")
lines(trans3d(10/4+r*cos(t),10/4*3+r*sin(t),0,pmat=F),col="red")

Ecco una versione "animata" della stessa immagine:

# Una animazione orientata col mouse: clicca in uno dei 4 angoli o verso il centro
# dei lati della figura.  Per finire premi ESC
t <- seq(0,2*pi,len=100); r <- 10/4
x <- y <- z0 <- c(0,10)
z <- c(0,0,0,0); z <- array(z,dim=c(2,2))
teta <- 30; fi <- 40
while(TRUE) {
  F <- persp(x,y,z,theta=teta,phi=fi,zlim=z0,xlim=x,ylim=y,d=1,scale=FALSE)
  lines(trans3d(c(0,10,10,0,0,5,5,0,0,10),c(0,0,10,10,0,0,10,10,5,5),0,pmat=F),col="red")
  lines(trans3d(10/4+r*cos(t),10/4+r*sin(t),0,pmat=F),col="red")
  lines(trans3d(10/4*3+r*cos(t),10/4+r*sin(t),0,pmat=F),col="red")
  lines(trans3d(10/4*3+r*cos(t),10/4*3+r*sin(t),0,pmat=F),col="red")
  lines(trans3d(10/4+r*cos(t),10/4*3+r*sin(t),0,pmat=F),col="red")
  title(paste(teta,"°  ",fi,"°")); l <- locator(1); a <- c(l$x,l$y)
  if(a[2] > 0.3) fi <- fi-1; if(a[2] < -0.3) fi <- fi+1;
  if(a[1] > 0.3) teta <- teta-1; if(a[1] < -0.3) teta <- teta+1;
}