Scarica l'intero archivio delle opere in HTML in un unico file .zip

oppure vai alla selezione Liber Liber di classicistranieri.com

 

Questo sito usa dei cookie per migliorare la vostra esperienza di navigazione. Continuando la navigazione accettate l'uso dei cookie (Altre informazioni)

4.4.2.2        Costruzione di Blob Complessi e Forza Negativa.



In un nuovo file, blobdem3.pov, introduciamo questo esempio un po' più complesso :

#include "colors.inc"
camera {
angle 20
location<0,2,-10>
look_at<0,0,0>
}

light_source { <10, 20, -10> color White }
blob {
threshold .65
sphere { <-.23,-.32,0>,.43, 1 scale <1.95,1.05,.8> } //palmo
sphere { <+.12,-.41,0>,.43, 1 scale <1.95,1.075,.8> } //palmo
sphere { <-.23,-.63,0>, .45, .75 scale <1.78, 1.3,1> } //palmo
sphere { <+.19,-.63,0>, .45, .75 scale <1.78, 1.3,1> } //palmo
sphere { <-.22,-.73,0>, .45, .85 scale <1.4, 1.25,1> } //polso
sphere { <+.19,-.73,0>, .45, .85 scale <1.4, 1.25,1> } //polso

cylinder { <-.65,-.28,0>, <-.65,.28,-.05>, .26, 1 } //mignolo inferiore
cylinder { <-.65,.28,-.05>, <-.65, .68,-.2>, .26, 1 } //mignolo superiore

cylinder { <-.3,-.28,0>, <-.3,.44,-.05>, .26, 1 } //anulare inferiore
cylinder { <-.3,.44,-.05>, <-.3, .9,-.2>, .26, 1 } //anulare superiore

cylinder { <.05,-.28,0>, <.05, .49,-.05>, .26, 1 } //medio inferiore
cylinder { <.05,.49,-.05>, <.05, .95,-.2>, .26, 1 } //medio superiore

cylinder { <.4,-.4,0>, <.4, .512, -.05>, .26, 1 } //indice inferiore
cylinder { <.4,.512,-.05>, <.4, .85, -.2>, .26, 1 } //indice superiore

cylinder { <.41, -.95,0>, <.85, -.68, -.05>, .25, 1 } //pollice inferiore
cylinder { <.85,-.68,-.05>, <1.2, -.4, -.2>, .25, 1 } //pollice superiore

pigment { Flesh }
}

Come possiamo dedurre dai commenti, stiamo costruendo una mano.

Fig. 18-Mano

Dopo avere renderizzato quest'immagine, notiamo alcuni problemi. Il palmo ed il polso della mano sarebbero risultati più realistici se avessimo utilizzato un paio di dozzine di componenti più piccoli invece della mezza dozzina di grossi componenti che abbiamo usato ed ogni dito dovrebbe essere composto da tre segmenti invece che da due. Per fare una dimostrazione semplificata, tralasceremo questi aspetti. C'è invece una cosa che dobbiamo veramente notare : questo poveretto ha una terribile artrosi ! Un ripasso di quello che sappiamo dei blob rivelerà subito cosa c'è di sbagliato. Le articolazioni sono i punti dove le componenti si sovrappongono, per cui la forza, sommata, delle due componenti, fa sì che la superficie si estenda oltre il dovuto, poiché rimane al di sopra del threshold dato. Per risolvere ciò, abbiamo bisogno di aggiungere dei componenti che corrispondano alle regioni di sovrapposizione e che bilancino parte della forza dei due campi combinati. Aggiungiamo le seguenti componenti al nostro blob (file blobdem4.pov).

sphere { <-.65,.28,-.05>, .26, -1 } //bilancia il gonfiore del mignolo (nocca)
sphere { <-.65,-.28,0>, .26, -1 } // bilancia il gonfiore del mignolo (palmo)

sphere { <-.3,.44,-.05>, .26, -1 } // bilancia il gonfiore //dell'anulare(nocca)
sphere { <-.3,-.28,0>, .26, -1 } // bilancia il gonfiore dell'anulare(palmo)
sphere { <.05,.49,-.05>, .26, -1 } // bilancia il gonfiore del medio(nocca)
sphere { <.05,-.28,0>, .26, -1 } // bilancia il gonfiore del medio(palmo)
sphere { <.4,.512,-.05>, .26, -1 } // bilancia il gonfiore //dell'indice(nocca)
sphere { <.4,-.4,0>, .26, -1 } // bilancia il gonfiore dell'indice(palmo)

sphere { <.85,-.68,-.05>, .25, -1 } // bilancia il gonfiore del //pollice(nocca)
sphere { <.41,-.7,0>, .25, -.89 } // bilancia il gonfiore del pollice(palmo)

Fig. 19-Mano

Molto meglio ! La forza negativa delle componenti sferiche bilancia circa la metà della forza del campo nei punti dove si sommano le componenti delle 'falangi', così che il brutto, irreale (e doloroso) gonfiore è rimosso migliorando notevolmente la nostra mano. Potremmo probabilmente fare una mano ancora più realistica con un paio di dozzine di componenti aggiuntive, ma ciò che abbiamo per adesso, è già un buon miglioramento. E, per ora, abbiamo una conoscenza elementare dei meccanismi dei blob che ci permette di costruire un'ampia gamma di oggetti 'organici'.