4.8.5.2.5 Usare
la Frequenza per Migliorare il Realismo
Un altro metodo molto buono per migliorare
il realismo della nostra esplosione, è usare un valore per la frequenza
(parola chiave frequency)
diverso da 1. Il modo in cui il parametro frequency
funziona è spiegato nel paragrafo "Il Modificatore
Frequency (Frequenza)".
La spiegazione, piuttosto matematica che viene data in quel paragrafo,
non ci aiuta però a capire come usare la frequenza. Nonostante tutto,
è molto semplice. Il valore assegnato alla frequenza dice al programma
quante volte la mappatura del colore sarà ripetuta nel raggio da
0 a 1. Se viene specificata una frequenza di 1 (il valore predefinito),
la mappatura del colore specificata sarà ripetuta una volta nel
campo delle densità, cioè, il colore al valore 0 sarà
usato per la densità 0, il colore al valore 0.5 sarà usato
alla densità 0.5 e così via. Semplice, no ?
Se scegliamo invece una frequenza 2, il colore a 0 sarà usato per
la densità 0, il colore a 0.5 sarà usato per la densità
0.25 ed il colore a 1 sarà usato per la densità 0.5. Cosa
succede alle densità maggiori di 0.5 ? Dato che non ci sono
colori per valori superiori ad 1, ricominciamo dallo 0. Quindi, il colore
a 0.1 sarà riutilizzato per la densità 0.55, ((2*0.55)mod
1=1.1 mod 1 = 0.1) il colore a 0.5 sarà riutilizzato per la densità
0.75 ed il colore a 1 nella nostra mappatura, sarà usato per la
densità 1.
Se siamo dei bravi matematici, noteremo che l'esempio sopra è errato,
perché (1*2)mod 1 = 0 e non 1. Pensiamo di usare un valore appena
più piccolo di 1 e tutto funzionerà.
Possiamo avere notato che, per evitare bruschi cambiamenti di colore nelle
halo definite con una frequenza maggiore di 1, dovremo usare delle mappature
per il colore periodiche, cioè, che abbiano lo stesso colore a 0
ed 1.
Cambiamo il nostro esempio usando una mappatura periodica del colore e
cambiando il valore della frequenza a 2.
sphere { 0, 1
pigment { color rgbt <1, 1, 1, 1> }
halo {
emitting
spherical_mapping
linear
turbulence 1.5
color_map {
[ 0.0 color rgbt <1, 0, 0, 1> ]
[ 0.5 color rgbt <1, 1, 0, -1> ]
[ 1.0 color rgbt <1, 0, 0, 1> ]
}
frequency 2
samples 20
scale 0.5
}
hollow
scale 1.5
}
![]() |
Fig. 145-Esplosione
Osservando il risultato (vedi halo05.pov) possiamo dirci soddisfatti dell'esplosione che abbiamo fatto, no ? C'è un'altra cosa alla quale dovremmo fare attenzione quando aumentiamo il valore della frequenza. Spesso è necessario aumentare il numero di campioni (samples) quasi allo stesso modo in cui cambiamo la frequenza. Se non lo facciamo, probabilmente otterremo delle gravi artificiosità (come 'salti' di colore, o strane strisce colorate). Se ciò avviene, cambia il numero di campioni in accordo al valore della frequenza (il doppio dei campioni per un valore di frequenza raddoppiato, ad esempio).
![]() |
![]() |
![]() |