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.