Make
a donation:
IBAN: IT36M0708677020000000008016 - BIC/SWIFT:
ICRAITRRU60 - VALERIO DI STEFANO or Privacy PolicyCookie PolicyTerms and Conditions Manuale di Utilizzo di POV-Ray 3.01 - Versione Italiana
4.10.2.1 Creare
un Cielo Usando un Gradiente di Colore
Oltre alla sfera celeste che utilizza
un solo colore, effetto che si può ottenere usando lo sfondo, la
sfera celeste più semplice è un gradiente di colore. Puoi
avere notato che il colore del cielo varia con l'angolo formato con la
superficie della terra. Se guardi in alto il cielo normalmente ha un blu
molto più profondo di quello che ha all'orizzonte. Vogliamo modellare
questo effetto usando la sfera celeste come nell'esempio che segue (vedi
skysph1.pov).
La parte interessante è la frase
sky_sphere{...}.
Contiene un pigmento che descrive l'aspetto del cielo. Dato che viene usato
un vettore direzione per calcolare i colori del pigmento dobbiamo usare
un gradient y.
Le trasformazioni scale
e translate
sono usate per mappare i punti ottenuti dal vettore direzione nell'intervallo
corretto. Senza queste trasformazioni il gradiente sarebbe ripetuto due
volte sulla sfera celeste. L'istruzione scale
è usata per evitare la ripetizione del gradiente e l'istruzione
translate -1
sposta la componente 0 della color_map
sul fondo della sfera (il punto della sfera celeste che vedi guardando
in giù). Dopo questa trasformazione il colore alla posizione zero
nella mappatura sarà sul fondo della sfera celeste, cioè
sotto di noi e il colore alla posizione 1 sarà in cima cioè
sopra di noi.
I colori di tutte le altre posizioni sono interpolati tra queste due come
si può vedere nell'immagine risultante.
Se vuoi far iniziare uno dei colori ad un particolare angolo dovrai prima
convertire l'angolo ad un valore da inserire nella mappatura dei colori.
Ciò si ottiene usando la formula :
valore =(1-cos(angolo))/2
dove l'angolo è misurato rispetto
alla normale negativa della superficie della terra, cioè la normale
alla superficie che punta verso il centro della terra. Un angolo di 0 gradi
descrive il punto sotto di noi, mentre un angolo di 180 gradi rappresenta
lo zenit.
In POV-Ray devi prima convertire il valore in gradi a radianti come si
mostra nel seguente esempio.
sky_sphere {
pigment {
gradient y
color_map {
[(1-cos(radians( 30)))/2 color Red]
[(1-cos(radians(120)))/2 color Blue]
}
scale 2
translate -1
}
}
Fig. 175-Gradiente
Questa scena usa un gradiente di colore
che inizia col rosso a 30 gradi e sfuma nel blu a 120 gradi. Sotto i 30
gradi è tutto rosso mentre sopra i 120 è tutto blu.