4.5.6.1Superfici Coincidenti.
POV-Ray usa test di superficie per
determinare i punti in cui un raggio interseca un oggetto CSG. Un problema
sorge quando le superfici di due differenti oggetti coincidono, dato che
non c'è modo di distinguere (in base a problemi di calcolo) se un
punto della superficie coincidente appartiene ad un oggetto o ad un altro.
Vediamo il seguente esempio dove viene usato un cilindro per ricavare un
buco da una scatola più grande.
difference {
box { -1, 1 pigment { Red } }
cylinder { -z, z, 0.5 pigment { Green } }
}
![]() |
Fig. 70-Errore nel calcolo della differenza
renderizziamo quest'oggetto vediamo delle
'scaglie' rosse dove dovrebbe esserci il buco. Questo è causato
dalle superfici coincidenti del cilindro e del cubo. A volte, viene colpita
prima la superficie del cilindro dal raggio, dando un' immagine corretta
del foro, a volte viene colpita prima la superficie della scatola, dando
un risultato sbagliato, in cui sparisce il buco ed appaiono le scaglie
rosse. Questo problema può essere risolto aumentando leggermente
le dimensioni del cilindro in modo da sbarazzarsi delle superfici coincidenti,
in questo modo :
difference {
box { -1, 1 pigment { Red } }
cylinder { -1.001*z, 1.001*z, 0.5 pigment { Green } }
}
![]() |
Fig. 71-Differenza corretta
In generale, dobbiamo rendere l'oggetto che viene sottratto un po' più grande, quando lo usiamo in una differenza di oggetti. Dobbiamo solo controllare la presenza di superfici coincidenti e aumentare appropriatamente le dimensioni dell'oggetto che viene sottratto per eliminare il problema.
![]() |
![]() |
![]() |