4.4.9        Superficie di Rotazione (SOR)



Bottiglie, vasi e bicchieri fanno un bell’effetto nelle scene renderizzate. Vogliamo creare una coppa d’oro usando l’oggetto ‘superficie di rotazione’ (SOR, ovvero Surface Of Revolution). Iniziamo ad occuparci della forma dell’oggetto che vogliamo realizzare. E’ piuttosto difficile inventarsi un insieme di punti che descrivono una data curva senza l’aiuto di un modellatore che supporti l’oggetto SOR. Se abbiamo a disposizione un programma del genere, dovremmo servircene.

Fig. 43-I punti della nostra coppa

Useremo la configurazione dei punti mostrata nella figura sopra. Ci sono otto punti che descrivono la curva che verrà ruotata attorno all’asse delle y per dare la nostra coppa. La curva è stata calcolata usando il metodo descritto nel paragrafo "Superficie di Rotazione". Creiamo quindi una scena che utilizzi l’oggetto SOR : editiamo un file di nome sordemo.pov e inseriamo il testo seguente :

#include "colors.inc"
#include "golds.inc"

global_settings { assumed_gamma 2.2 }
camera {
location <10, 15, -20>
look_at <0, 5, 0>
angle 45
}

background { color rgb<0.2, 0.4, 0.8> }
light_source { <100, 100, -100> color rgb 1 }
plane { y, 0
pigment { checker color Red, color Green scale 10 }
}

sor {
8,
<0.0, -0.5>,
<3.0, 0.0>,
<1.0, 0.2>,
<0.5, 0.4>,
<0.5, 4.0>,
<1.0, 5.0>,
<3.0, 10.0>,
<4.0, 11.0>
texture { T_Gold_1B }
}

Fig. 44-Un oggetto SOR

La scena contiene la nostra coppa appoggiata su di un piano. L'oggetto SOR è descritto dal numero dei punti che costituiscono la curva, seguito dalle coordinate dei punti fornite in ordine di quota ascendente. Ogni punto determina il raggio della curva alla relativa altezza. Ad esempio, il primo punto dice a POV-Ray che a quota 0.5 il raggio è 0. Dobbiamo fare attenzione che ogni punto che inseriamo si trovi ad un'altezza superiore a quella del punto precedente. Se questo non si verifica, il programma si fermerà restituendo un messaggio di errore.