4.8.4.6.3 Riflessi
e Normali
POV-Ray fa uso della perturbazione
delle normali ad una superficie in un modo che è più singolare
di quanto la gente normalmente non si accorga. Quando applichiamo una normale
ad una texture, non modifichiamo in alcun modo la superficie, ma piuttosto,
stiamo dicendo a POV-Ray di trattare la superficie come se fosse alterata,
limitatamente allo scopo di calcolare l'illuminazione di ogni suo punto.
In breve, è un trucco dato dalla luce e dall'ombra, che, supponendo
che non stiamo osservando l'oggetto da un angolo troppo laterale, crea
effettivamente l'illusione della distorsione sulla sua superficie. Anche
i riflessi sono un trucco sintetico, come abbiamo visto prima e sono stati
progettati per reagire a deformazioni della superficie come se queste deformazioni
ci fossero davvero. Ricordi l'esperimento del bicchiere di vetro ?
Se abbiamo trovato un bicchiere con una decorazione incisa sulla sua superficie,
probabilmente abbiamo notato che questa decorazione si vede anche nei riflessi
proiettati dal vetro. Quando abbiamo una superficie trasparente con un
blocco normal{...}
applicato, i riflessi proiettati da questa superficie ne simulano le irregolarità,
che si vedono poi nell'ombra che l'oggetto forma.
A seguire, un esempio di cosa intendiamo : semplicemente vogliamo
rappresentare l'acqua in una piscina. Abbiamo ridotto questo esempio ad
un piano sopra di noi, che rappresenta l'acqua, uno sotto che rappresenta
il pavimento, una camera appena sotto il pelo dell'acqua, rivolta al pavimento
ed una sorgente luminosa in alto (vedi il file caustic2.pov).
#include "colors.inc"
// La camera è sott'acqua, rivolta verso il fondo della piscina
// per vedere meglio i riflessi proiettati.
camera {
location <0, -5, 0>
look_at <0, -10, -5>
}
light_source { <0, 100, 49.5> color White }
// il fondo della piscina...
plane { y, -10
texture {
pigment { color rgb <0.6, 0.7, 0.7> }
finish { ambient 0.1 diffuse 0.7 }
scale 0.01
}
}
// e la superficie dell'acqua
plane { y, 0
texture {
pigment { rgbf <0.6, 0.67, 0.72, 0.9> }
normal {
bumps .6
scale <.75, .25, .25>
rotate <0, 45, 0>
}
finish { caustics .9 }
}
}
![]() |
Fig. 137-Riflessi dell'acqua
Le irregolarità che abbiamo dato all'acqua con bumps rappresentano le ondulazioni piccole e casuali che si formano sull'acqua quando soffia una lieve brezza . Potremmo avere usato ripples o waves, come se qualcosa fosse caduto in acqua da poco, ma per un esempio, bumps va bene. Notiamo che il pavimento della piscina mostra decine di piccoli punti luminosi, che corrispondono approssimativamente alla superficie dell'acqua. Se vogliamo, possiamo mettere ripples o waves al posto di bumps e vedere come cambiano i riflessi sul fondo. Nonstante il fatto che un piano 'piatto' non proietti riflessi (possiamo provare eliminando il blocco normal{...}), il processo di generazione di falsi riflessi di POV-Ray 'sa' che se la superficie fosse realmente irregolare, come l'istruzione normal{...}indica, la luce rifratta dalla superficie sarebbe abbastanza per proiettare riflessi sul fondo della piscina. Vediamo che anche con una superficie curva, come la sfera dell'esempio precedente, la presenza di un blocco di istruzioni normal{...}causa il comparire di riflessi proiettati da un oggetto. Fatto abbastanza interessante, questo basterebbe per provare che i riflessi sono effettivamente falsi : la nostra acqua non ha nessuna proprietà di rifrazione specificata nella finitura, ma nonostante questo i riflessi sono esattamente gli stessi !
![]() |
![]() |
![]() |