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).
![[Graphics:../Images/index_gr_7.gif]](../Images/index_gr_7.gif)
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.
![[Graphics:../Images/index_gr_8.gif]](../Images/index_gr_8.gif)
Testa. Usiamo una sfera di raggio 2, centrata nell'origine (a=b=c=2, x0=y0=z0=0).
![[Graphics:../Images/index_gr_9.gif]](../Images/index_gr_9.gif)
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).
![[Graphics:../Images/index_gr_12.gif]](../Images/index_gr_12.gif)
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).
![[Graphics:../Images/index_gr_16.gif]](../Images/index_gr_16.gif)
![[Graphics:../Images/index_gr_18.gif]](../Images/index_gr_18.gif)
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)
![[Graphics:../Images/index_gr_20.gif]](../Images/index_gr_20.gif)
![[Graphics:../Images/index_gr_22.gif]](../Images/index_gr_22.gif)
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).
![[Graphics:../Images/index_gr_24.gif]](../Images/index_gr_24.gif)
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)
![[Graphics:../Images/index_gr_26.gif]](../Images/index_gr_26.gif)
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)
![[Graphics:../Images/index_gr_29.gif]](../Images/index_gr_29.gif)
![[Graphics:../Images/index_gr_31.gif]](../Images/index_gr_31.gif)
Combinando ora gli ellissoidi (comando Show) costruiamo un pupazzetto. Con un po' di fantasia, la nostra creazione assomiglia ad un orsetto per bambini.
![[Graphics:../Images/index_gr_33.gif]](../Images/index_gr_33.gif)
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).
![[Graphics:../Images/index_gr_36.gif]](../Images/index_gr_36.gif)
![[Graphics:../Images/index_gr_39.gif]](../Images/index_gr_39.gif)