Mostriamo come definire una sagoma di un pupazzo combinando tra loro vari ellissoidi. Un ellissoide di assi a,b,c e centro (x0,y0,z0) si definisce come una superfice parametrica, di equazioni:
x = a Cos[t] Sin[u] +x0
y = b Sin[t] Sin[u] +y0
z = c Cos[u] +z0
Definiamo una funzione Ellissoid che costruisce il disegno dell'ellissoide dati a,b,c,x0,y0,z0 (il comando per il disegno parametrico nello spazio è ParametricPlot3D).
Notiamo che abbiamo eliminato la luce originaria (opzione Lighting->False), e aggiunto una colorazione (una quarta coordinata che descrive il colore).
Utilizziamo ora la funzione Ellissoid per costruire vari ellissoidi, aventi diversi assi e posizioni. Ogni ellissoide sarà un pezzo del corpo del pupazzo. Scegliamo un colore per il corpo.
Testa. Usiamo una sfera di raggio 2, centrata nell'origine (a=b=c=2, x0=y0=z0=0).
Naso. Usiamo una piccola ellisse, prominente verso di noi, posta sul bordo della testa di fronte a noi (a=c=1/3, b=1/2, x0=0, y0=-2, z0=0).
Occhi. Usiamo due sfere ancora più piccole, di raggio 1/4, poste sul bordo della testa di fronte a noi, sollevate di 30 gradi rispetto al naso, e ruotate di +/-45 gradi lateralmente.
(a=b=c=1/4, x0=+/-, y0=-, z0=1).
Orecchie. Usiamo 2 sfere di raggio 1, di centro spostato a sinistra (o destra) di 2 unità, ed in alto di 1 unità.
(a=b=c=1, x0=+/-2, y0=0, z0=1)
Corpo Usiamo un'ellisse più grande, di centro 3 unità più in basso rispetto alla testa, e leggermente allungata verso l'alto (a=b=2.5, c=3, x0=y0=0, z0=-3).
Gambe. Usiamo due ellissi più piccole, marcatamente allungate verso l'alto, di 3 unità più in basso rispetto al corpo, e spostate di 2 unità a destra o sinistra (a=b=1, c=2, x0=+/-2, y0=0, z0=-6)
Braccia. Usiamo due ellissi della stessa dimensione delle cambe, ma con la parte allungata disposta in orizzontale. Le disponiamo un'unità sopra il centro del corpo, e spostate a destra o sinistra di un'unita e mezzo (a=2, b=c=1, x0=+/-1.5, y0=0, z0=-2)
Combinando ora gli ellissoidi (comando Show) costruiamo un pupazzetto. Con un po' di fantasia, la nostra creazione assomiglia ad un orsetto per bambini.
Mostriamo ora l'orsetto da diversi punti di vista.
(Il comando è ViewPoint->{u,v,w}, dove u,v,w, sono le coordinate del punto di osservazione. Per calcolare u,v,w, usiamo la voce Input/3D ViewPoint Selector del Menu).