Home
www.liberliber.it
Contents
1. plane y 10 pigment colour Green light source lt 100 120 40 gt colour White dichiara i colori dell arcobaleno declare r violetl colour rgbf lt 1 0 0 5 1 0 1 0 gt declare r violet2 colour rgbf lt 1 0 0 5 1 0 0 8 gt declare r_indigo colour rgbf lt 0 5 0 5 1 0 0 8 gt declare r blue colour rgbf lt 0 2 0 2 10 048 declare r cyan colour rgbf lt 0 2 1 0 0 0 8 gt declare r green colour rgbf lt 0 2 1 0 0 2 0 8 gt declare r_ yellow colour rgbf lt 1 0 1 0 0 2 0 8 gt declare r_orange colour rgbf lt 1 0 0 5 0 2 0 8 gt declare red colour rgbf lt 1 0 0 2 0 2 0 8 gt declare r _red2 colour rgbf lt 1 0 0 2 0 2 1 0 gt crea l arcobaleno rainbow angle 42 5 width 5 distance 1 0e7 direction lt 0 2 0 2 1 gt jitter 0 01 colour map 0 000 colour r violet1 0 100 colour r violet2 0 214 colour r indigo 0 328 colour r blue 0 442 colour r cyan 0 556 colour r _ green 0 670 colour r _ yellow 0 784 colour r orange 0 900 colour r redi 174 Fig 190 Arcobaleno Abbiamo aggiunto qualche irregolarit al colore usando la parola chiave jitter L arcobaleno nel nostro esempio troppo intenso arcobaleni di questo genere non esistono nella realt Possiamo diminuire l intensit dei colori diminuendo i valori RGB nella mappa 4 10 5 2 Aumentare la Trasparenza dell Arcobaleno I
2. Quando la funzione gradient x d valori compresi tra 0 0 e 0 3 verr usato il pigmento wood opportunamente scalato Per valori da 0 3 a 0 6 si user il pigmento Jade da 0 6 a 0 9 si passer gradualmente a marble per il quale stata specificata una certa turbolenza e per valori superiori a 0 9 sar usato solo i marble Le mappe di pigmenti possono essere rese complesse quanto si vuole I pigmenti che la compongono possono avere a loro volta pigment map o color map o qualunque tipo di pigmento Ogni fattore della pigment_map potr essere un colore solido Quando tutti i fattori saranno colori solidi sarebbe pi opportuno per la maggiore rapidit del rendering che venisse usata la color map Si possono usare anche tipi di pigmenti pi complessi come quelli che coinvolgono checker hexagon e brick Per esempio pigment checker pigment Jade scale 8 pigment White Marble scale 5 In questi casi sono necessarie le parentesi per capire esattamente dove finisce il pigmento precedente ed inizia il successivo La pigment_ map anche usata con la media dei pigmenti dati Vedere Average Media per ulteriori dettagli Non possibile usare pigmenti che abbiano un image map Vedere la sezione Mappe di Texture per modi alternativi da utilizzare per ottenere questo risultato 7 6 1 5 Mappatura di un Immagine 316 Quando tutto fallisce e nessuno dei pigmenti descritti qui sopra ti di u
3. 4 x 4 ad ar Fig 209 La differenza tra due oggetti Ad esempio difference box lt 1 5 1 1 gt lt 0 5 1 1 gt cylinder lt 0 5 0 1 gt lt 0 5 0 1 gt 1 7 5 5 7 Fusione Merge L operazione union unisce semplicemente gli oggetti l uno all altro e non rimuove le superfici all interno dell unione Se si usa un unione trasparente quelle superfici saranno visibili L operazione merge evita questo problema Funziona come l unione ma elimina le superfici interne come mostrato dalla figura 296 Fig 210 La fusione di due oggetti 7 5 6 Sorgenti Luminose L ultimo tipo di oggetto trattato sono le fonti di luce light source Le fonti di luce non hanno un contorno visibile Sono solamente punti che emettono luce La sintassi completa relativa alle sorgenti luminose Light source 4 lt posizione gt color lt colore gt spotlight point at lt puntata verso gt radius raggio falloff FALLOFF tightness apertura area light lt asse 1 gt lt asse2 gt dimensionel dimensione 2 adaptive adattiva jitter JITTER looks like oggetto fade distance distanza di decadimento fade power potenza di decadimento atmospheric attenuation on off I diversi tipi di sorgenti luminose e i relativi modificatori opzionali saranno descritti nelle sezioni seguenti 7 5 6 1 Luci Puntiformi 297 Una sorgente luminosa manda luce di un
4. Fig 132 Indice di rifrazione uguale a 1 75 Notiamo come cambia la distorsione 4 8 4 5 Attenuazione delle Luci Possiamo fare in modo che l intensit della luce che attraversa un oggetto trasparente venga diminuita Nella realt questo dovuto ad imperfezioni nella trasmissione della luce attraverso il mezzo Due parametri determinano questo effetto fade distance la distanza che la luce deve percorrere per raggiungere la met della sua intensit mentre fade power rappresenta la velocit con cui diminuisce l intensit Proviamo un esempio sphere lt 0 0 0 gt pigment White filter 1 finish ambient diffuse reflection 15 refraction 1 108 ior 1 45 specular 1 roughness 001 fade distance 5 fade power 1 Fig 133 Attenuare la luce che passa attraverso la sfera Questo impartisce alla sfera un aspetto leggermente opaco come se non tutta la luce potesse attraversarla Per interessanti variazioni su questa texture proviamo ad abbassare ior a 1 15 e ad alzare reflectiona0 5 Fig 135 Una variazione 4 8 4 6 Falsi Riflessi Caustics 4 8 4 6 1 Cosa Sono i Riflessi Per prima cosa saccheggiamo le mensole della nostra cucina Abbiamo bisogno di bicchieri trasparenti di vetro o di cristallo Se hanno una decorazione incisa meglio ancora Uno per uno li mettiamo sotto una luce e osserviamo l ombra che creano sul tavolo sottostante Se guardia
5. sphere 0 pigment color rgbt lt 1 1 1 1 gt halo attenuating 124 spherical mapping linear color map 0 color rgbt 1 color rgbt samples 10 hollow ct ct A O SD O V Fig 148 Primo elemento alone semplice Sebbene le nuvole siano normalmente bianche o grigie ma non rosse faremo questa nuvola rossa per renderla pi visibile contro lo sfondo a scacchi bianchi e neri Il colore della halo attenuante calcolato dalla densit totale accumulata dopo che un raggio ha viaggiato attraverso tutto il campo di particelle Dobbiamo ricordarci di questo quando creiamo la mappa dei colori Vogliamo che le zone a bassa densit della nuvola siano altamente trasparenti per cui usiamo un colore rgbt lt 1 0 0 1 gt e vogliamo altres che le zone ad alta densit siano opache e quindi scegliamo rgbt lt 1 0 0 0 gt 4 8 5 4 2 Ridimensionare il Contenitore dell Alone La nuvola che abbiamo fatto prima non sembra molto realistica E solo una palla rossa parzialmente trasparente Per ottenere un risultato migliore dobbiamo usare qualcuno dei metodi che abbiamo imparato nei paragrafi precedenti sulle halo emittenti Aggiungiamo un po di turbolenza per ottenere una sagoma pi realistica ingrandiamo il contenitore dell alone per evitare che la sua superficie diventi visibile e diminuiamo la trasparenza delle aree con alta densit Un altra idea dimensionare i
6. Dove r_0 il raggio maggiore del toro la distanza tra il centro del foro della ciambella e la met dell anello e r_1 il raggio minore del toro la distanza cio tra la met dell anello e la superficie esterna L equazione definisce un toro che ha raggio maggiore 6 3 e raggio minore 3 5 il diametro cos appena inferiore a 20 Toro di raggio maggiore sqrt 40 e raggio minore sqrt 12 quartic SILE Oy 20 LOS 22a O Om Ze 105 L 04p 0 Oe Oy Or 0 05 Og O O Oy Ip Og O05 Zi 04 15 60 20 Oi Or Oi Ly O L04084 sturm bounded by bounded by accelera il rendering sphere lt 0 0 0 gt 10 A Polinomiali cubiche e quartiche sono come e quadriche nel senso che non necessario capirle per usarle Il file shapesq ine ha molte quartiche predefinite La sintassi necessaria per usare una quartica predefinita object Nome Quartica Le polinomiali usano calcoli molto complessi e non sempre risulteranno perfette Se la superficie non regolare ha punti disposti in modo strano o casuale prova ad usare la parola chiave sturm nella definizione Ci far eseguire a POV Ray dei calcoli pi lenti ma pi accurati Normalmente ma non sempre ci risolver il problema Se sturm non funziona prova a ruotare o traslare l oggetto di poco Vedi la sottodirectory math nella directory dei file scena per esempi dell uso delle polinomiali nelle scene Ci sono talmente tante quartich
7. Ognuno dei termini all interno di una texture facoltativo ma se sono presenti degli identificatori questi devono essere inseriti per primi e le trasformazioni devono essere scritte per ultime I parametri riguardanti i pigmenti le normali le finiture modificano qualunque parametro riguardante pigmenti normali e finiture precedentemente specificato all interno degli identificatori di texture Gli aloni sono aggiunti agli aloni gi esistenti Se non specificato nessun identificatore di texture i parametri dei pigmenti delle normali e delle finiture modificano i valori correnti e tutte le halo sono aggiunte alla halo predefinita se c Le trasformazioni sono traslazioni rotazioni ridimensionamento e matrici Devono essere specificate per ultime I paragrafi seguenti descrivono tutte le opzioni disponibili per quanto riguarda tutti i pigmenti le normali le finiture e gli aloni Le texture speciali sono spiegate pi avanti 7 6 1 Pigmento Il colore o la disposizione di pi colori per un oggetto sono definiti da una frase pigment Tutte le texture semplici devono avere un pigmento Se non ne viene specificato uno sar usato quello predefinito Una frase relativa al pigmento una parte delle specificazioni di una texture Comunque pu essere noioso usare frasi relative alle texture solo per aggiungere un colore ad un oggetto Quindi si pu aggiungere un pigmento direttamente all oggetto senza specificare esplicitamente che qu
8. 4 8 5 2 2 Aumentare la Luminosit I colori dell alone nell immagine che abbiamo appena visto sono piuttosto tenui Si vede troppo sfondo dietro l alone Non assomiglia molto a del fuoco vero Un modo semplice per rimediare a questo inconveniente diminuire la trasparenza delle particelle nelle zone ad alta densit Otteniamo questo risultato usando la seguente mappa di colori al posto della vecchia il valore di trasmittanza negativo corretto olor map 0 color rgbt 1 color rgbt CT CT wom 117 Fig 141 Aumentare la luminosit Osservando il risultato file halo02 pov vediamo che l alone senza dubbio molto pi luminoso 4 8 5 2 3 Aggiungere Turbolenza Ci che abbiamo ottenuto non assomiglia ancora ad un esplosione E pi una palla brillante Vogliamo renderla pi caotica in qualche modo aggiungerle un po di turbolenza E possibile usando la parola chiave turbulence insieme alla quantit di turbolenza che vogliamo aggiungere Esattamente come nell esempio seguente sphere 0 pigment color rgbt lt 1 1 1 1 gt halo emitting spherical mapping linear turbulence 1 5 color map 0 color rgbt 1 color rgbt samples 10 hollow ct ct A oO I V 118 Fig 142 Gli aloni e la turbolenza Aggiungere turbolenza alla halo sposta tutti i punti all interno del contenitore in maniera pseudo casuale Ci risul
9. muove la sfera da lt 10 10 10 gt a lt 5 12 11 gt Questa operazione non muove l oggetto nella posizione assoluta lt 5 2 1 gt Una traslazione di zero in una delle tre direzioni lascer l elemento immutato rispetto a quell asse Per esempio sphere lt 10 10 10 gt 1 pigment Green translate 3 x viene considerato come lt 3 0 0 gt cos muove di 3 unit nella direzione x e lascia inalterato lungo le y e le z 7 3 1 2 Ridimensionamento Puoi cambiare la dimensione di un oggetto o di una texture aggiungendo il parametro di ridimensionamento Esso consiste della parola chiave scale seguita da un espressione vettoriale I 3 termini del vettore specificano l ammontare del ridimensionamento in ognuna delle direzioni x y ez 249 Il ridimensionamento usato per allungare o schiacciare un elemento della scena Valori pi grandi di uno allungano l elemento sull asse a cui fa riferimento lo scaling mentre valori minori dell unit sono usati per schiacciarlo lungo quell asse Il ridimensionamento relativo alla dimensione attuale dell elemento Se l elemento stato precedentemente ridimensionato usando il comando scale allora il cambio di scala sar relativo alla nuova dimensione Ci significa che questo comando non opera sulla dimensione che l oggetto poteva avere originariamente Possono essere usati valori multipli di ridimensionamento Per esempio sphere lt 0 0 0 gt 1 sca
10. essere necessario l aiuto di una persona esperta nell installazione del sistema operativo dato che le librerie di X Windows non sono sempre nella stessa posizione 2 3 6 Tutte le versioni Ogni archivio eseguibile contiene la documentazione completa per POV Ray insieme a istruzioni specifiche per il determinato tipo di piattaforma Tutte le versioni del programma dividono le stesse funzioni come oggetti illuminazione e materiali In altre parole un Personal Computer pu creare le stesse immagini di un supercalcolatore Cray purch abbia abbastanza memoria ed il proprietario abbastanza tempo N d T L utente vorr procurarsi l eseguibile che meglio si adatta al proprio hardware Vedi il paragrafo Dove Trovare i File di POV Ray per indicazioni su dove reperire i file necessari Queste fonti possono essere contattate per informazioni su quale sia la versione che meglio si adatta alle proprie esigenze ed alle proprie disponibilit hardware 2 3 7 Compilare POV Ray Questo paragrafo tende a scoraggiare in maniera sufficientemente terroristica la compilazione casalinga di POV Ray N d T Le sezioni successive saranno di aiuto a compilare il codice C in cui scritto POV Ray in un eseguibile funzionante Sono dirette solo a quelle persone che desiderino compilare una versione personalizzata di POV Ray o portare il software su di una piattaforma non ufficialmente supportata La prima domanda da porsi Ho realmente bisogno di compila
11. possibile applicare qualunque modificatore di texture Non si possono aggiungere alla texture al di fuori della mappa dei materiali frasi di colore normali finitura o halo La seguente sintassi non permessa texture material map gif matmap gif texture T1 texture T2 texture T3 finish phong 1 0 La finitura deve essere aggiunta ad ogni singola texture Le precedenti versioni di POV Ray permettevano queste impostazioni ma esse venivano ignorate La suddetta restrizione sulla sintassi stata resa necessaria per la correzione degli errori Questo significa che alcune scene di POV Ray 1 0 che usano mappe di materiali possono aver bisogno di alcune modifiche che non possono essere apportate automaticamente con l uso della parola chiave version Se alcuni particolari colori non sono usati in un immagine potr essere necessario fornire al loro posto una texture fasulla In altre parole potr essere necessario usare un programma di disegno o altri programmi per esaminare la tavolozza dei colori dell immagine e determinare come creare la lista delle texture Le texture all interno di una mappa di materiali possono essere texture stratificate ma texture che fanno uso di una mappa di materiali non possono diventare strati di altre texture stratificate Per usare una texture stratificata all interno di una mappa di materiali necessario dichiararla con un identificatore di texture e richiamarla a
12. sturm I punti da lt PUNTO0 gt a lt PUNTOn 1 gt sono vettori a due dimensioni composti dal raggio e dall altezza corrispondente cio la posizione sull asse di rotazione Questi punti sono collegati insieme da una curva e ruotati attorno all asse delle y a formare l oggetto SOR Il primo e l ultimo punto sono utilizzati come punti di controllo della curva La funzione utilizzata per calcolare la curva che congiunge i punti simile alla funzione spline utilizzata per gli oggetti lathe La differenza che gli oggetti SOR sono meno flessibili poich devono sottostare alle leggi che regolano tutte le funzioni matematiche e cio che ad ogni punto dell asse y deve corrispondere al massimo un punto della funzione cio un valore di raggio Non si possono usare curve chiuse per un oggetto SOR La parola chiave open ti permette di rimuovere le chiusure alle estremit dell oggetto Se viene utilizzata non si dovrebbe usare l oggetto SOR in oggetti CSG poich potrebbe dare risultati errati L oggetto SOR utile per creare bottiglie vasi ed oggetti simili Un semplice vaso potrebbe essere declare Vaso sor T lt 0 000000 0 000000 gt lt 0 118143 0 000000 gt lt 0 620253 0 540084 gt lt 0 210970 0 827004 gt lt 0 194093 0 962025 gt lt 0 286920 1 000000 gt lt 0 468354 1 033755 gt open Ci si potrebbe chiedere perch ci sia bisogno di un oggetto SOR quando si ha gi a
13. 126 attenuating spherical mapping linear turbulence 1 color map 0 color rgbt 1 color rgbt samples 10 scale lt 0 75 0 5 1 gt translate lt 0 4 0 0 gt halo attenuating spherical mapping linear turbulence 1 color map i 0 color rgbt 1 color rgbt samples 10 scale 0 5 translate lt 0 0 2 0 gt hollow ct ct ct ct A O oO I V Fig 150 Tre halo Le tre halo utilizzate differiscono solo nella posizione cio nel vettore di traslazione che abbiamo usato Le prime due halo servono a formare la base della nuvola mentre la terza si trova sopra le altre La sfera ha un raggio diverso da quella che abbiamo usato prima perch c bisogno di piu spazio per tutte e tre le halo Il risultato di halo23 pov assomiglia in qualche modo ad una nuvola per quanto possa avere bisogno di qualche rifinitura 4 8 5 5 L Alone Polvere 127 L alone polvere un tipo di alone molto complesso Ci permette di vedere l interazione della luce che proviene da una sorgente luminosa con le particelle dell alone Queste particelle assorbono luce nello stesso modo dell alone attenuante in pi disperdono la luce Questo rende visibili i raggi di luce e le ombre proiettate dagli oggetti 4 8 5 5 1 Iniziare con un Oggetto Illuminato da uno Spot Iniziamo da un oggetto di forma rettangolare illuminato da una luce spot Non usiamo nessuna halo al momento perch
14. 90 I pigmenti possono essere fusi assieme nello stesso modo in cui si fondono i colori in una mappa di colori usando le stesse parole chiave che si usano per i pigmenti Proviamo Aggiungiamo le seguenti dichiarazioni assicurandoci che compaiano prima delle altre nel file declare Cloudsl pigment bozo turbulence 1 color map 4 0 0 color White filter 1 0 5 color White 1 0 color White filter 1 declare Clouds2 pigment agate turbulence 1 color map 0 0 color White filter 1 0 5 color White 1 0 color White filter 1 declare Clouds3 pigment marble turbulence 1 color map 0 0 color White filter 1 0 5 color White 1 0 color White filter 1 declare Clouds4 pigment granite turbulence 1 color map 0 0 color White filter 1 0 5 color White 1 0 color White filter 1 Ed ora usiamo questi pigmenti che abbiamo appena dichiarato nel nostro strato di nuvole del pianetino Sostituiamo il vecchio strato di texture delle nuvole con declare CloudArea texture pigment gradient y pigment map 0 00 Cloudsl 0 25 Clouds2 0 50 Clouds3 0 75 Clouds4 91 1 00 Clouds1 Renderizziamo questo esempio Fig 112 Pianeta vediamo una disposizione delle nuvole che assomiglia molto a quella della Terra Le nuvole sono divise in fasc
15. Fig 94 Mattoni Notiamo che il piano ora decorato da un motivo a mattoni Notiamo che abbiamo dovuto ruotare il motivo per farlo apparire correttamente sul piano Questo motivo normalmente viene utilizzato su superfici verticali Abbiamo dovuto anche rimpicciolire un po il motivo in modo da poterlo vedere 81 pi facilmente Possiamo giocare con questi pigmenti a lista di colore cambiare i colori ecc Fino ad ottenere un pavimento che ci piace 4 8 2 2 Usare Pigmenti e Pattern Iniziamo con l assegnare una texture alla nostra sfera utilizzando un pattern ed una mappa colore consistente di tre colori Sostituiamo il blocco pigment con il testo seguente pigment gradient x color map 0 00 color Red 0 33 color Blue 0 66 color Yellow 1 00 color Red Renderizzando questo esempio Fig 95 Gradiente lungo l asse x vediamo un interessante sequenza di strisce verticali gradiente Cambiamo la direzione del gradiente a y Fig 96 Gradiente lungo l asse delle y Le strisce sono diventate orizzontali Cambiamo di nuovo la direzione del gradiente a z Fig 97 Gradiente lungo l asse dele z Le strisce sono come anelli concentrici Questo avviene perch la direzione del gradiente punta dalla parte opposta alla camera Rimettiamo la direzione del gradiente ad x e modifichiamo la frase pigment nel seguente modo pigment gradient x color map 0 00 col 0 33 color 0 66 col 1 00
16. anche determina la stessa azione dal momento che in molti programmi proprio questo il segno di negazione POV Ray si fermer se il codice segnala un errore non zero e Pre Frame Return S 4 proceder normalmente se non ci sono errori zero POV Ray si fermer se il codice non segnala errori zero e Pre Frame Return 5S 4 proceder normalmente se ci sono errori non zero La lettera assegnata di default a tutte le opzioni I che significa che qualunque errore si sia verificato durante l utilizzo di un programma di utilit questo verr ignorato POV Ray continuer semplicemente a fare ci che stava facendo prima dell utilizzo di quel programma le altre azioni dipenderanno dal contesto E anche possibile che si desideri riferirsi al loop dell animazione nella sezione precedente L azione per ogni shell la seguente Al ritorno di User Abort Command se c un azione che stata specificata F trasforma l interruzione dell utente in un errore fatale 206 Esegue il comando Fatal Error Command se c Esce da POV Ray con codice 1 S A Q 0 U procede con l interruzione Esce da POV Ray con codice 2 Di ritorno dal Fatal Error Command procede comunque con l errore fatale Esce da POV Ray con codice 1 Di ritorno dal Pre Scene Command Pre Frame Command Post Frame Commando Post _Scene Commands se c un azione che stata specificata F genera un errore fatale Esegue il com
17. 6 2 6 3 Controllo sul Bounding Automatico Bounding bool attiva disattiva il bounding on off MB attiva il bounding livello 25 o quanto specificato prima MB disattiva il bounding Bounding Threshold n imposta il livello di bounding a n MBn attiva il bounding imposta il livello di bounding an disattiva il bounding nel futuro impostera il livello di bounding an Light Buffer bool attiva o disattiva il buffer delle luci on off UL attiva il buffer delle luci 212 UL o disattiva il buffer delle luci Vista Buffer bool attiva o disattiva il vista buffer on off UV attiva il vista buffer UV disattiva il vista buffer POV Ray usa molti sistemi di suddivisione spaziale per aumentare la velocit dei test di intersezione dei raggi con gli oggetti Il sistema primario usa una gerarchia di scatole annidate le une dentro le altre Questo sistema racchiude tutti gli oggetti di dimensione finita dentro delle scatole rettangolari invisibili che sono disposte in una gerarchia ad albero e che sono dette bounding boxes Prima di iniziare a fare le prove con i raggi l albero la gerarchia discendente e sono calcolati solo quei raggi che colpiscono le scatole Questo pu aumentare molto la velocit del rendering Per per scene che contengono comunque pochi oggetti questo sistema diventa un inutile complicazione L opzione Bounding off o il parametro MB possono disattivarlo Il valore predefinito on L opzione Bounding Thr
18. Il motore di raytracing Persistence of Vision crea immagini tridimensionali di realismo fotografico utilizzando una tecnica di rendering detta raytracing Il programma legge un file di testo che contiene informazioni che descrivono gli oggetti e l illuminazione in una scena e genera un immagine di quella scena dal punto di osservazione di una macchina fotografica descritta nello stesso file Il raytracing non una tecnica veloce ma produce immagini di altissima qualit con effetti realistici di riflessione ombreggiatura prospettiva e molto altro 2 1 Cos il Raytracing Il raytracing una tecnica di resa da qui in poi rendering che calcola un immagine di una scena lanciando raggi di luce nella scena stessa Per scena si intende un insieme finito N d T costituito da oggetti sorgenti luminose dal punto di osservazione e da eventuali effetti speciali Per ogni punto dell immagine finale vengono tracciati nella scena uno o pi raggi visivi e viene controllata per ogni raggio l intersezione con ogni oggetto che si trova nella scena I raggi visivi hanno origine nel punto di osservazione rappresentato da una macchina fotografica camera e passano attraverso la finestra di osservazione che rappresenta l immagine finale Ogni volta che un oggetto colpito da un raggio viene calcolato il colore della sua superficie in quel punto Per questo scopo si determina l ammontare della luce proveniente da tutte le sorgenti lum
19. SPn Lo stesso di Preview Start Size n Imposta la dimensione finale dell anteprima a mosaico a n Preview End Size n pixels Epn Lo stesso di Preview End Size n Normalmente mentre si sta sviluppando una scena si fanno molti rendering di prova a bassa risoluzione per vedere se gli oggetti sono posizionati correttamente Spesso la bassa risoluzione non d sufficiente dettaglio e quindi devi renderizzare la scena ad una risoluzione pi alta Una funzione chiamata anteprima a mosaico mosaic preview risolve questo problema renderizzando automaticamente l immagine in fasi successive I primi passaggi forniscono una grossolana rappresentazione dell intera immagine usando grossi blocchi di pixel che assomigliano a piastrelle di un mosaico L immagine poi raffinata usando risoluzioni pi alte ai passaggi successivi Questo metodo di visualizzazione mostra molto velocemente l intera immagine a bassa risoluzione permettendoti di controllare i problemi di maggiore entit della scena Man mano che l immagine viene migliorata puoi concentrare la tua attenzione sui dettagli come ombre e texture Non c bisogno di attendere un rendering a risoluzione piena per trovare i problemi dato che il rendering pu essere interrotto in qualsiasi momento per correggere la scena o se le cose vanno bene pu essere fatto proseguire per renderizzare la scena ad alta qualit e risoluzione Per usare questa funzione si devono prima selezionare 1 valori di al
20. facoltativo ma se presente deve precedere tutti le altre frasi Qualunque frase che lo segue pu sostituire le impostazioni l definite Se non viene specificato alcun identificatore allora le frasi che seguono modificheranno i valori della finitura predefinita Non sono permesse le trasformazioni all interno della finitura poich questa ricopre interamente la superficie 7 6 3 1 Luce Ambiente La luce che si vede nelle parti in ombra proviene dalla riflessione di luce diffusa di altri oggetti Questa luce non pu essere modellata direttamente Possiamo comunque usare un trucco chiamato luce ambient per simulare la luce delle zone in ombra La luce ambiente una luce che diffusa ovunque nella scena E presente dappertutto e illumina le parti in ombra degli oggetti Calcolare l esatta quantit di luce ambiente nella scena sarebbe troppo lungo cos possibile simulare la luce ambiente aggiungendo una piccola quantit di luce bianca a ogni texture sia dove l oggetto illuminato sia dove in ombra Questo significa che le porzioni di oggetto che saranno completamente in ombra conserveranno comunque un po del loro colore E un po come se l oggetto passasse dall illuminazione con la luce ambiente alla vera e propria texture Anche se la sintassi richiederebbe un colore al momento necessario specificare soltanto un valore decimale Per esempio il valore 0 3 creer il vettore colore lt 0 3 0 3 0 3 0 3 0 3 gt che accet
21. hollow mentre il prossimo esempio considera cava solo la seconda sfera perch per la prima sfera stato specificato esplicitamente il parametro hollow off union sphere 0 5 x 1 hollow off sphere 0 5 x 1 hollow 7 5 7 4 No_Shadow Senza Ombra Si pu specificare la parola chiave no_ shadow nella descrizione di un oggetto per far s che questo non proietti ombre Questa funzione utile per effetti speciali e per creare l illusione che l oggetto sia una sorgente luminosa visibile Questa parola chiave era necessaria nelle precedenti versioni di POV Ray che non avevano il comando looks like Adesso utile per creare oggetti come raggi laser o altri effetti irreali Basta aggiungere la parola chiave come segue object Coso no shadow 7 5 7 5 Sturm Alcuni degli oggetti di POV Ray ti permettono di scegliere tra algoritmi veloci ma talvolta non precisi ed algoritmi pi lenti ma pi accurati Questo il caso di tutti gli oggetti la cui superficie per essere risolta richiede la soluzione di un polinomio di terzo o quarto grado Ci sono soluzioni analitiche per quelle funzioni polinomiali che possono essere usate Polinomi di grado inferiore sono banali da risolvere mentre polinomi di gradi superiori al secondo richiedono algoritmi iterativi Uno di questi algoritmi il Polinomio di Sturm La seguente lista mostra tutti gli oggetti per i quali pu essere usato il polinomio di Sturm blob c
22. i il formato del file di output a x e il numero di colori a n Output Alpha bool Attiva disattiva l output del canale alfa on off UA attiva l output del canale alfa UA disattiva l output del canale alfa Bits Per Color n Imposta il numero di bit per punto del file di output a n Il tipo predefinito del file immagine dipende dalla piattaforma che stai usando MS DOS e la maggior parte delle altre hanno output predefinito a immagini Targa a 24 bit non compresse Controlla la documentazione specifica per la tua piattaforma per vedere qual il tuo formato di default Puoi scegliere fra diversi formati usando Output File Type x 0 Fx dove x una delle seguenti opzioni FC Targa a 24 bit compresso RLE EN PNG portable network graphics FP formato PPM Unix FS formato specifico del sistema come Pict Macintosh o BMP di Windows 198 ET Targa a 24 bit non compresso Nota che i vecchi formati dump FD e raw FR sono stati abbandonati perch erano usati raramente e non sono pi necessari Sono stati aggiunti i formati PPM PNG e specifici del sistema Le immagini in formato PPM non sono compresse e hanno una semplice intestazione in formato testo che le rende un formato ampiamente portabile PNG un nuovo formato che stato progettato non solo per sostituire il formato GIF ma anche per correggere i suoi difetti Il formato PNG offre la pi alta compressione disponibile senza perdita di qualit per
23. il sistema di coordinate sinistrorso 7 4 4 6 Trasformazioni sulla Macchina Fotografica Le trasformazioni di traslazione e rotazione possono riposizionare la macchina fotografica dopo che questa stata definita Per esempio camera location lt 0 0 0 gt direction lt 0 0 1 gt up lt 0 1 0 gt right lt 1 0 0 gt rotate lt 30 60 30 gt translate lt 5 3 4 gt In questo esempio la macchina fotografica dopo essere stata creata ruotata di 30 gradi sull asse x di 60 sull asse y e di 30 sull asse delle z e poi traslata in un altro punto nello spazio 7 4 5 Identificatori della Macchina Fotografica Puoi dichiarare se vuoi diversi identificatori della macchina fotografica Questo rende pi facile cambiarle rapidamente Per esempio declare Teleobiettivo camera location z 100 angle 3 declare Grandangolo camera location z 50 angle 15 camera Teleobiettivo edita questa linea per cambiare l obiettivo look at Punto di mira 7 5 Oggetti 261 Gli oggetti sono ci che costituisce la tua scena C un gran numero di oggetti diversi supportati da POV Ray primitive solide finite superfici finite primitive polinomiali solide infinite e sorgenti luminose E supportata anche la Geometria Solida Costruttiva o Booleana CSG Constructive Solid Geometry La sintassi di base di un oggetto una parola chiave che ne descrive il tipo alcuni valori
24. un esempio sphere lt 0 0 0 gt pigment White filter 1 finish ambient 0 diffuse 0 reflection 25 refraction 1 lor 1 33 specular 1 roughness 001 Fig 127 Vetro Questo vetro naturalmente Il vetro un materiale che acquista quasi tutto il suo aspetto da ci che lo circonda Si vede molto poco la superficie perch trasmette o riflette praticamente tutta la luce che riceve vedi il file glass ine per altri esempi Se abbiamo bisogno di un oggetto che sia completamente illuminato indipendentemente dalla situazione delle luci in una data scena possiamo farlo artificialmente specificando un valore per ambient di 1 e di 0 per diffuse Questo eliminer tutte le ombre e fornir semplicemente il pi brillante valore di colore all oggetto in tutti i suoi punti Questo pu essere utile per simulare oggetti che emettono luce come lampadine e per il cielo in scene dove esso non pu essere adeguatamente illuminato con altri mezzi Proviamo ora con la nostra sfera sphere lt 0 0 0 gt 1 pigment White 101 finish ambient 1 diffuse 0 Fig 127 Solo luce ambiente Renderizzando questa scena otteniamo una sfera bianca accecante senza riflessi o parti in ombra Potrebbe dare un buon lampione 4 8 4 2 Punti di Riflessione Nell esempio del vetro che abbiamo fatto sopra abbiamo notato dei piccoli punti luminosi sulla superficie della sfera Questo dava alla sfera un
25. 0 gt 0 gt lt 3 lt 3 lt 3 lt 3 0 2 gt 1 0 gt Li 027 3p ae I triangoli in una superficie bicubica sono automaticamente smussati usando la normale interpolazione ma compito di chi le crea o del programma che le crea creare punti di controllo che uniscano con uniformit pi superfici 7 5 3 2 Disco Un altro oggetto piatto di dimensioni finite realizzabile con POV Ray il disco Questo oggetto molto sottile e non ha spessore Se vuoi un disco con almeno un po di spessore dovrai usare un cilindro molto basso Il disco definito cos disc lt CENTRO gt lt NORMALE gt RAGGIO RAGGIO DEL BUCO Il vettore lt CENTRO gt definisce le coordinate x y z del centro del disco Il vettore lt NORMALE gt indica la sua orientazione descrivendo il vettore normale alla superficie E seguito da un decimale che specifica il raggio E facoltativo aggiungere un altro decimale che specifica il raggio di un buco da ritagliarsi all interno del disco a partire dal centro 7 5 3 3 Mesh L oggetto mesh pu essere usato per memorizzare in modo efficiente molti triangoli La sintassi mesh triangle lt VERTICE1 gt lt VERTICE2 gt lt VERTICE3 gt texture smooth triangle lt VERTICEI1 gt lt VERTICE2 gt lt VERTICE3 gt texture lt NORMALE1 gt lt NORMALE2 gt lt NORMALE3 gt FI hierarchy ON OFF Un qualu
26. 199 6 2 2 3 3 Buffer del File di Output Buffer_Output bool Attiva disattiva il buffer di output on off B Attiva il buffer di output B Disattiva il buffer di output Imposta la dimensione del buffer a n kilobyte Se n zero non crea il Buffer_Size n buffer Se n minore di quanto definito dal sistema usa il default di sistema Bn Attiva il buffer ne imposta la dimensione ad n Bn Disattiva il buffer nelle versioni future ne imposta la dimensione ad n Le opzioni Buffer Output e Buffer Size e il parametro B permettono di assegnare grandi buffer di memoria al file di output Questo riduce il tempo speso nello scrivere sul disco Se questo parametro non specificato allora quando ogni riga finita la linea viene scritta sul file ed il buffer viene vuotato Sulla maggior parte dei sistemi questa operazione assicura che il file venga scritto su disco cosicch in caso di un crash del sistema o di altri eventi catastrofici almeno una parte dell immagine viene salvata sul disco e quindi possibile recuperarla L impostazione predefinita di non usare il buffer 6 2 2 4 Istogramma di Impiego della CPU L istogramma di utilizzazione della CPU un modo di capire dove POV Ray impiega il tempo di rendering e anche un modo interessante per fare height fields L istogramma divide lo schermo in una griglia rettangolare Mentre POV Ray renderizza l immagine l istogramma calcola la quantit di tempo impiegato per renderizzare cia
27. 336 riferita all origine del sistema di coordinate bisogna tenere presente questa regola gli oggetti contenenti halo devono essere centrati sull origine Possono poi essere successivamente trasformati a seconda delle esigenze Ogni tipo di mappatura viene spiegato in dettaglio nei paragrafi seguenti 7 6 4 4 1 Mappatura Cubica La mappatura cubica Box Mapping pu essere usata per creare una distribuzione di particelle a forma di parallelepipedo La mappatura calcolata prendendo il massimo dei valori assoluti dati per ogni coordinata secondo la formula r x y z max abs x abs y abs z I valori maggiori di 1 verranno ridimensionati a 1 7 6 4 4 2 Mappatura Cilindrica La distanza r x y z dall asse Y data dalla formula r x y zZz sqrt x x z z usata per determinare i valori dell intervallo I valori pi grandi di 1 verranno ridimensionati a 1 7 6 4 4 3 Mappatura Planare La distanza r x y z dal piano X Z data dalla formula r x y z abs y usata per determinare i valori dell intervallo I valori pi grandi di 1 verranno ridimensionati a 1 7 6 4 4 4 Mappatura Sferica La distanza r x y z dall origine data dalla formula t x Yr Zy sgqrt x x y y z z usata per determinare i valori dell intervallo I valori maggiori di 1 verranno ridimensionati a 1 7 6 4 5 Funzione Densit La funzione densit Density Function determina come viene calcolata una mappatura di densit da un
28. 7 5 6 4 attenuazione 4 6 7 2 7 5 6 9 attenuazione attraverso un oggetto 7 6 3 5 1 cilindrica 4 6 4 7 5 6 3 interazione con l atmosfera 4 6 7 3 7 5 6 8 puntiforme 4 6 2 7 5 6 1 senza ombra 4 6 7 1 7 5 6 5 spot 4 6 3 7 5 6 2 M Macchina fotografica identificatori 7 4 5 messa a fuoco 4 2 1 7 4 2 normali 7 4 3 posizionamento 7 4 4 trasformazioni 7 4 4 6 Mappatura 4 9 colori 7 6 1 3 colori halo 7 6 4 6 densita halo 7 6 4 4 halo 7 6 4 1 immagini 7 6 1 5 mappe di materiali 4 9 8 7 6 5 3 mappe slope 7 6 2 1 normali 4 9 2 7 6 2 2 pigmenti 4 9 1 7 6 1 4 textures 4 9 3 7 6 5 1 Massimo max Mesh vedi Oggetti Minimo min Modificatori immagini 7 6 8 9 halo 7 6 4 8 pattern 4 8 2 3 7 6 8 pigmento 7 6 1 5 3 oggetti 7 5 7 trasformazioni 7 3 1 414 N Nebbia 4 10 3 7 7 3 costante 4 10 3 1 filtrante 4 10 3 3 raso terra 4 10 3 5 strati multipli 4 10 3 6 Normali 4 8 3 7 6 2 bump_map 7 6 2 3 macchina fotografica 7 4 3 mappatura 4 9 2 7 6 2 2 mappe slope 7 6 2 1 pattern 4 8 3 1 7 6 7 O Oggetti blob 4 4 2 7 5 2 1 componenti 4 4 2 1 cilindro 4 3 3 7 5 2 4 cono 4 3 2 7 5 2 3 disco 7 5 3 2 frattali Julia 7 5 2 6 height field 4 4 3 7 5 2 5
29. Dove IDENTIFICATORE il nome dell identificatore che pu arrivare fino a 40 caratteri STRINGA una costante stringa un identificatore di stringa o una funzione che riporta un valore di stringa Di seguito alcuni esempi declare Nome Carattere arial ttf declare Inc File miofile inc declare Nome John declare Nome concat Nome Doe Come mostra l ultimo esempio puoi ri dichiarare un identificatore di stringa e puoi usare valori precedentemente dichiarati in quella nuova dichiarazione 7 1 7 Identificatori Incorporati Vi sono molti identificatori decimali e vettore incorporati in POV Ray Puoi usarli per specificare valori o per creare espressioni ma non possibile modificare i loro valori 7 1 7 1 Costanti Numeriche Incorporate La maggior parte degli identificatori incorporati non cambiano mai valore Essi sono definiti come se le seguenti linee fossero scritte all inizio di ogni scena declare pi 3 1415926535897932384626 declare true 1 declare yes 1 declare on 1 declare false 0 declare no 0 declare off 0 declare u lt 1 0 gt declare v lt 0 1 gt 234 declare x lt 1 0 0 gt declare y lt 0 1 0 gt declare z lt 0 0 1 gt declare t lt 0 0 0 1 gt L identificatore incorporato decimale pi r risulta evidentemente utile in espressioni di matematica che prendono in considerazione dei cerchi Gli identificato
30. Fig 125 Riflesso ampio Guardando il risultato vediamo un riflesso largo e sfumato simile a quello che avevamo ottenuto usando phong size uguale a 25 Cambiamo il valore di roughness a 0 001 e renderizziamo di nuovo Fig 126 Riflesso pi nitido Ora vediamo un riflesso piccolo e netto simile a quello che avevamo ottenuto con phong size uguale a 150 In generale la riflessione speculare leggermente pi accurata della riflessione di Phong ma nel progettare una texture si dovrebbero provare entrambi i metodi Esistono anche casi in cui entrambi i metodi possono essere utilizzati assieme in una finitura 4 8 4 3 Utilizzo di Reflection e Metallic C un altro parametro per simulare la finitura delle suoperfici reflection riflessione speculare Superfici molto brillanti normalmente hanno un alto grado di riflessione Vediamo un esempio sphere lt 0 0 0 gt 1 pigment Gray50 finish ambient 2 104 diffuse 6 specular 75 roughness 001 reflection 5 Fig 126 Alto livello di riflessione speculare Vediamo che la nostra sfera ora riflette il piano a scacchi bianchi e verdi e lo sfondo nero ma il colore grigio della sfera sembra inadatto Questo un altro caso in cui abbiamo bisogno di un basso valore per la luce diffusa In generale maggiore la riflessione minore dovrebbe essere la luce diffusa Abbassiamo il valore della luce diffusa a 0 3 e quello della luce ambiente a 0 1 e renderizzia
31. Inverted se si inserisce la parola chiave inverted i punti sono respinti dal centro invece di venirne attratti Repeat repeat permette di simulare l effetto di molti buchi neri senza doverli dichiarare esplicitamente Repeat un vettore che dica a POV Ray di usare il buco nero definito in pi posizioni Se non ti interessa la teoria dietro a tutto questo salta il testo seguente e usa i valori riassunti pi avanti non osate saltarlo altrimenti perch abbiamo fatto la fatica di tradurlo N d T Usare repeat divide la scena in parallelepipedi il primo dei quali si estende dall origine al punto specificato dal vettore repeat Supponiamo che il vettore sia lt 1 5 2 gt Il primo parallelepipedo si estenderebbe tra lt 0 0 0 gt e lt 1 5 2 gt Questo parallelepipedo si ripete quindi ce ne sarebbero tra lt 0 0 0 gt e lt 1 5 2 gt tra lt 1 5 2 gt e lt 2 10 4 gt e cos via in tutte le direzioni all infinito Quando usi repeat il vettore che specifica il centro del buco nero non specifica una posizione assoluta rispetto agli assi ma relativa ad ogni parallelepipedo Si possono usare solo valori positivi valori negativi darebbero risultati indefiniti Supponiamo che il centro sia lt 0 5 1 0 25 gt e che il vettore repeat sia lt 2 2 2 gt Questo ci d un parallelepipedo tra lt 0 0 0 gt e lt 2 2 2 gt ecc i centri dei buchi neri per questi blocchi sarebbero lt 0 0 0 gt lt 0 5 1 0 25 gt lt 0 5 1 0 25 gt e lt 2 2 2 gt lt 0
32. da come risultato SALUTI A TUTTI val S1 Converte la stringa S1 a un valore decimale Da come risultato un valore decimale che rappresentato dal testo in S1 Per esempio val 123 45 123 45 come valore decimale 7 2 Istruzioni del Linguaggio Il linguaggio di descrizione delle scene in POV Ray contiene molte frasi chiamate istruzioni del linguaggio che indicano all elaboratore del file come svolgere il suo lavoro Queste istruzioni possono apparire quasi ovunque all interno del file di scena anche al centro di alcune istruzioni Sono usate per includere altri file di testo nell insieme di comandi dichiarare identificatori definire istruzioni condizionali o cicliche e per controllare altri importanti aspetti nell elaborazione del file di scena Ciascuna istruzione comincia col carattere Esso seguito da una parola chiave e facoltativamente da altri parametri Nelle versioni precedenti di POV Ray l uso del carattere era opzionale Le istruzioni del linguaggio potevano essere usate solo tra oggetti o frasi riguardanti la macchina fotografica e le sorgenti luminose e non potevano apparire all interno di queste L eccezione era include che poteva essere presente ovunque Ora che tutte le istruzioni del linguaggio possono essere usate quasi dovunque il carattere obbligatorio Le seguenti parole chiave precedono istruzioni del linguaggio break case debug declare default felse fend render statistics Sw
33. funziona ugualmente Molto Alta W800 H600 L tichette possono contenere spazi Quando si specifica un file ini si deve aggiungere il nome dell eventuale etichetta tra parentesi quadre Ad esempio POVRAY RES Media Imyfile pov POV Ray legge res ini e ignora tutte le opzioni finch non trova l etichetta Media ed esegue le opzioni specificate da questa etichetta finch non ne trova un altra dopo di che ignora il resto Se nessuna etichetta specificata nella linea di comando viene letta solo l area senza etichetta in cima al file Se un etichetta specificata allora l area senza etichetta viene ignorata 6 1 3 Usare la Variabile d Ambiente POVINI La variabile d ambiente POVINI utilizzata per specificare la posizione e il nome di un file ini di default che viene letto ogni volta che si esegue POV Ray Se POVINI non specificata pu essere letto un file ini di default a seconda della piattaforma utilizzata Se il file specificato non esiste viene visualizzato un messaggio di avvertimento warning Per impostare le variabili d ambiente sotto MS DOS necessario inserire nel file autoexec bat la seguente riga set POVINI c povray3 default ini 187 Su quasi tutti i sistemi operativi la sequenza di lettura delle opzioni la seguente 1 legge opzioni dal file ini di default specificato dalla variabile d ambiente POVINI o da uno specifico file ini 2 legge i parametri dalla riga di
34. lt 0 1 2 gt 2 texture PinkAlabaster Fig 91 Un altra texture predefinita 4 8 Opzioni Avanzate sulle Texture La capacit estremamente potente di POV Ray di gestire le texture una caratteristica che lo separa dagli altri programmi di raytracing Fino ad ora non abbiamo provato niente di troppo complesso ma dovremmo essere abbastanza a nostro agio con la sintassi del programma per provare alcune delle opzioni pi avanzate sulle texture Ovviamente non possiamo provarle tutte Servirebbe un tutorial di molte pi pagine per usare ogni opzione relativa alle texture disponibile in POV Ray Per questo tutorial ci accontenteremo di provarne solo alcune per dare un idea di come 79 vengono create le texture Con un po di pratica presto saremo in grado di crearci le nostre belle texture personali 4 8 1 Pattern sui Pigmenti e sulle Normali Le versioni precedenti di POV Ray facevano una distinzione tra i pattern da applicare al pigmento e quelli da applicare alle normali Con POV Ray 3 0 questa restrizione stata rimossa in modo che tutti i pattern elencati nel paragrafo Motivi possono essere utilizzati sia nelle frasi pigment che nelle frasi normal 4 8 2 Pigmenti Ogni superficie deve avere un colore In POV Ray questo colore viene chiamato pigment pigmento Non necessario che questo sia un singolo colore Pu essere un motivo composto di pi colori una lista di colori od anche un immagine I pigmenti possono
35. necessario quindi ci possono essere vari tipi di messaggi mescolati La distinzione importante solo se si decide di disattivare alcune opzioni Su alcuni sistemi operativi si possono rivedere in un buffer separato Qui c una descrizione di ogni tipo Banner questa parte dei messaggi mostra la schermata iniziale banner del programma il copyright la lista di coloro che hanno contribuito alla realizzazione e alcuni messaggi di aiuto Non pu essere disattivata o inserita in un file di output perch molto del testo che vi compare viene mostrato ancora prima che POV Ray legga le opzioni o i parametri cos come non possibile avere un opzione od un parametro che la controlli Ci sono per parametri che mostrano la parte relativa agli aiuti Sono trattati nella sezione Comandi per le Schermate di Aiuto Debug questa parte mostra i messaggi relativi alla correzione del programma debug E stata ideata principalmente per coloro che sviluppano il programma ma pu essere usata per mostrare messaggi durante l analisi del file della scena Vedere la sezione Messaggi di Testo per ulteriori informazioni Questa parte pu essere attivata o disattivata o trascritta in un file di testo Fatal mostra gli errori fatali Dopo aver mostrato questo testo POV Ray si fermer Quando l errore si verificato durante il parsing di una scena verranno mostrate le righe della scena che contengono l errore Anche questa parte pu essere attiv
36. pigment White Marble pigment Black Marble Quando viene usato con normali la sintassi la seguente normal hexagon QUANTITA dove QUANTITA un numero decimale facoltativo che indica la dimensione dei rilievi Si possono utilizzare anche intere descrizioni di normali come normal hexagon normal gradient x scale 2 normal gradient y scale 2 normal bumps scale 2 Quando usato con texture la sintassi invece texture hexagon texture T Gold 3A texture T Wood 3A texture Stonel2 Questo pattern non pu usare forme d onda mappe di colori o mappe slope 7 6 7 12 Leopard Leopardo Il pattern leopard crea un motivo geometrico di macchie circolari Il pattern leopard usa l onda ramp_wave di default ma pu usare qualunque tipo di onda Il pattern leopard pu essere usato con mappe di colore pigmento normali texture e slope 7 6 7 13 Mandel Il pattern mande1 calcola il classico insieme di Mandelbrot e lo proietta sul piano x y Per calcolare l insieme di Mandebrot usa le coordinate x ed y Il pattern mande 1 si indica con la parola chiave mandel seguita da un numero intero che definisce il numero massimo di iterazioni da usare per il calcolo Valori tipici vanno da 10 a 256 ma si pu usare qualsiasi numero intero Ad esempio pigment mandel 25 color map 0 0 color Cyan 0 3 color Yellow 0 6 color Magenta 1 0 c
37. realistico la interriflessione diffusa della luce Questo effetto pu essere visualizzato immaginando di mettere una sedia bianca in una stanza con un tappeto blu le pareti blu ed il soffitto blu La sedia assumer una sfumatura blu da ci che la circonda E anche da notare che le aree in ombra che ti circondano non sono completamente nere anche se su di esse non brilla nessuna luce in modo diretto La luce diffusa che riflessa dagli altri oggetti schiarisce le ombre Normalmente il raytracing usa un metodo di simulazione di questo effetto chiamato uce ambiente ma non molto accurato Il metodo radiosity molto pi accurato della semplice luce ambiente ma richiede molto pi tempo di calcolo Per questo motivo non normalmente utilizzato da POV Ray Per utilizzarlo necessario utilizzare il parametro qr nella linea di comando o l opzione INI Radiosity I Paragrafi seguenti spiegano come funziona il metodo radiosity come controllarlo mediante impostazioni globali e forniscono alcuni suggerimenti sul rapporto qualit velocit dei rendering che fanno uso di questa funzione 7 8 9 1 Come Funziona la Radiosity 387 Il problema principale del raytracing di scoprire quale il livello di illuminazione di ogni punto visibile in una scena Normalmente l illuminazione di un punto divisa in questi quattro componenti Luce diffusa l effetto che rende pi chiari i lati degli oggetti che sono di fronte alla luce Luce sp
38. trasformato nel punto Q usando le trasformazioni a cui soggetto l alone In questa fase vengono calcolate tutte le trasformazioni specificate nelle frasi dell alone 3 Viene aggiunta la turbolenza al punto Q la quantit di turbolenza determinata dalla parola chiave turbulence Il calcolo della turbolenza influenzata dalle parola chiave octaves omega e lambda 4 Viene calcolato il raggio r in relazione alla densit propria della mappatura applicata planar mapping spherical mapping cylindrical mapping box mapping Il raggio tenuto nell intervallo tra 0 e 1 cio 0 lt r lt 1 5 la densit d calcolata a partire dal raggio r usando la funzione densit specificata constante lineare cubica polinomiale Il valore massimo determinato dalla parola chiave max value La densit varier tra 0 e max value 6 La densit d prima moltiplicata per il valore della frequenza aggiunta al valore della fase e normalizzata tra 0 e 1 prima che sia usato per calcolarne il colore specificato dalla parola chiave color map Se si sta usando un alone attenuante il colore sar determinato dalla densit totale lungo il raggio e non dalla somma dei colori di ogni campione Tutti i passaggi sono ripetuti per ogni punto campione lungo il raggio che all interno dell oggetto contenitore I passaggi da 2 a 6 sono ripetuti per gli aloni uniti all oggetto contenitore 7 6 4 2 Aloni Multipli E possibile inserire pi di un alone dentro
39. turbulence 0 500 scale lt 0 2500 0 2500 0 2500 gt 148 macchie di vino texture pigment spotted color map 0 000 color rgb lt 0 483 0 165 0 165 gt 0 329 color rgbf lt 1 000 1 000 1 000 1 000 gt 0 734 color rgbf lt 1 000 1 000 1 000 1 000 gt 1 000 color rgb lt 0 483 0 165 0 165 gt turbulence 0 500 frequency 1 500 parallelepipedo macchiato box lt 1 1 1 gt lt 1 1 1 gt texture STAINED TEXTURE translate lt 1 5 1 2 0 gt Fig 167 Terzo campione Ed ora abbiamo una texture per una tovaglia con una sua personalita Un ultimo tocco che possiamo aggiungere alla tovaglia qualche spiegazzatura per dare alla tovaglia un apparenza un po vissuta Questo in effetti non un altro strato vero e proprio ma quando lavoriamo con le texture stratificate dobbiamo fare attenzione che le modifiche alle normali alla superficie si trovino sullo strato pi esterno delle texture I cambiamenti alle normali degli strati interni non hanno alcun effetto sulla texture finale indipendentemente dalla trasparenza degli strati soprastanti Aggiungiamo quest ultimo parallelepipedo al file e renderizziamo nuovamente vedi il file layered4 pov declare WRINKLED TEXTURE scacchi rossi e bianchi texture 149 pigment checker color rgb lt 0 920 0 000 0 000 gt color rgb lt 1 000 1 000 1
40. z 2 c Con due dimensioni in pi e diciotto funzioni con le quali lavorare gli esploratori pi intrepidi saranno in grado di creare nuove bestie frattali da mettere nell iperspazio Fatevi sotto 7 5 2 7 Lathe 274 Gli oggetti torniti sono oggetti creati dalla rotazione di una curva bidimensionale attorno ad un asse Questa curva definita con un insieme di punti che sono connessi tra di loro con curve lineari quadratiche e cubiche La sintassi lathe Linear spline quadratic spline Caubro spline NUMERO DI PUNTI lt PUNTO 1 gt lt PUNTO 2 gt lt PUNTO n gt sturm Il parametro NUMERO DI PUNTI specifica quanti punti bidimensionali formano la curva Questi punti sono uniti fra di loro con curve lineari quadratiche e cubiche come specificato da una parola chiave facoltativa quella di default linear spline Dal momento che la curva non viene chiusa automaticamente cio il primo e l ultimo punto non sono connessi automaticamente necessario che questo venga fatto a mano se vuoi una curva chiusa La curva cos definita ruotata attorno all asse y per formare l oggetto che ha come centro l origine Il seguente esempio crea un semplice oggetto che assomiglia ad un sottile cilindro cio un cilindro delimitato da una sottile superficie lathe linear spline 9 lt 2 US lt 3 037 lt 3 dp Sp 2 02 pigment Red Il cilindro ha il raggio interno di 2 e il raggio ester
41. 0 gt passando da qui 0 5 lt 1 0 gt primo spigolo dell onda quadra 0 6 lt 1 0 gt secondo spigolo 0 6 lt 0 0 gt di nuovo piatto 0 7 lt 0 0 gt qui 0 7 lt 0 3 gt inizia a salire 0 8 lt 1 0 gt piano in cima 0 9 lt 0 3 gt qui finisce 0 9 lt 0 0 gt il resto piano fino a 1 0 object Coso pigment White normal wood slope map Fancy Wave 7 6 2 2 Mappe di Normali La maggior parte delle volte applicherai un motivo con una normale semplice ad un intera superficie ma puoi anche creare un motivo od un insieme di normali usando una mappatura delle normali La sintassi per la mappatura delle normali uguale alla sintassi usata per quella dei pigmenti tranne per il fatto che necessario specificare una normale per ogni componente Una mappatura delle normali si specifica cos normal TIPO DI PATTERN normal map NUM 1 NORMALE 1 NUM 2 NORMALE 2 NUM 3 NORMALE 3 MODIFICATORI 323 Dove NUM_1 NUM_2 sono valori decimali compresi tra 0 0 e 1 0 inclusi e NORMALE N qualunque cosa che di solito apparirebbe all interno di una frase relativa alle normali ma le usuali parole chiave e le parentesi graffe non sono necessarie Le parentesi quadre sono invece parte integrante della frase Non sono notazioni che indicano parti facoltative Le parentesi definiscono ogni componente Ci possono essere da 2 a 256 co
42. 0 gt arc_angle 240 falloff angle 60 E possibile usare pi di un arcobaleno e combinare ognuno degli arcobaleni con altri effetti atmosferici 7 8 Impostazioni Globali La frase global settings una frase che comprende diversi parametri che riguardano la scena nel suo insieme La frase pu apparire ovunque all interno della scena dal momento che non all interno di nessun altro parametro Si possono avere nello stesso file pi di una frase di impostazioni globali Comunque i valori specificati nell ultima frase di impostazioni sovrascrivono quelli precedenti Indifferentemente dalla posizione in cui viene scritta la frase delle impostazioni globali queste saranno comunque applicate all intera scena Alcuni elementi che erano direttive del linguaggio nelle precedenti versioni di POV Ray sono state incluse nelle specificazioni delle impostazioni globali In questo modo pi esplicita l assunzione che il loro effetto si applica a tutta la scena La vecchia sintassi ancora mantenuta ma provoca un messaggio di avvertimento global settings adc bailout DECIMALE ambient light COLORE assumed gamma DECIMALE hf gray 16 ON OFF irid wavelength COLORE max intersections INTERO max trace level INTERO number of waves INTERO radiosity IMPOSTAZIONI RADIOSITY 382 Ogni elemento facoltativo e pu apparire in qualunque ordine Se un elemento specificato pi di una volta l ultima i
43. ER SC e EC fanno la stessa cosa dei i corrispondenti comandi per i file ini le prime versioni di POV Ray supportavano solamente i comandi per le righe iniziale e finale Sn e En 6 2 2 1 3 Opzioni di Interruzione del Rendering Test Abort bool Attiva disattiva la possibilit di interruzione del rendering on off X Attiva l interruzione X Disattiva l interruzione Test_Abort_Count n Attiva la possibilit di interruzione del rendering ogni n pixels Xn Attiva la possibilit di interrompere ogni n pixels Disattiva la possibilit di interrompere ogni n pixels in futuro dii controlla ogni n pixels Su alcuni sistemi operativi quando si avvia un rendering necessario lasciarlo terminare L opzione Test Abort ono il parametro X permette di interrompere il rendering tramite la pressione di un tasto il file verr fermato e saranno salvate solo le righe interamente completate POV Ray esce da questo rendering con un codice di errore 2 normalmente per un rendering finito il codice 0 e per un errore fatale 1 Quando attivata questa opzione la tastiera controllata una volta per ogni linea mentre viene eseguito il parsing e una per ogni pixel mentre viene eseguito il rendering Poich il controllo della tastiera pu rallentare il rendering l opzione Test Abort Count n o il parametro Xn fanno si che il test venga eseguito solo ogni n pixels della scena renderizzata o ogni n righe del file della scena durante il parsin
44. Nota che un successivo runpov riparte con le opzioni contenute nel tuo povray ini e sovrascrive il vecchio rerun ini Sono inclusi altri due file batch runphelp bat utilizzato solo come alternativa per potere usare povhelp da un altra directory Se hai usato la strategia 2 allora usa runphelp bat invece di povhelp exe Questo file batch non serve ad altro Infine t2g bat fa partire il programma tga2gif exe per convertire immagini TGA ad immagini GIF Potresti usare direttamente tga2gif exe ma i suoi parametri predefiniti generalmente non danno i risultati migliori Se invece utilizzi tga2gif vengono aggiunti alcuni comandi che lo migliorano Per una lista completa dei comandi e delle opzioni disponibili per il programma scrivi tga2gif senza parametri 3 2 5 Tipi di Display Abbiamo gi visto come attivare un anteprima dell immagine utilizzando il comando d1 Ecco altri dettagli sulle possibili variazioni sul comando d Usa d per disattivare l uscita a schermo Se usi il comando d probabilmente vorrai utilizzare v per attivare i messaggi modalit verbose in modo da tenere sotto controllo l andamento del rendering Il numero 1 dopo il comando d indica il tipo di hardware video da utilizzare Usando il comando d oppure d0 POV Ray cercher di identificare da solo il tuo hardware video Usa d per avere un messaggio indicante il tipo di hardware che POV Ray ha trovato Puoi anche indicare esplicitamente a POV Ray quale tipo di
45. Opzionalmente il codice sorgente di POV Ray Non necessario per il funzionamento del programma Viene fornito per i curiosi e gli avventurosi povmsd_s zip Il codice sorgente C per POV Ray per MS Dos Contiene parti generiche e parti specifiche per MS Dos Non contiene scene campione file include e documentazione E perci necessario procurarsi anche l archivio contenente gli eseguibili Un compilatore C che possa creare applicazioni a 32 bit in modalit protetta Sono supportati Watcom 10 5a Borland 4 52 con DOS Power Pack e con limitazioni sulle parti grafiche DJGPP1 12maint4 Non supportato il compilatore DJGPP 2 0 2 3 1 2 Windows La versione per Windows gira sotto Windows 95 Windows NT e sotto Windows 3 1 o Windows 3 11 se sono installate le estensioni a 32 bit Win32s Gira inoltre sotto OS 2 Warp Requisiti Hardware e Software Processore 386 o superiore con almeno 8 megabyte di RAM 19 Circa 12 megabyte di spazio su disco per l installazione e 2 10 megabyte o pi per spazio di lavoro File di POV Ray richiesti File povwin3 exe un file auto estraente ed auto installante contenente il programma le scene di esempio file include e documentazione Questo file pu essere diviso in diversi file pi piccoli per semplificare il downloading Controllare la directory del proprio sito FTP o della propria BBS per controllare se sono necessari altri file Sono raccomandati Processore Pentium o 486 dx o coprocesso
46. Valori pi bassi renderanno la luce pi tenue lo spot pi piccolo e i contorni meno marcati Valori da 1 a 100 sono accettabili 301 1 0 moltiplicatore dell intensit della luce o n 0 0 0 0 10 0 20 0 30 0 40 0 50 0 60 0 700 80 0 90 0 angolo tra il raggio di luce e l asse dello spot Fig 214 Curva di intensit relativa della luce con raggio fissato a 30 e falloff a 60 e diversi valori di tightness Dalla figura si pu notare come il raggio e il falloff interagiscono con l apertura Solo valori negativi del raggio daranno al valore di tightness pieno controllo sull aspetto della luce come si pu vedere dalla figura sottostante In questo caso il valore dell angolo di falloff non avr alcun effetto e l area illuminata sar determinata solo dal parametro tightness 302 1 0 0 5 moltiplicatore dell intensit della luce 0 0 i 0 0 100 200 300 40 0 500 600 70 0 80 0 90 0 angolo tra il raggio di luce e l asse dello spot Fig 215 Curva di intensit relativa con raggio negativo e tightness variabile Gli spot possono essere utilizzati in ogni situazione in cui si usi una normale fonte di luce Come tutte le sorgenti luminose essi sono invisibili Sono considerati come oggetti e possono essere inclusi in oggetti CSG Possono anche essere utilizzati insieme alle area light 7 5 6 3 Luci Cilindriche Le luci cilindriche funzionano in maniera molto simile agli spot
47. Vediamo un oggetto a forma lenticolare invece delle due sfere Questo avviene perch un intersezione consiste del volume compreso in entrambe le componenti in questo caso la zona di spazio lenticolare si trova dove le due sfere si sovrappongono Quest oggetto ci piace e quindi lo useremo per studiare le differenze 4 5 4 Differenza Ruotiamo l intersezione del paragrafo precedente attorno all asse delle y in modo che la parte larga si trovi di fronte alla macchina fotografica intersectionf sphere lt 0 0 O gt 1 translate 0 5 x sphere lt 0 0 O gt 1 translate 0 5 x pigment Red rotate 90 y Creiamo un cilindro e piazziamolo nel centro della lente cylinder lt 0 0 1 gt lt 0 0 1 gt 35 pigment Blue Renderizziamo la scena per vedere la posizione del cilindro Di Fig 65 Metteremo un blocco difference attorno all intersezione ed al cilindro in questo modo difference intersection sphere lt 0 0 0 gt 1 translate 0 5 x sphere lt 0 0 O gt 1 translate 0 5 x pigment Red rotate 90 y cylinder lt 0 0 1 gt lt 0 0 1 gt 35 pigment Blue Renderizziamo nuovamente il file Fig 66 Differenza 58 Vediamo l intersezione con un foro nel mezzo dove si trovava il cilindro Il cilindro stato sottratto dall intersezione Nota che il colore del cilindro fa s che la superficie del buco sia colorata in blu Se eliminiam
48. bacheche elettroniche ed Internet ma i file compressi archivi che la contengono devono ove possibile essere memorizzati in un area del server dedicata a programmi di grafica 3D e possibilmente le versioni HTML e POSTSCRIPT della documentazione devono essere nella stessa directory Gli archivi a meno di esigenze particolari dell amministratore di sistema come l evitare nomi duplicati non possono essere rinominati Nel caso in cui venissero rinominati si richiede che il nuovo nome sia il pi possibile simile al vecchio In nessun caso si possono estrarre gli archivi e modificarne il contenuto prima della distribuzione Pu essere distribuita gratuitamente per mezzo di floppy disk e CD ROM in allegato a giornali riviste e libri o come parte di raccolte di software alla condizione che il prezzo applicato sia relativo al solo supporto e che sia conforme alle seguenti direttive il prezzo per floppy disk non deve superare l equivalente di 5 US cinque dollari U S A I floppy disk devono possibilmente essere ad alta densit ed utilizzati nella maniera pi completa possibile Se la presente traduzione viene distribuita per mezzo di supporti ad alta capacit quali CD ROM CD riscrivibili nastri di backup ecc il prezzo non deve superare l equivalente di 0 08 US otto centesimi U S A per megabyte di dati immagazzinati sull intero supporto Pu essere stampata fotocopiata e distribuita con qualunque mezzo solo ed esclusivame
49. comunque di 360 gradi tra il primo e l ultimo fotogramma animazioni di prova con pochi fotogrammi lavoreranno quindi nello stesso modo dei rendering finali di animazioni molto complesse In effetti il movimento definito con continuit al variare di un parametro e vengono presi campioni discreti del movimento a intervalli fissi cio i fotogrammi Un film o una registrazione con una telecamera di una scena reale funziona nello stesso modo Il movimento di un oggetto dipende dal passare del tempo non dalla velocit dei fotogrammi Molti fra coloro i quali usano POV Ray hanno gi creato animazioni che vanno oltre i valori di clock da 0 0 a 1 0 Ed questa la ragione per cui si pensato di introdurre i parametri Initial Clock n no KIn neFinal Clock n no KEn n Per esempio per far scorrere il Clock da 25 0 a 75 0 bisogner specificare Initial Clock 25 0e Final Clock 75 0 ed allora il clock sar impostato a 25 0 per il fotogramma iniziale e a 75 0 per quello finale nel mezzo i fotogrammi avranno valori di clock interpolati tra 25 0 e 75 0 Coloro che sono abituati a usare il numero di fotogrammi piuttosto che i valori di clock possono specificare Initial Clock 0 Pinal Clock 10 0 eFrame Final 10 per ottenere un animazione con dieci fotogrammi Per le nuove scene si raccomanda di non cambiare Initial Clocko Final Clock dai loro valori di default di 0 0 e 1 0 se si vuole far variare il clock su un intervallo diverso da 0
50. delle y Fig 192 Solo un arco di arcobaleno 4 10 6 Animazione C una moltitudine di programmi disponibili che accettano come input una serie di immagini TGA come l output di POV Ray e le montano insieme in un animazione Questi programmi possono produrre filmati in formato AVI MPEG FLI FLC od anche GIF animate per uso sul WWW Il problema quindi non produrre i filmati ma i singoli fotogrammi E qui ovviamente interviene POV Ray Nelle prime versioni di POV Ray produrre un animazione non era semplice dato che tutto doveva essere eseguito manualmente Dovevamo impostare la variabile clock e produrre file diversi per ogni fotogramma Potevamo ottenere una qualche automazione usando file batch o simili espedienti ma comunque andava fatto tutto a mano ed era un gran lavoro senza tirare in ballo la frustrazione immagina cosa succede quando ci si dimentica di impostare nomi di file diversi e tornando ventiquattr ore dopo si scopre che ogni fotogramma aveva soprascritto quello precedente Ora finalmente con POV Ray 3 abbiamo un modo migliore Non abbiamo pi bisogno di un file batch o di programmi esterni perch poche semplici impostazioni all interno di un file INI appropriato o nella linea di comando attiveranno una sequenza interna di animazione loop che far si che POV Ray gestisca automaticamente per noi l animazione In effetti la discussione del supporto che POV Ray d all animazione pu essere divisa in due pa
51. diverso Divertiamoci per un po con i valori di turbulence lambda omega e octaves per vedere cosa succede 4 8 2 4 Usare Pigmenti Trasparenti e Texture Stratificate I pigmenti sono descritti da variabili numeriche che ci forniscono i valori di rosso verde e blu del colore da usare per esempio color rgb lt 1 0 0 gt cid ilrosso puro Ma questa sintassi pu darci pi che 1 valori di rosso verde e blu Possiamo specificare la trasparenza modificandola come segue color rgbf lt 1 0 0 1 gt La f sta per filter filtro la parola che POV Ray usa per la trasparenza filtrata Un valore di 1 significa che l oggetto completamente trasparente ma che tuttavia filtra la luce in accordo al colore specificato In questo caso avremmo un rosso trasparente come cellophane Esiste un altro tipo di trasparenza in POV Ray Si chiama trasmittanza o trasparenza non filtrata la parola chiave transmit E diversa dalla trasparenza filtrata nel fatto che non modifica il colore della luce che passa attraverso Pu essere specificata in questo modo rgbt lt 1 0 0 1 gt Utilizziamo alcuni pigmenti trasparenti per creare un altro tipo di texture la texture stratificata Ritornando al nostro precedente esempio dichiariamo la seguente texture declare LandArea texture pigment agate turbulence 1 lambda 1 5 omega 8 octaves 8 color map 4 0 00 color rgb 0 33 color rgb 0 86 color rgb 1 00 c
52. include standard e documentazione Hardware raccomandato Processore Pentium o 486 dx o coprocessore matematico per 386 o 486 sx 8 megabyte o pi di RAM Video SVGA preferibilmente con possibilit di visualizzare immagini in high color o true color 15 16 32 bit per pixel Un programma per la visualizzazione di file grafici nei formati PPM PNG TGA Opzionale il codice sorgente non necessario per l utilizzo di POV Ray per Linux E fornito per i curiosi e per gli avventurosi povuni_s tar gz oppure povuni_s tgz Il codice sorgente in C per POV Ray per Linux contiene parti generiche e parti specifiche per Linux Non contiene le scene d esempio i file include e la documentazione pertanto necessario procurarsi anche gli archivi contenenti l eseguibile Il compilatore GNU C e opzionalmente gli X include file e librerie e CONOSCENZA DI COME USARLE Sebbene sia fornito codice sorgente per sistemi Unix generici non viene fornita assistenza tecnica su come compilare il programma 20 2 3 2 Apple Macintosh La versione Macintosh gira sotto Apple MacOS dalla versione 7 0 in su su ogni Macintosh con processore 68020 030 040 con o senza coprocessore matematico o su qualunque computer della serie Power Macintosh Requisiti Hardware e Software Processore 68020 o superiore senza unit in virgola mobile serie LC o Performa o Centris ed almeno 8 megabyte di RAM oppure Un processore 68020 o superiore CON unit in vir
53. lt 20 5 04253 21 Ld 0 25 gt 4 166 box lt 20 9 775 3 gt lt 21 10 25 3 gt pigment color red 1 green 1 blue 1 finish ambient 0 2 diffuse 0 5 Fig 183 Stanza La luce puntiforme usata per illuminare la stanza dall interno senza alcuna interazione con l atmosfera Questo effeto ottenuto aggiungendo il comando atmosphere off Non abbiamo bisogno di occuparci di questa luce quando aggiungiamo l atmosfera La luce spot invece caratterizzata dalla parola chiave atmospheric attenuation Ci significa che l intensit della luce che proviene da questo spot sar diminuita dall atmosfera L oggetto unione usato per modellare la stanza e la finestra Dato che usiamo una differenza tra due parallelepipedi per modellare la stanza le prime due box nella frase difference non c bisogno di rendere vuota l unione con la parola chiave hol Low Se siamo all interno della stanza ci troviamo in effetti al di fuori dell oggetto vedi il paragrafo Oggetti Vuoti ed Atmosfera 4 10 4 2 Aggiungere Polvere alla Stanza Il passo successivo di aggiungere polvere alla stanza L effetto si ottiene con le seguenti linee vedi atmos2 pov atmosphere type 1 samples 10 distance 40 scattering 0 2 167 Fig 184 Polvere la parola chiave type seleziona il tipo di dispersione della luce che vogliamo usare In questo caso usiamo la dispersione isotropa che disperde la luce ugualmente in
54. modo da ottenere ombre veramente sfumate invece che fornirci un ombra consistente di bande ravvicinate Bene proviamone una Commentiamo le luci cilindriche e aggiungiamo Light source 4 10 3 gt White area light lt 5 0 0 gt lt 0 0 5 gt 5 5 adaptive 1 jitter 68 Questa una luce centrata in lt 2 10 3 gt E larga 5 unit lungo l asse x e 5 lungo l asse z e contiene 25 5 5 luci Abbiamo specificato adaptive 1 e jitter Renderizziamo la scena a 200x150 A Fig 79 Luci diffuse Immediatamente notiamo due cose Il rendering discretamente pi lungo di quanto non fosse con una luce spot o puntiforme e le ombre non sono pi nette Hanno una bella zona di penombra sfumata attorno Aspetta pu migliorare Anche gli spot e le luci cilindriche possono essere area lights Hai presente quelle ombre nette che avevamo nella scena con gli spot Non sarebbe molto ragionevole usare un insieme di 5 5 luci per ottenere uno spot ma un insieme pi piccolo potrebbe fare un ottimo lavoro dandoci una penombra giusta per uno spot Proviamo Commentiamo l area light e cambiamo le luci cilindriche in modo che risultino light source lt 2 10 3 gt color White spotlight radius 15 falloff 18 tightness 10 area light lt 1 0 0 gt lt 0 0 1 gt 2 2 adaptive 1 jitter point at lt 0 0 0 gt light_source lt 10 10 1 gt color Red spotlight radius 12 falloff 14 tightness 10
55. possiamo vedere parti di ciascuno degli oggetti lente all interno dell unione Questo non va bene 4 5 5 Fusione Questo ci porta al quarto tipo di oggetto CSG la fusione merge Un oggetto fusione ha la stessa forma dell oggetto unione ma la geometria degli oggetti che si trovano all interno della superficie non viene renderizzata Questo dovrebbe eliminare il problema che avevamo Proviamo merge object Lens With Hole translate lt 65 65 0 gt object Lens With Hole translate lt 65 65 0 gt object Lens With Hole translate lt 65 65 0 gt e 5 ct ct object Lens With Hole translate lt 65 65 0 gt pigment Red filter 60 Fig 69 Fusione Funziona 4 5 6 Tranelli in CSG Un importante aspetto del codice degli oggetti CSG al quale dobbiamo fare molta attenzione 4 5 6 1 Superfici 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 renderizz
56. risultato valori decimali ma il cui input costituito da vettori e da stringhe abs A Valore assoluto di A Se A negativo riporta A in caso contrario riporta A acos A Arco coseno di A D come risultato l angolo misurato in radianti il cui coseno A asin A Arco seno di A D come risultato l angolo misurato in radianti il cui seno A atan2 A B Arco tangente di A B D come risultato l angolo misurato in radianti la cui tangente A B Ritorna un valore appropriato anche se B uguale a zero Usa atan2 A 1 per calcolare la normale funzione atan A ceil A Limite massimo di A D come risultato il pi piccolo numero intero maggiore di A Viene arrotondato al numero intero successivo pi alto cos A Coseno di A D come risultato il coseno dell angolo A dove A misurato in radianti degrees A Converte i radianti in gradi D come risultato l angolo misurato in gradi il cui valore in radianti A La formula gradi A pi 180 0 div A B Divisione intera La parte intera di A B exp A Esponenziale di A D come risultato il valore di e elevato alla potenza di A dove e rappresenta il numero irrazionale approssimativamente uguale a 2 71828182846 che la base dei logaritmi naturali 236 floor A Limite inferiore di A D come risultato il pi alto numero intero minore di A Arrotonda inferiormente al successivo numero intero pi basso int A La parte intera di A D co
57. sphere lt 0 1 2 gt 2 pigment gradient x questo un tipo di pigmento color map 0 1 color Red 0 3 color Yellow color Blue color Green color Cyan CO OV OY W qui viene calcolata la funzione del motivo e il risultato sar un valore da 0 0 a 1 0 Se il valore minore del primo numero in questo caso 0 1 allora sar usato il primo colore che il rosso I valori da 0 1 a 0 3 usano colori che passeranno dal rosso al giallo usando un interpolazione lineare tra i due colori Ugualmente i valori tra 0 3 e 0 6 useranno colori che vanno dal giallo al blu Da notare che il terzo e il quarto numero hanno entrambi valore 0 6 Questo determiner un passaggio immediato dal blu al verde Pi esattamente un valore anche solo leggermente minore di 0 6 sar blu da 0 6 il colore sar verde Andando avanti i valori tra 0 6 e 0 8 passeranno dal verde al ciano e 314 concludendo ogni valore maggiore di 0 8 sar ciano Se non vuoi che il colore cambi in una determinata area baster mettere lo stesso colore in due zone adiacenti Per esempio color map 4 0 1 color Red 0 3 color Yellow 0 6 color Yellow 0 8 color Green in questo caso ogni valore tra 0 3 e 0 6 sar giallo La parola chiave color map potr essere usata con ogni motivo eccetto brick checker hexagon e image_ map E possibile dichiarare e usare identificatori della color map Per esempio d
58. stireranno un elemento Valori minori di 1 lo restringeranno valori di scale uguali ad uno lo lasceranno invariato 4 7 4 Texture Predefinite POV Ray ha alcune texture molto sofisticate predefinite nei file INC standard glass inc metals inc stones inc e woods inc Alcune sono texture complete con tutti i parametri di pigment normal e o finish gi definiti Alcune sono solo pigmenti o solo finiture Modifichiamo la definizione della nostra sfera e la renderizziamo di nuovo sphere lt 0 1 2 gt 2 texture pigment DMFWood4 predefinita in textures inc scale 4 ridimensiona della stessa quantita in tutte le direzioni finish Shiny predefinita in finish inc 78 Fig 90 Esempio di texture predefinita L identificatore di pigmento DMFWood4 gi stato rimpicciolito molto quando stato definito Per questo esempio vogliamo ingrandirlo Dato che vogliamo ingrandirlo uniformemente possiamo mettere un singolo valore davanti alla parola scale invece che specificare un vettore composto dai fattori di ridimensionamento per gli assi x y Z Guardiamo il file textures ine per vedere quali texture e pigmenti sono definiti e li proviamo Basta inserire il nome del nuovo pigmento dove si trovava DMFWood4 o provare una finitura diversa al posto di Shiny e renderizzare di nuovo il nostro file Ecco un esempio di come usare un identificatore di texture completo al posto delle sue parti sphere
59. vogliamo vedere se l oggetto completamente illuminato dalla luce file halo31 pov camera location lt 0 0 2 5 gt look at lt 0 0 0 gt background color rgb lt 0 2 0 4 0 8 gt light_source S29 Zad 2453 colour rgb lt 1 1 1 gt spotlight point at lt 0 0 0 gt radius 12 falloff 15 tightness 1 difference box 1 1 box lt 1 1 0 8 0 8 gt lt 1 1 0 8 0 8 box lt 08 Lul Wap lt 08 Lely Use box SU Use slit lt 08 Dad Lad gt pigment color rgb lt 1 0 2 0 2 gt scale 0 5 rotate 45 y rotate 45 x Fig 151 Oggetto 128 Come possiamo vedere l oggetto illuminato dalla sorgente luminosa Ora possiamo iniziare ad aggiungere un po di polvere 4 8 5 5 2 Aggiungere Polvere Useremo un parallelepipedo come contenitore per la nostra halo polvere Dato che usiamo una funzione di densit costante non importa il tipo di densit che useremo La densit ha il valore specificato dalla parola chiave max value in ogni punto della halo il valore predefinito 1 La dispersione isotropica selezionata con la parola chiave dust_ type box 1 1 pigment colour rgbt lt 1 1 1 1 gt halo dust dust type 1 box mapping constant colour map 0 color rgbt lt 1 1 1 1 gt 1 color rgbt lt l 1 1 0 gt samples 10 hollow scale 5 Fig 152 Aggiungere un p
60. x y z e t per estrarre ciascun componente decimale L operatore punto usato anche in espressioni del colore che sono prese in considerazione pi avanti 7 1 4 4 Promozione di Operatori Puoi usare una sola espressione decimale per definire un vettore i cui componenti sono dello stesso tipo POV Ray sa quando si necessita di un vettore di un particolare tipo e promuover un valore decimale se ci necessario Per esempio la frase scale di POV Ray richiede un vettore a tre componenti Se si specifica scale 5 allora POV Ray lo interpreta come scale lt 5 5 5 gt ovvero l intenzione di voler scalare di 5 in ogni direzione 229 Le versioni precedenti di POV Ray 3 0 consentivano tale uso del valore decimale come vettore in ambiti ristretti come con scale e turbulence Adesso puoi usare questa scorciatoia ovunque Per esempio box 0 1 Questo lo stesso di box lt 0 0 0 gt lt 1 1 1 gt sphere 0 1 Questo lo stesso di sphere lt 0 0 0 gt 1 Quando viene promosso un valore decimale in un vettore di 2 3 4 o 5 componenti a tutti i componenti viene assegnato il valore decimale invece quando si promuove un vettore con un numero pi basso di componenti in un vettore di ordine pi alto tutti i componenti rimanenti sono posti a zero Per esempio se POV Ray aspetta un vettore 4D e si specifica 9 il risultato lt 9 9 9 9 gt ma se si specifica lt 7 6 gt il risultato lt 7 6 0 0 gt 7 1 5 Spe
61. x 0 texture Pietra intersection 263 sphere lt 1 0 0 gt 2 plane x 0 inverse texture Vetro questo esempio corretto e non incorre in ulteriori tranelli perch c l unione di due oggetti uno fatto di pietra e uno di vetro Non dovresti mai usare oggetti il cui interno non sia ben definito non ci devono essere texture diverse e con diversi indici di rifrazione o diversi valori di trasparenza nello stesso oggetto Queste eventualit possono funzionare solo per lo strato pi basso di una texture stratificata Vedi anche Tranelli degli Aloni 7 5 2 Primitive Solide Finite Ci sono dodici tipi di primitive finite blob parallelepipedi coni cilindri frattali height field lathe sfere superellissoidi superfici di rotazione tori e oggetti composti col testo Questi oggetti hanno un interno ben definito e possono essere usati nelle operazioni CSG vedi il paragrafo Geometria Solida Costruttiva sono finiti ed possibile applicare loro il bounding automatico Come tutti gli oggetti possono essere spostati ruotati e scalati 7 5 2 1 Blob I blob sono oggetti versatili ed interessanti Matematicamente sono superfici equipotenziali di un campo scalare cio la loro superficie definita dalla forza del campo in ciascun punto Se la forza in un punto uguale al valore di soglia quel punto si trova sulla superficie negli altri casi no Immagina ogni componente di un blob com
62. z di un punto della superficie sono utilizzate per calcolare delle funzioni matematiche che danno come risultato un valore decimale Quando sono usati con mappe di colori o di pigmenti quel valore assumer il colore del pigmento da usare Nelle frasi di descrizione delle normali la funzione corrispondente al pattern usato modificher il vettore normale alla superficie per dare a quest ultima un apparenza irregolare Usati con mappe di texture le funzioni determineranno quale combinazione delle texture deve essere usata I paragrafi seguenti descrivono ognuno di questi pattern Vedi i paragrafi Pigmento e Normali per maggiori dettagli sull uso dei pattern 7 6 7 1 Agate Agata Il motivo agate un motivo simile al marmo marble ma che usa una particolare funzione diversa da quella tradizionale per aggiungere la turbolenza Anche la turbolenza tradizionale pu essere usata ma normalmente non necessaria perch agate gi molto irregolare Puoi controllare la quantit di turbolenza aggiungendo la parola chiave agate turb seguita da un numero decimale Per esempio pigment agate agabe turk 0 5 color map Il pattern agate usa una forma d onda a dente di sega ramp_wave per default ma pu utilizzare qualunque tipo d onda Questo motivo pu essere usato con mappe di colore di pigmenti di normali mappe slope e mappe di texture 7 6 7 2 Average Media Tecnicamente average non un tipo di patter
63. 0 1 0 preferibile aggiungere le seguenti righe al file della scena declare Start 25 0 declare End 75 0 declare My Clock Start End Start clock ed usare poi My Clock nella descrizione della scena Questo mantiene i valori di 25 0 e 75 0 nel file pov Ulteriori dettagli riguardanti le impostazioni per il loop sono nella sezione sui comandi per l uscita al sistema operativo nella sezione Uscita al Sistema Operativo 6 2 1 3 Sottoinsiemi di Fotogrammi Subset Start Frame n Imposta il fotogramma iniziale del sottoinsieme da n Subset Start Frame 0 n Imposta il fotogramma iniziale del sottoinsieme da n Subset End Frame n Imposta il fotogramma finale del sottoinsieme a n Subset End Frame 0 n Imposta il fotogramma finale del sottoinsieme a n SFn o SF0 n Lo stesso che Subset_Start_Frame EFn o EFO n Lo stesso che Subset End Frame 190 Quando si crea una lunga animazione pu essere pi maneggevole renderizzare solo una parte di questa per vedere come risulta Supponendo di avere 100 fotogrammi ma volendo renderizzare solo dal 30 al 40 se si impostano le opzioni Initial Frame 30 e Final Frame 40 il clock varier da 0 0 a 1 0 dal fotogramma 30 al 40 invece di variare tra 0 30 e 0 40 come dovrebbe Basta quindi lasciare invariati Initial Frame leFinal Frame L00 e usare anche Subset Start Frame 30 e Subset End Frame 40 per renderizzare solo quella parte di animazione con i giusti valo
64. 4 6 7 6 3 5 2 crand 7 6 3 2 3 iridescente 4 8 4 7 7 6 3 6 luce ambiente 4 8 4 1 7 6 3 1 metallica 4 8 4 3 7 6 3 3 3 412 riflessi 4 8 4 2 7 6 3 3 riflessione diffusa 7 6 3 2 riflessione speculare 7 6 3 4 rifrazione 4 8 4 4 7 6 3 5 Frattali vedi Oggetti Funzioni 7 1 8 decimali 7 1 8 1 densita 7 6 4 5 stringa 7 1 8 3 vettoriali 7 1 8 2 Halo 4 8 5 7 6 4 attenuante 4 8 5 4 7 6 4 3 1 ridimensionamento 4 8 5 4 2 campionamento 7 6 4 7 emittente 4 8 5 2 7 6 4 3 3 mappatura 7 6 4 1 della densita 7 6 4 4 dei colori 7 6 4 6 modificatori 7 6 4 8 polvere 4 8 5 5 7 6 4 3 2 tralucente 4 8 5 3 7 6 4 3 4 tranelli 4 8 5 6 Height field vedi Oggetti Identificatori decimali 7 1 3 2 della macchina fotografica 7 4 5 di colore 7 1 5 3 di dichiarazione 7 2 2 1 di stringa 7 1 7 2 di trasformazione 7 3 3 incorporati 7 1 7 vettoriali 7 1 4 2 Immagini bump_map 7 6 2 3 mappatura 7 6 1 5 mappe di materiali 4 9 8 7 6 5 3 modificatori 7 6 8 9 Impostazioni globali 7 8 Istruzioni vedi indice analitico delle parole chiave condizionali 7 2 5 di versione 7 2 4 413 L Librerie percorsi 6 2 3 2 4 1 2 Lathe vedi Oggetti Logaritmo log Luce 4 6 7 5 6 ambiente 4 6 1 area_light 4 6 5
65. 5 1 0 25 gt lt 2 5 3 0 2 25 gt A causa del metodo con cui vengono eseguiti i calcoli c una restrizione sui valori che si possono specificare per il vettore repeat Fondamentalmente ogni buco nero deve essere racchiuso totalmente all interno del rispettivo parallelepipedo senza incrociare le pareti di quelli adiacenti Questo significa che in tutte e tre le dimensioni la posizione del centro non deve essere minore del raggio e che il valore del vettore repeat per ogni dimensione deve essere maggiore o uguale della somma di raggio e posizione del centro poich altrimenti permetterebbe ad un buco nero di incrociare le pareti di un parallelepipedo Semplicemente per x y e z deve essere raggio lt centro lt repeat raggio Se il vettore repeat troppo piccolo per soddisfare questo criterio verr aumentato e sar visualizzato un messaggio di avvertimento Se la posizione del centro minore del raggio esso verr spostato ma non verranno visualizzati messaggi di avvertimento Nota che nessuna delle regole viste sopra significa che non puoi sovrapporre i buchi neri Questo possibile ed anzi pu essere molto utile La restrizione si applica solo ad elementi dello stesso buco nero che viene ripetuto Puoi dichiarare un secondo buco nero che si ripete e i cui elementi possono tranquillamente sovrapporsi a quelli del primo causando le interazioni appropriate Si pu attribuire il valore zero a una qualunque delle dimensioni del v
66. 7 5 2 6 Frattali di Julia Un frattale di Julia una fetta tridimensionale di un oggetto quadridimensionale creato generalizzando il procedimento che si usa per creare 1 classici insiemi frattali di Julia Puoi ottenere una grande quantit di strani oggetti usando questo tipo di frattale compresi alcuni che avranno l aspetto di strani ammassi spiraliformi La sintassi di un frattale Julia la seguente Julia fractal PARAMETRO 4D il valore di default lt 1 0 0 0 gt quaternion hypercomplex il valore di default quaternion sqr cube exp reciprocal sin asin sinh asinh cos acos cosh acosh tan atan tanh atanh log pwr X Y il valore di default sqr max iteration N MAX ITERAZIONI il valore di default 20 precision PRECISIONE il valore di default 20 slice NORMALE 4D DISTANZA i valori di default sono lt 0 0 0 1 gt 0 Il vettore a quattro dimensioni PARAMETRO 4D il classico parametro p della formula iterativa di Julia h p Il frattale di Julia calcolato usando un algoritmo che determina se un punto arbitrario h 0 in uno spazio quadridimensionale si trova all interno o all esterno dell oggetto L algoritmo richiede che venga generata la sequenza di vettori h 0 h 1 iterando la formula h n 1 f h n p n 0 1 max _ iteration 1 dove p il vettore quadridimensionale del frattale Julia ed f una delle f
67. 7 8 9 2 7 minimum_reuse Il raggio minimo effettivo impostato mediante minimum reuse Questa la frazione della larghezza dello schermo che imposta il raggio minimo di riutilizzo per ogni campione in effetti 390 frazione della distanza dall osservatore ma le due sono circa uguali Ad esempio se il valore 0 02 il raggio di riutilizzo massimo impostato al 2 della larghezza dello schermo Immagina di mandare un raggio all orizzonte e che esso colpisca il suolo ad una distanza di 100 miglia da te La distanza di riutilizzo per quel campione sarebbe di due miglia Ad una risoluzione di 300x400 punti ci corrisponderebbe circa ad 8 pixel Diciamo che non vuoi stare a calcolare i valori per ogni pixel dentro ad ogni crepa della scena poich ci vorrebbe troppo Il parametro minimum reuse imposta un limite minimo per il riutilizzo dei campioni Se questo valore troppo basso il tempo di rendering aumenta e gli angoli interni risultano leggermente sgranati Se troppo alto non otterrai la naturale oscurit degli angoli nascosti della scena dato che il programma riutilizza i campioni anche per quelli A valori maggiori del 2 0 02 si cominciano ad avere errori pi palesi come riutilizzare la luce del tavolo sotto la mela E da ricordare che questo valore un numero puro Il valore predefinito di 0 015 7 8 9 2 8 nearest_count Il valore di nearest count il numero massimo dei vecchi valori della luce ambiente che po
68. 7 9 Gradient Gradiente Uno dei pattern pi semplici il pattern a gradiente specificato dalla parola chiave gradient nel modo seguente pigment gradient VETTORE dove VETTORE un vettore rivolto nella direzione in cui sfuma il colore Ad esempio pigment gradient x le fasce di colore variano lungo l asse x produce una serie di fasce colorate che sembrano strati di colori diversi accostati gli uni agli altri I punti ad x 0 hanno il primo colore della mappa spostandosi verso x 1 il colore sfuma nell ultimo colore della mappa per poi riprendere dal primo ad x 1 e raggiungere di nuovo il secondo ad x 2 Il pattern si rovescia per valori negativi di x Usare gradient yogradient z fa sfumare i colori lungo gli assi y e z rispettivamente Si pu usare qualunque vettore ma x y e z sono i pi comuni Quando viene usato nelle normali gradient genera un motivo simile ad un onda a dente di sega La sintassi normal gradient VETTORE QUANTITA dove il vettore che specifica l orientazione del motivo necessario mentre il numero decimale che specifica l ammontare dell effetto facoltativo Il pattern gradient usa l onda ramp_wave ma pu usare qualunque tipo di onda Il pattern gradient pu essere usato con mappe di colore pigmento normali texture e slope 7 6 7 10 Granite Granito Questo pattern fa uso di una semplice funzione di rumore frattale di tipo 1 x per generare una superficie simile al granito Ques
69. 75 bozo turbulence 25 00 granite Renderizzando questo esempio Fig 119 Mappa di normali Vediamo che la sfera ha ora una superficie molto irregolare La disposizione delle normali lungo un pattern a gradiente le separa in fasce ma queste sono irregolari dando alla superficie un aspetto caotico Ma questo ci da un idea Supponiamo di usare lo stesso motivo che abbiamo usato per creare gli oceani del nostro pianetino per creare una mappa di normali e di applicarla alle zone emerse Ne segue che se usassimo gli stessi motivi e gli stessi modificatori su una sfera della stessa dimensione la forma del motivo sarebbe la stessa Renderebbe le zone di terraferma irregolari lasciando gli oceani lisci Proviamo Per prima cosa renderizziamo le due sfere una di fianco all altra in modo da poter vedere se il motivo veramente lo stesso Leviamo il commento dal pianetino e lo modifichiamo nel seguente modo sphere lt 0 0 0 gt 1 texture LandArea texture OceanArea texture CloudArea lt commenta questa riga translate x lt aggiungi questa trasformazione Ed ora cambiamo la sfera grigia come segue sphere lt 0 0 0 gt 1 pigment Gray75 96 normal map 0 4 dents 15 scale 01 0 6 agate turbulence 1 1 0 dents 15 scale 01 ranslate x lt aggiungi questa trasformazione Renderizziamo per vedere se il motivo lo stesso Fig 120 Le due sfere
70. An n disattiva l anti aliasing soglia di anti aliasing in futuro Jitter bool attiva o disattiva il jitter on off J attiva aa jitter con 1 0 o quantit precedenti J disattiva aa jitter a di anvil ci Jitter Amount n n imposta la quantit di aa jitter a n n Se n n 0 aa jitter disattivato imposta la quantit di aa jitter a n n Se n n lt 0 aa jitter Un n RIE disattivato Jn n disattiva aa jitter stabilir la quantit di jitter Antialias Depth n imposta la profondit di anti aliasing 1 lt n lt 9 Rn lo stesso diAntialias Depth n Il processo di raytracing in realt un processo di campionamento di un immagine svolto generalmente ad un tasso di campionamento di un campione per pixel Questo modo di procedere pu creare una quantit di errori Tra questi potrebbe verificarsi che le linee curve non siano smussate ma sembrino a scalini punti di interferenza tra oggetti perdita di dettagli o addirittura di oggetti che essendo molto piccoli vengono persi nell intersezione di due pixel L effetto responsabile di questi problemi l aliasing L anti aliasing una tecnica che permette di tentare di risolvere questi problemi o almeno di ridurli Generalmente l anti aliasing permette all immagine di apparire pi smussata L opzione Antialias onoilparametro A attivano l anti aliasing Quando l anti aliasing attivato POV Ray tenta di ridurre gli errori proiettando molti pi raggi in un pixel e quindi f
71. Appendice A 3 Regole Generali per Tutte le Distribuzioni Si permette in anticipo di distribuire questo pacchetto software sotto certe condizioni specifiche purch vengano rispettate le seguenti condizioni Questi archivi non devono essere ri archiviati usando un metodo diverso senza l esplicito permesso del POV Ray Team Gli archivi possono essere rinominati solo per esigenze di sistema o per evitare nomi duplicati ma chiediamo che si conservino i nomi originali per quanto sia possibile ad esempio povsre zip e povsrc30 zip La distribuzione su CD ROM di una versione decompressa e funzionante del programma permessa se 1 file sono disposti nella nostra struttura di directory come se fossero stati correttamente installati su di un hard disk Si deve distribuire un pacchetto completo come viene descritto nel prossimo paragrafo Nessuna parte di questo pacchetto pu esserne separata e distribuita separatamente se non sotto le condizioni specificate pi avanti La distribuzione non commerciale su cui non viene posto un compenso di qualunque natura ad esempio un utente che copia il software per un amico o collega permessa senza altre restrizioni Insegnanti ed istituzioni didattiche possono distribuire il software ai loro studenti facendo pagare un costo minimo per la copia se il software deve essere usato all interno di un corso Appendice A 4 Definizione di Pacchetto Completo POV Ray contenuto in due archivi separati per og
72. Cilindro Dove lt CENTRO_BASE_SUP gt e lt CENTRO_BASE_INF gt sono vettori che definiscono le coordinate x y delle basi superiore e inferiore del cilindro e RAGGIO un numero decimale che specifica il raggio del cilindro Normalmente le estremit di un cilindro sono chiuse da piani paralleli fra di loro e perpendicolari all asse del cilindro Aggiungendo la parola chiave open facoltativa dopo RAGGIO si toglieranno questi due piani e ne risulter un tubo cavo 7 5 2 5 Campi di Quota Height Field Gli height field sono oggetti veloci ed efficienti che sono generalmente usati per ottenere montagne o altre superfici che si innalzano partendo da un oggetto mesh composto da centinaia di triangoli La sintassi per gli height field 268 height_field TIPO FILE NOMEFILE hierarchy on off smooth on off water level DECIMALE L height field essenzialmente un riquadro ampio e profondo un unit con il lato superiore dall aspetto montuoso L altezza delle montagne in ciascun punto calcolata dal numero del colore o dal suo indice nella tavolozza per il punto corrispondente in un immagine L altezza massima 1 che corrisponde al colore di indice massimo nell immagine ad esempio per un immagine GIF a 256 colori il valore massimo dato dal colore n 255 AY anny AW ERINN ONN DAAT VTN LNENENL NZ Fig 201 Campi di quota L insieme di triangoli corrisponde direttamente ai punti nel file imm
73. Cosa significano tutte queste parole chiave e valori All inizio della halo la parola chiave emitting usata per specificare che tipo di halo si vuole definire La halo emittente emitting emette luce Questa la soluzione migliore per la nostra esplosione Le parole chiave spherical mapping e linear hanno bisogno di una spiegazione pi dettagliata sul funzionamento delle halo questa si trova in maggiore dettaglio nel paragrafo Halo Come abbiamo notato sopra un alone formato da una grande quantit di piccole particelle La distribuzione nello spazio di queste particelle determinata da una funzione di densit In generale una funzione di densit ci dice quante particelle possiamo trovare in una data posizione nello spazio Invece di utilizzare una funzione di densit esplicita definita matematicamente le halo si basano su di un sistema di mappature di densit e di funzioni di densit per modellare una variet di distribuzioni di particelle Il primo passo in questo modello la funzione di mappatura della densit che viene utilizzata per mappare punti a tre dimensioni di uno spazio tridimensionale in un set di valori monodimensionali Nel nostro esempio utilizziamo una mappatura sferica cio consideriamo la distanza di un punto dal centro del sistema di coordinate Questo il motivo per cui meglio iniziare con un oggetto contenitore che si trova al centro del sistema di coordinate Dato che tutte le mappature di den
74. D v c 2 gt 0 0 e da a w rs 0 5 1 0 0 0 0 5 1 0 Figura 231 La funzione di dispersione di Mie per particelle pi grandi aria inquinata La dispersione di Heyney Greenstein basata su una funzione analitica e pu essere usata per modellare una grande variet di tipi di dispersioni La funzione modella un ellisse con una determinata eccentricit e Quest eccentricit specificata dalla parola chiave eccentricity che usata solo per questo tipo di atmosfera tipo 5 Il valore 0 assegnato all eccentricit definisce la dispersione isotropa mentre valori positivi produrranno una dispersione nella direzione della luce e valori negativi produrranno dispersione nella direzione opposta alla luce Valori molto grandi di e incrementeranno la direzionalit della dispersione 376 1 00 0 50 e o Ue o w S 0 00 e i Q w Q 3 e 0 6 S 0 50 men ANS e 0 0 e 03 06 1 00 1 0 0 5 0 0 0 5 1 0 Figura 232 La funzione di dispersione di Henyey Greenstein con diversi valori di eccentricit Il modo pi veloce per usare diversi tipi di dispersione sar quello di dichiarare alcne costanti ed usarle nella definizione dell atmosfera declare ISOTROPIC SCATTERING 1 declare MIE HAZY SCATTERING 2 declare MIE MURKY SCATTERING 3 declare RAYLEIGH SCATTERING 4 declare HENYEY GREENSTEIN SCATTERING 5 la parola chiave di
75. GIF 256 Il colore corrispondente ad un determinato indice non influenza l altezza del punto Il colore 0 potrebbe essere rosso blu nero o arancione ma l altezza di tutti i punti che usano il colore 0 sar sempre 0 Il colore 255 potrebbe essere azzurro giallo bianco o verde ma tutti i punti che corrispondono al colore 255 saranno sempre ad altezza 1 Si possono creare immagini GIF adatte per generare height field con programmi di disegno o con programmi di generazione frattale delle immagini come Fractint Si pu trovare Fractint in quasi tutti i posti in cui si trova POV Ray Un file POT fondamentalmente un file GIF con una tavolozza di colori di 16 bit pixel Il numero massimo di colori in un file POT 65536 Quindi un height field generato Da un file POT pu avere fino a 65536 livelli diversi Ci rende possibile avere height field molto pi dettagliati In ogni caso l altezza massima sempre uno anche se sono possibili pi valori intermedi Al momento in cui questa guida viene scritta l unico programma che crea file POT un programma freeware per PC chiamato Fractint Le immagini POT create con questo programma danno paesaggi fantastici I formati TGA e PPM possono essere usati pi come strumento di memorizzazione di numeri a 16 bit che come immagini Questi formati usano i valori del rosso e del verde di ogni punto per immagazzinare i valori che determinano le quote di un height field Questi file danno risultati analoghi a q
76. Mappatura dei Materiali Abbiamo a nostra disposizione alcuni strumenti molto potenti per creare texture ma se volessimo disporre texture complesse in maniera pi libera Bene cos come la mappatura di un immagine funziona per i pigmenti e la mappatura delle normali funziona per le normali possiamo mappare intere texture usando una mappatura dei materiali Come per le mappature di immagini e di normali abbiamo bisogno di un immagine di partenza in un formato che possa essere letto da POV Ray da usare come mappa per determinare dove le singole texture andranno ma in questo caso abbiamo bisogno di specificare quale texture sar associata ad un determinato numero d ordine nella tavolozza dei colori dell immagine Per fare quest immagine possiamo usare un programma di disegno che ci permetta di selezionare i colori a partire dal numero che hanno all interno della tavolozza il vero colore irrilevante dal momento che si tratta solo di una mappa che dice a POV Ray quale texture sar usata in quella posizione Ora se abbiamo il pacchetto completo di POV Ray possiamo trovare nella directory include un immagine chiamata povmap gif che un immagine bitmap che usa solo i primi quattro colori della tavolozza per creare una cornice quadrata con le parole Persistance Of Vision all interno Fig 169 Immagine da usare come mappa 151 Quest immagine andr gi bene per una mappatura di esempio per la dimostrazione che segue Usando gli stessi fi
77. Mappatura delle Normali Per il nostro prossimo esempio sostituiamo il file nella scena con questo plane z 0 pigment White 137 normal gradient x normal map 0 0 bumps 1 scale 1 1 0 ripples 1 scale 1 Cd a g Fig 158 Anche le normali possono essere mappate Per prima cosa abbiamo scelto un bianco a tinta unita per mostrare tutte le irregolarita della superficie al meglio Poi notiamo che la nostra mappa passa gradualmente da bumps a ripples tra 0 ed 1 ma poi essendo questo un gradiente ritorna bruscamente a bumps all inizio del passaggio successivo Renderizziamo questo esempio e vediamo che ci sono abbastanza passaggi bruschi da poter vedere chiaramente dove i due motivi di normali si alternano ma anche un esempio di come due normali si fondono uno nell altro La sintassi quella che ci saremmo aspettati Abbiamo solo modificato il tipo di mappatura ed abbiamo aggiunto nel blocco delle normali i pattern appropriati E importante ricordare che in POV Ray 3 tutti i pattern che funzionano con i pigmenti funzionano anche con le normali e viceversa e quindi potremmo avere un passaggio da legno wood a granito granite o qualunque altra cosa Sperimentiamo per un po e prendiamo confidenza con i differenti motivi Dopo avere visto come sono interessanti le normali di tipi diversi fuse insieme potremmo volerle unire completamente invece che sfumare dall una all altra Bene anche questo possibile ma
78. Migliorare le Ombre 4 8 5 5 5 Aggiungere Turbolenza 4 8 5 5 6 Usare Polvere Colorata 4 8 5 6 Tranelli degli Aloni 4 8 5 6 1 Dove si Possono Usare gli Aloni 4 8 5 6 2 Sovrapposizione degli Oggetti Contenitori 4 8 5 6 3 Aloni Attenuanti Multipli 4 8 5 6 4 Aloni ed Oggetti Vuoti 4 8 5 6 5 Ridimensionare un Contenitore 4 8 5 6 6 Scegliere il Fattore di Campionamento 4 8 5 6 7 Usare la Turbolenza 4 9 Lavorare con Texture Speciali 4 9 1 Mappatura di Pigmenti 4 9 2 Mappatura delle Normali 4 9 3 Mappatura delle Texture 4 9 4 Lista di Texture 4 9 5 Che ne Stato di Tiles 4 9 6 Funzione Media 4 9 7 Lavorare con Texture Stratificate 4 9 7 1 Dichiarare Texture Stratificate 4 9 7 2 Un Altro Esempio di Texture Stratificata 4 9 8 Quando Fallisce Tutto il Resto Mappatura dei Materiali 4 9 9 Limiti delle Texture Speciali 4 10 Usare Effetti Atmosferici 4 10 1 Lo Sfondo 4 10 2 La Sky Sphere Sfera Celeste 4 10 2 1 Creare un Cielo Usando un Gradiente di Colore 4 10 2 2 Aggiungere il Sole 4 10 2 3 Aggiungere Qualche Nuvola 4 10 3 La Nebbia 4 10 3 1 La Nebbia Costante 4 10 3 2 Impostare una Trasparenza Minima 4 10 3 3 Creare una Nebbia Filtrante 4 10 3 4 Aggiungere Turbolenza alla Nebbia 4 10 3 5 Nebbia Raso Terra 4 10 3 6 Strati Multipli di Nebbia 4 10 3 7 Nebbia e Oggetti Vuoti 4 10 4 L Atmosfera 4 10 4 1 Iniziare con una Stanza Vuota 4 10 4 2 Aggiungere Polvere alla Stanza 4 10 4 3 Scegliere un buon Tasso di Campion
79. Quadrica vedi Oggetti R Radice quadrata sqrt Radiosity 7 8 9 2 Random rand Ray Tracing 2 1 Reciproco 416 Rendering opzioni 6 2 6 S Sampling Seno sin Seno iperbolico Sfondo 4 10 1 7 7 2 Sfera vedi Oggetti Superellissoidi vedi Oggetti Superfici di rotazione vedi Oggetti T Tangente tan Tangente iperbolica tanh Testo vedi Oggetti Texture limiti delle texture speciali 4 9 9 lista di texture 4 9 4 mappatura 4 9 3 7 6 5 1 mappe di materiali 4 9 8 7 6 5 3 opzioni avanzate 4 8 opzioni semplici 4 7 pattern 7 6 7 speciali 4 9 7 6 5 stratificate dichiarazione 4 9 7 1 suggerimenti Appendice F 4 Toro vedi Oggetti Trasformazioni 7 3 1 macchina fotografica 7 4 4 6 matrici 7 3 1 4 ordine 7 3 2 ridimensionamento 7 3 1 2 rotazioni 7 3 1 3 traslazioni 7 3 1 1 Trasparenza 7 6 1 5 3 canale alfa 7 6 1 5 4 Turbolenza 7 6 8 lambda 7 6 8 6 nebbia 4 10 3 omega 7 6 8 7 ottave 7 6 8 5 warp 7 6 8 8 3 V Valore assoluto abs _ 417 Indice analitico delle parole chiave A jaa_tevel daa threshold abs acos acosh adaptive adc bailout agate agate_turb all alpha ambient ambient angle aperture arc_angle area light asc asin asinh assumed gamma atan atan2 atanh atmosphere ai ai _ligh ht tmospheric attenuation ttenuating average B background b
80. Ray inserirli in una mappa di materiali da decodificare ma inutile se vogliamo vedere come la nostra mappa Renderizziamo il seguente file e rinominiamo l immagine risultante povmap tga camera orthographic up lt 0 5 0 gt right lt 5 0 0 gt location lt 0 0 25 gt look at lt 0 0 0 gt plane z 0 pigment rgb lt 1 255 0 0 5 gt finish ambient 1 Pox 4 lt 2 35 du 8 08623 gt lt 2455 1 98 02 pigment rgb lt 0 255 0 1 gt finish ambient 1 box lt 1 95 1 3 0 4 gt lt 1 95 1 3 0 3 gt pigment rgb lt 2 255 0 5 0 5 gt finish ambient 1 text ttf crystal ttf The vision 0 1 0 scale lt 0 7 1 1 gt translate lt 1 8 0 25 0 5 gt pigment rgb lt 3 255 1 1 gt finish ambient 1 text ttf crystal ttf Persists 0 1 0 scale lt 0 7 1 1 gt translate lt 1 5 1 0 5 gt pigment rgb lt 3 255 1 1 gt 153 finish ambient 1 Fig 171 Un altra immagine da usare come mappa Tutto quello che dobbiamo fare modificare il nostro ultimo esempio di mappatura di materiali cambiando la mappatura del materiale da GIF a TGA e cambiando il nome del file Quando faremo il rendering usando la nuova mappa il risultato sar molto simile a quello che abbiamo ottenuto con l immagine GIF che teneva conto dei colori della tavolozza tranne che non abbiamo dovuto usa
81. Se l interruttore switch VALORE cade nell intervallo specificato allora l analisi continua normalmente fino a che non raggiunta l istruzione break else o end Se VALORE al di fuori dall intervallo il confronto fallisce e POV Ray salta fino a quando non viene trovato un altro case o range Se nessuna istruzione case o range ha successo analizzata la sezione else L istruzione else opzionale Se non specificata nessuna istruzione else e nessun confronto riesce allora l analisi riprende dopo l istruzione end Ci pu essere qualsiasi numero di istruzioni case o range in qualsiasi ordine si voglia Se una sezione viene valutata vera ma non specificato alcuna istruzione break l analisi fallir al successivo case o range e continuer fino a un break else o end Incontrando un istruzione break mentre il programma in fase di elaborazione una sezione che ha successo provoca un immediato salto all istruzione end senza operare l analisi delle successive sezioni anche se una condizione successiva poteva essere soddisfatta 7 2 5 5 Istruzione WHILE L istruzione while consente operazioni cicliche che rendono semplice il disporre oggetti multipli in un modello o per altri usi L istruzione while seguita da un espressione decimale che riporta a un valore booleano Un valore pari a 0 0 falso ed ogni valore diverso da zero vero Nota che valori estremamente piccoli vicini a 1e 10 sono considerati zer
82. Sturm 7 6 Texture 7 6 1 Pigmento 7 6 1 1 Pigmento a Colore Unico 7 6 1 2 Pigmento a Lista di Colori 7 6 1 3 Mappe di Colore 7 6 1 4 Mappe di Pigmento 7 6 1 5 Mappatura di un Immagine 7 6 1 5 1 Specificare un Immagine 7 6 1 5 2 L Opzione Map_Type 7 6 1 5 3 I Modificatori Filter e Transmit 7 6 1 5 4 Usare il Canale Alfa 7 6 1 6 Quick Color 7 6 2 Normale 7 6 2 1 Mappe Slope 7 6 2 2 Mappe di Normali 7 6 2 3 Mappe Bump 7 6 2 3 1 Specificare una Mappa Bump 7 6 2 3 2 Il Parametro Bump_ Size 7 6 2 3 3 Use_Index e Use_Color 7 6 3 Finitura 7 6 3 1 Luce Ambiente 7 6 3 2 Riflessione Diffusa 7 6 3 2 1 Luce Diffusa 7 6 3 2 2 Brillantezza 7 6 3 2 3 Crand 7 6 3 3 Punti Illuminati 7 6 3 3 1 Punti Illuminati con riflessione di Phong 7 6 3 3 2 Punti Illuminati con Riflessione Speculare 7 6 3 3 3 Il Modificatore Metallic 7 6 3 4 Riflessione Speculare 7 6 3 5 Rifrazione 7 6 3 5 1 Attenuazione della Luce 7 6 3 5 2 Falsi Riflessi 7 6 3 6 Iridescenza 7 6 4 Aloni 7 6 4 1 Mappatura dell Alone 12 7 6 4 2 Aloni Multipli 7 6 4 3 Tipi di Alone 7 6 4 3 1 Alone Attenuante 7 6 4 3 2 Polvere 7 6 4 3 3 Alone Emittente 7 6 4 3 4 Alone Tralucente 7 6 4 4 Mappatura della Densit 7 6 4 4 1 Mappatura Cubica 7 6 4 4 2 Mappatura Cilindrica 7 6 4 4 3 Mappatura Planare 7 6 4 4 4 Mappatura Sferica 7 6 4 5 Funzione Densit 7 6 4 5 1 Costante 7 6 4 5 2 Lineare 7 6 4 5 3 Cubica 7 6 4 5 4 Polinomiale 7 6 4 6 Mappa del Colore per gl
83. a nostro vantaggio definire un oggetto che si sposta a velocit costante per esempio lungo l asse delle x Avremmo quindi la frase translate lt clock 0 0 gt nella frase di dichiarazione del nostro oggetto e il loop di animazione assegnerebbe valori progressivamente crescenti a clock Fino a quando vogliamo che solo un oggetto o un aspetto della scena cambi va tutto bene ma cosa succede se vogliamo controllare cambiamenti multipli nella nostra scena Il segreto di usare valori normalizzati di clock cio che variano tra zero ed uno e poi dichiarare altre variabili proporzionali a clock Quindi impostiamo clock ci stiamo arrivando per variare tra 0 ed 1 e poi lo usiamo come fattore moltiplicativo per altre variabili In questo modo le altre variabili possono assumere qualunque altro valore e clock si mantiene tra 0 ed 1 per qualunque altro utilizzo Vediamo un esempio relativamente semplice finclude colors inc camera location lt 0 3 6 gt look at lt 0 0 0 gt light_source lt 20 20 20 gt color White plane y 0 pigment checker color White color Black sphere lt 0 0 O gt 1 pigment gradient x color map 0 0 Blue 0 5 Blue 0 5 White 1 0 White scale 25 rotate lt 0 0 clock 360 gt translate lt pi 1 0 gt translate lt 2 pi clock 0 0 gt 178 Renderizzando una serie di fotogrammi con la variabile cl
84. ad un oggetto contenitore semplicemente mettendo pi di una frase halo dentro la descrizione dell oggetto contenitore come 334 sphere 0 pigment Clear halo la halo n 1 halo la halo n 2 halo la halo n 3 Gli effetti di halo di tipo diverso sono sommati in maniera simile all operazione di unione CSG Si deve tenere presente che halo attenuanti multiple useranno la mappatura del colore dell ultima halo scritta Non possibile utilizzare mappature di colore diverse per halo attenuanti multiple 7 6 4 3 Tipi di Alone I tipi dell alone sono definiti da una delle seguenti parole chiave che si escludono a vicenda se ne viene specificata pi di una verr usata l ultima La parola chiave predefinita attenuating halo attenuating emitting glowing dust Il tipo di halo determina il modo in cui la luce interagisce con le particelle all interno dell oggetto contenitore Ci sono due tipi di interazione auto illuminata ed illuminata Il primo tipo include gli effetti attenuating emittingeglowing mentre l effetto dust appartiene al secondo tipo I quattro tipi saranno spiegati dettagliatamente nei prossimi paragrafi 7 6 4 3 1 Alone Attenuante L alone attenuante assorbe solamente la luce che gli passa attraverso ed reso accumulando la densit delle particelle lungo un raggio Il colore totale dell alone determinato dal totale tra la densit accumulata e la mappatura
85. allora scrivere il seguente comando t2g shapes e premere INVIO Viene chiamato un programma batch che richiama il programma tga2gif Il programma legger il file shapes tga creer una tavolozza di 256 colori ottimale e scriver un file GIF shapes gif La maggior parte dei programmi di visualizzazione di immagini supportano il formato GIF 3 2 1 Renderizzare File in Altre Directory Normalmente POV Ray cerca i file di cui ha bisogno solo nella directory corrente Non cerca file di dati nel path di MS Dos ma solo programmi Nella scena d esempio appena renderizzata il file shapes pov era nella directory corrente per cui non ci sono stati problemi quella scena aveva bisogno anche di altri file ma il file povray ini istruisce POV Ray sulle altre posizioni in cui cercare i file che gli sono necessari Se si permesso al sistema di installazione di aggiornare il file 29 autoexec bat allora possibile portarsi in qualunque drive o directory ed eseguire POV Ray da quella directory Si potranno anche utilizzare i file batch e i programmi di utilit che sono inclusi nel pacchetto da qualunque directory Per futuri riferimenti chiameremo la strategia c povray3 nel path strategia 1 Ci sono alcuni casi in cui si pu preferire di non mettere c povray3 nel path C un limite di 128 caratteri nella frase PATH del file autoexec bat e potrebbe quindi non esserci spazio a sufficienza Si pu provare a renderizzare l esempio s
86. altre propriet di una superficie Il modo in cui una texture varia su una superficie specificato dal motivo pattern usato I motivi sono usati all interno delle frasi dei pigmenti delle normali e delle mappe di texture Tutti i motivi in POV Ray sono tridimensionali per ciascun punto dello spazio ciascun motivo ha uno specifico valore I motivi non circondano le superfici come se venisse avvolta un immagine attorno agli oggetti esistono nello spazio tridimensionale e gli oggetti sono intagliati in essi come un oggetto pu essere intagliato in un blocco di legno o di pietra Consideriamo un pezzo di legno Contiene bande chiare e scure costituite da cilindri concentrici gli anelli di crescita Osservando un tronco di legno alle estremit vediamo dei cerchi concentrici mentre lungo la sua altezza vediamo delle linee che costituiscono le venature Comunque il motivo presente nell intero blocco Se tagli o scolpisci il legno metterai alla luce lo stesso tipo di motivo che infatti anche all interno proprio come una cipolla che costituita da sfere concentriche che sono visibili solo quando viene tagliata Il marmo costituito da strati ondulati di sedimenti colorati che si sono trasformati in roccia Questi motivi solidi possono essere simulati usando funzioni matematiche Anche altri motivi casuali come granite o bumps o dents possono essere generati usando un algoritmo che calcola valori casuali In ogni caso le coordinate x y
87. ambiente le ombre vengono calcolate separatamente per cui i loro bordi anche se sono molto netti non costituiscono un problema In questo modo questi raggi supplementari sono lanciati solo una volta ogni 50 pixel circa e poi i valori che ne risultano vengono memorizzati e riutilizzati per i punti vicini dell immagine quando possibile Il processo di memorizzare e riutilizzare i valori provoca la necessit di un certo numero di parametri che lo regolino in modo da potere ottenere la scena che desideri 7 8 9 2 Regolare la Radiosity Come abbiamo detto prima il metodo radiosity viene attivato utilizzando l opzione INI Radiosity o il parametro qr nella linea di comando La radiosity ha comunque molti parametri che vengono specificati nella frase radiosity che si trova all interno delle impostazioni globali come segue global settings radiosity brightness DECIMALE count INTERO distance maximum DECIMALE error bound DECIMALE gray threshold DECIMALE low error factor DECIMALE minimum reuse DECIMALE nearest count INTERO recursion limit INTERO Ogni linea opzionale e pu apparire in qualunque ordine Se una linea specificata pi di una 388 volta l ultimo dei valori specificati sovrascrive gli altri Dettagli su ogni parametro sono forniti nei capitoli seguenti 7 8 9 2 1 Brightness luminosit Questo parametro rappresenta il grado luminosit da aggiungere al valore di luce ambient
88. anche i dati riguardanti il canale alfa puoi generare mappe di immagini che abbiano la trasparenza dipendente non dal colore del pixel ma dalla sua posizione POV Ray usa trasmit 0 0 per non avere trasparenza e 1 0 per la totale invisibilit I dati del canale alfa si muovono da 0 a 255 nella direzione opposta Il valore del canale alfa 0 significa la stessa cosa che trasmit 1 0 eilvalore 255 equivalente a trasmit 0 7 6 1 6 Quick Color Quando si sviluppano le scene di POV Ray spesso utile fare prove rendering di bassa qualit ma molto veloci Il parametro Q pu essere usato per disattivare delle texture o dei calcoli sulle luci piuttosto impegnativi in modo da aumentare la velocit di rendering Tutte le impostazioni di questo parametro minori di 5 non permetteranno il calcolo dei pigmenti e creeranno oggetti grigi Aggiungendo la parola chiave quick color al pigmento possibile usare nel rendering solamente colori uniti invece di pi problematici motivi Per esempio pigment gradient x color map 0 0 color Yellow 0 3 color Cyan 0 6 color Magenta 1 0 color Cyan turbulence 0 5 lambda 1 5 omega 0 75 octaves 8 quick color Neon Pink dice a POV Ray di usare il colore Neon Pink per prove di qualit inferiore a 5 ma di usare il motivo originale per prove con qualit 6 o maggiori da notare come i colori solidi come Magenta pigment color Magenta impostino immediatamente la parola
89. aspetto duro e brillante POV Ray ci offre due modi di specificare punti di riflessione sulla superficie degli oggetti Il primo si chiama riflessione di Phong Normalmente i riflessi di Phong sono descritti in POV Ray usando due parole chiave phong ephong size Il numero decimale che segue phong determina quanto illuminato deve essere il riflesso mentre il numero decimale che segue phong_ size determina la sua dimensione Proviamo questo sphere lt 0 0 0 gt 1 pigment Gray50 finish ambient 2 diffuse 6 phong 75 phong size 25 Renderizzando questo esempio 102 Fig 123 Aspetto plastico vediamo un riflesso piuttosto largo sfumato che d alla sfera un aspetto simile alla plastica Ora cambiamo phong_size a 150 Fig 124 Pi brillante Questo ci d un punto di riflessione molto pi piccolo che fa sembrare la sfera di un materiale molto pi duro e brillante Esiste un secondo metodo di calcolare i riflessi chiamato riflessione speculare Viene specificato usando la parola chiave specular ed opera insieme ad un altra parola chiave roughness ruvidit Queste due parole chiave lavorano insieme in un modo molto simile a quello in cui operano phong ephong_ size per creare riflessi che modificano la lucentezza della superficie Proviamo ad usare specular sulla nostra sfera sphere lt 0 0 0 gt 1 pigment Gray50 finish ambient 2 diffuse 6 specular 75 roughness 1 103
90. asse2 gt dimensionel dimensione2 adaptive adattativa jitter jitter spotlight point at lt punta verso gt radius raggio falloff FALLOFF tightness apertura Locks lake oggetto fade distance distanza di decadimento fade power potenza di decadimento atmosphere on off atmospheric attenuation on off La posizione e il colore della luce si specificano come per gli altri tipi di luce Il comando area light definisce la dimensione e l orientamento della luce cos come il numero delle luci I vettori assel e asse2 specificano la lunghezza e la direzione del perimetro che contiene le luci Poich le area light hanno forma rettangolare questi vettori dovranno essere fra loro perpendicolari Pi grande sar la dimensione della luce pi morbide saranno le ombre I numeri dimensionel e dimensione2 specificano il numero di luci per lato del rettangolo aumentando il quale si sfumano le ombre ma si allunga considerevolmente il tempo necessario per il rendering Il comando jitter facoltativo Quando usato causa un piccolo spostamento nella posizione delle luci all interno del rettangolo definito dall area light in modo da evitare zone d ombra Questo parametro completamente casuale e quindi meglio non utilizzarlo nelle animazioni E possibile anche definire parametri appartenenti agli spot e includerli nei parametri delle area light per creare area spotligh
91. assegnato attraverso l atmosfera come per la nebbia Poich l atmosfera calcolata tramite un campionamento lungo la visuale dell osservatore e tenendo conto delle sorgenti luminose soggetta ad aliasing come ogni altra tecnica di campionamento Ci sono quattro parametri per minimizzare i difetti che si possono verificare samples jitter aa level eaa threshold La parola chiave samples determina quanti campioni sono calcolati in un intervallo lungo il raggio visivo La lunghezza dell intervallo o la distanza specificata dal valore del parametro distance o la lunghezza della parte illuminata del raggio che sempre minore Questa parte del raggio la sezione che pi probabilmente colpita dalla luce Nel caso di uno spot la parte del raggio che giace nel cono di luce Negli atri casi la sua determinazione diventa pi difficile L unica cosa da ricordare che la lunghezza dell intervallo di campionamento variabile ma non sar mai minore dei campioni specificati nella distanza specificata Una tecnica per ridurre gli errori dovuti al campionamento di applicare il jittering ai punti campionati In altre parole di aggiungere un interferenza casuale alla loro posizione Si pu fare questo usando la parola chiave jitter Un altra tecnica il sovracampionamento il metodo anti aliasing questo aiuta a eliminare i difetti dovuti al campionamento aggiungendo campioni supplementari dove avvengono cambiamenti di grande enti
92. che attraversa rimane immutato Il colore dell oggetto aggiunto alla luce che lo attraversa quindi questo tipo di trasparenza chiamato trasparenza additiva Nota che le prime versioni di POV Ray usavano la parola chiave alpha per specificare la trasparenza filtrata Questo termine spesso usato per descrivere la trasparenza non filtrata Per questa ragione la parola chiave alpha non viene pi usata Ciascuna delle cinque componenti di un colore un valore decimale che normalmente ha un oscillazione compresa tra 0 0 e 1 0 Comunque alcuni valori anche negativi possono essere usati I colori possono essere specificati usando vettori parole chiave con valori decimali o identificatori Puoi creare anche espressioni del colore molto complesse da combinazioni di ognuno di questi operatori comuni La sintassi per specificare un colore si evoluta in POV Ray dalla prima versione del programma Abbiamo mantenuto la sintassi originale della parola chiave di base e aggiunto una scorciatoia alla notazione di vettore Entrambe le sintassi vecchia e nuova sono accettabili bench la sintassi del vettore sia pi facile da usare quando si creano espressioni di colore 7 1 5 1 Vettori Colore La sintassi per un vettore colore una delle seguenti color rgb vettore3 color rgbf vettore4 color rgbt vettore4 color rgbft vettored 230 dove vettore3 vettore4o vettore5 rappresentano ogni espressione valida di un vettore da 3 4
93. che i punti sulla superficie della sfera saranno appena influenzati e che quelli vicini al centro saranno fortemente perturbati Un valore di 1 per il falloff significa che l effetto lineare Un punto che si trovi a met strada tra il centro e la superficie subir una forza uguale a 0 5 Un valore di falloff tra0e1 significa che avvicinandosi alla superficie la forza aumenta invece di diminuire Questo pu avere qualche utilit ma ha un effetto collaterale l effetto di un buco nero cessa al di fuori del suo perimetro questo significa che i punti appena all interno del perimetro saranno fortemente perturbati mentre quelli appena fuori non saranno perturbati e questo darebbe un bordo visibile di forma sferica Un valore di falloff uguale a 0 significherebbe che la forza sarebbe uguale a 1 per tutti i punti all interno del buco nero poich ogni numero diverso da zero elevato alla potenza 0 d 1 La dimensione dello spostamento del punto data fondamentalmente dal valore della forza dopo il ridimensionamento Facciamo un esempio supponiamo di avere un buco nero di raggio 2 ed un punto ad un unit dal centro questo significa che si trova esattamente tra il centro e la superficie e che c sarebbe esattamente 0 5 Se usiamo il valore di 2 per falloff la forza su quel punto sarebbe 0 512 0 25 Questo significa che dobbiamo spostare questo punto della sua distanza dal centro moltiplicata per 0 25 in questo caso la distanza di una unit e quindi
94. col or or or Red Blue Yellow Red rotate 45 z abbiamo aggiunto questa linea Fig 98 Gradiente ruotato Le bande verticali sono ora inclinate di un angolo di 45 Tutti i motivi possono essere ruotati ridimensionati e traslati in questo modo Proviamo ora pattern di tipo diverso Uno per volta 83 sostituiamo a gradient x le seguenti parole chiave e renderizziamo per vedere le differenze bozo d Fig 99 Bozo marble Fig 100 Marble agate 84 Fig 101 Agate granite Fig 102 Granite leopard Fig 103 Leopard spotted 3 Fig 104 Spotted e wood Fig 105 Wood Renderizzando questi campioni vediamo che ciascuno d un motivo leggermente diverso dagli altri Ma per avere risultati veramente buoni ogni pattern ha bisogno di qualche modificatore di pattern 4 8 2 3 Usare Modificatori di Pattern Vediamo qualche modificatore di pattern Per prima cosa cambiamo il tipo di pattern a bozo Poi aggiungiamo il seguente cambiamento pigment bozo frequency 3 lt aggiungiamo questa linea color map 0 00 color Red 0 33 color Blue 0 66 color Yellow 1 00 color Red otate 45 z 86 Fig 106 Aggiungere la frequenza Il modificatore frequency frequenza determina il numero di volte che la mappa di colori si ripete per unit di dimensione Questo cambiamento causa la presenza di un numero maggiore di bande di colore nel nostro
95. colore inizia con la parola chiave opzionale color Questa seguito da ognuna delle cinque parole chiave addizionali red green blue filtere transmit rosso verde blu filtro e trasmittanza Ciascuna di queste parole chiave del componente seguita da un espressione decimale del valore Per esempio color red 1 0 green 0 5 Specifica un colore il cui componente rosso 1 0 o 100 della massima intensit ed il componente verde 0 5 o 50 della massima intensit Bench i componenti del blu del filtro ed dell emettitore non siano specificati esistono e sono posti al loro valore di default ovvero a zero Le parole chiave del componente possono essere date in qualsiasi ordine e se un componente non specificato il suo valore assume per default lo zero 7 1 5 3 Identificatori di Colore Gli identificatori del colore possono essere dichiarati per rendere il file della scena pi leggibile e per parametrizzare le scene cos che cambiando una singola dichiarazione cambino molti valori Un identificatore del colore espresso come l uno o l altro caso del seguente esempio declare IDENTIFICATORE VETTORE COLORE declare IDENTIFICATORE PAROLE CHIAVE COLORE Dove IDENTIFICATORE il nome dell identificatore lungo fino a 40 caratteri e VETTORE COLORE o PAROLE CHIAVE COLORE sono specificazioni del colore valide come viene descritto nelle due sezioni precedenti di questo documento Di seguito alcuni esemp
96. come ad esempio tga e png immagazzinano informazioni anche sul punto di inizio del file SCn e SRn sull output del canale alfa UA e sul numero di colori usati FNn che quindi sovrascriveranno queste impostazioni E compito dell utente accertarsi che tutte le altre opzioni siano impostate come nel rendering originale L opzione Create Ini o il parametro GI permettono di creare un file ini con tutte le impostazioni usate per il rendering cos possibile far ripartire il file con le stesse opzioni o assicurarsi che quelle attuali siano le stesse Questa opzione crea un file ini con tutte le impostazioni usate per quel rendering e include 1 valori di default che non sono stati specificati Per esempio se si avvia POV Ray con POVRAY Isimple pov MYOPTS GIrerun ini MOREOPTS POV Ray creer un file chiamato rerun ini con tutte le opzioni usate per generare la scena Il file non verr scritto finch tutte le opzioni non saranno state analizzate questo significa che nell esempio qui sopra il file includer le opzioni sia del myopts ini che del moreopts ini anche se il g specificato fra il nome dei due file E ora possibile riavviare la scena con il file POVRAY RERUN o ricominciare una scena interrotta con POVRAY RERUN C se si aggiungono altri parametri con le opzioni di rerun ini questi saranno inclusi nei riavvii futuri perch il file sar riscritto ogni volta che viene usato L opzione Create Ini anche utile per doc
97. consentito usare solo un opzione per riga di testo E possibile includere anche parametri della riga di comado nei file ini se ci risulta di aiuto Si possono scrivere pi parametri per riga ma senza mescolarli nella stessa riga con le opzioni dei file ini Si possono annidare inserire l uno nell altro i file ini semplicemente mettendo il nome del file in una riga da solo e senza segno di uguale in fondo Si possono annidare file ini fino a dieci livelli Per esempio Questo un file ini di esempio tutta questa linea di commento Sono permesse le lin vuote Input File Name semplice pov Questa linea imposta il nome del file di input W80 H60 Sono permessi anche i comandi con e 186 MOREOPT Leggi il file MOREOPT INI e continua con la prossima linea V Un altro parametro E questo tutto I file ini possono avere diverse sezioni alle quali pu venire assegnata un etichetta che deve essere posta tra parentesi quadre Per esempio RES INI Questo file ini di esempio usato per impostare la risoluzione W120 H100 Questa sezione non ha etichetta Selezionala col comando RES Bassa W80 H60 Questa sezione ha un etichetta Selezionala col comando RES Bassa Media W320 H200 Questa sezione ha un etichetta Selezionala col comando RES Media Alta W640 H480 L tichette non sono sensibili alle maiuscole RES alta
98. dal rosso al giallo tra 0 5 ed 1 Le prime versioni di POV Ray non permettevano di modificare il tipo di onda Ora che possibile modificarlo su quasi tutti i tipi di pattern le differenze tra gradient e marble si limitano solo alla forma d onda predefinita Utilizzato con la turbolenza ed una mappa dei colori appropriata questo pattern simula le venature di marmo giada o di altre pietre Il pattern marble pu essere usato con mappe di colore pigmento normali texture e slope 7 6 7 15 Onion Cipolla Il pattern onion un motivo di sfere concentriche disposte come gli strati di una cipolla Ogni strato ha lo spessore di un unit Il pattern onion usa l onda ramp wave di default ma pu usare qualunque tipo di onda Il pattern onion pu essere usato con mappe di colore pigmento normali texture e slope 7 6 7 16 Quilted Trapunto Il pattern quilted era stato originariamente progettato come pattern per le normali Ha questo nome poich pu creare un motivo in qualche modo rassomigliante alla superficie di una coperta trapunta o ad un pavimento I quadrati che lo formano sono in effetti cubi a tre dimensioni di lato unitario Quando viene usato per il calcolo delle normali utilizza una funzione specializzata il che significa che quilted non pu essere utilizzato con modificatori di normali mappe slope o modificatori del tipo d onda Quando usato come pattern di pigmenti o di texture quilted simile a quello che si usa per
99. debito col detentore del copyright o con qualunque persona od organizzazione delegata da esso per la riscossione di questo debito Il debito deve essere saldato entro 30 giorni dall evento Comunque nessuno dei paragrafi precedenti costituisce autorizzazione a distribuire copiare o usare questo software al di fuori dei termini della licenza In particolare le condizioni ed il valore del software che sia stato pagato o no non eliminano le penalit previste dalla legge e non costituiscono una soluzione che permetterebbe di evitare altri rimedi ai termini della legge che possono essere disponibili al detentore del copyright In poche parole POV Ray gratis se stai alle nostre condizioni altrimenti no Il detentore del copyright sceglie di fornirlo gratis solo ed esclusivamente a queste condizioni Per le regole di copyright il valore del software fissato a 20 dollari Nel caso di esecuzione del programma on line o remota ogni istanza di esecuzione considerata come una distribuzione del software Appendice A 11 Altri permessi 396 Il Team permette ed incoraggia la creazione di altri programmi anche commerciali che importino esportino o traducano file nel linguaggio di descrizione delle scene di POV Ray Non ci sono limitazioni all uso del linguaggio in s CI riserviamo il diritto di modificare qualunque parte del linguaggio POV Ray Persistence of Vision POV Ray Team e POV Help sono marchi registrati dal POV Ra
100. dei colori specificata vedi il paragrafo Mappa del Colore per gli Aloni La luce dello sfondo cio la luce che passa attraverso la halo attenuata dalla densit totale d aggiunta al colore totale della halo per determinare il colore finale Questo modello usato per determinare la distribuzione delle particelle con una alta albedo perch il colore finale non in relazione alla trasparenza di elementi di volume ma alla densit totale lungo un raggio non viene calcolato un integrale sul volume occupato ma un integrale di linea lungo il raggio di luce N d T L albedo di una particella determinata dalla quantit di luce diffusa dalla particella in tutte le direzioni in relazione alla quantit di luce incidente Se la particella non assorbe alcuna luce l albedo 1 Nuvole e vapori sono due degli effetti che si possono creare un modo abbastanza realistico aggiungendo sufficiente turbolenza 7 6 4 3 2 Polvere La polvere composta da particelle che non emettono luce Essa si limita ad riflettere e assorbire la luce incidente La sua sintassi halo dust dust_type TIPO eccentricity eccentricit Man mano che i raggi passano attraverso la polvere tutta la luce che arriva da qualunque sorgente 335 luminosa accumulata e diffusa in relazione al tipo di polvere ed alla sua densit Dal momento che questa accumulazione della luce include una prova per verificare l occlusione della luce altri og
101. dei sedici punti di controllo che definiscono la superficie La superficie tocca i quattro punti d angolo lt CP1 gt lt CP4 gt lt CP13 gt e lt CP16 gt mentre gli altri dodici punti danno la forma alla superficie si immagini di montare una tenda da campeggio alla base il telo coincide con i picchetti mentre gli altri tiranti non sono sulla superficie del telo La superficie racchiusa nell intelaiatura convessa formata dai sedici punti di controllo Le parole chiave u steps ev steps sono seguite da un valore decimale che specifica quante righe e quante colonne di triangoli devono essere usate come minimo per creare la superficie Il numero massimo di singole parti della superficie che vengono calcolate da POV Ray si pu ricavare dalla seguente formula sotto superfici 2 u steps 2 vy steps Questo significa che i valori diu steps e v_steps dovrebbero essere mantenuti al di sotto di 4 Molte superfici risultano buone con un valore 3 assegnato ai due parametri che crea 64 sotto superfici per un totale di 128 triangoli smussati Quando POV Ray calcola le superfici di Bezier esegue un test su ogni sotto superficie per vedere se essa abbastanza piatta da potersi approssimare ad un rettangolo La parola chiave che controlla questo test flatness Valori tipici per questo parametro sono compresi tra 0 ed 1 pi basso il valore pi lento sar il calcolo Se il valore di flatness zero POV Ray suddivide co
102. del Display Gamma Per file di scena che non contengono nelle impostazioni generali assumed gamma l opzione del file ini Display Gamma non avr alcun effetto sull output di POV Ray per quasi tutti i formati di output Comunque il valore Display Gamma usato quando si creano file di output in formato PNG e anche quando si renderizzano 1 file di esempio di POV Ray perch hanno il valore di gamma impostato cosicch possa assicurare corretti risultati per qualunque sistema 6 2 2 2 2 Impostazioni Connesse al Display Pause When Done bool Imposta la pausa quando finito il rendering on off P Imposta la pausa quando finito il rendering P Disattiva la pausa quando finito il rendering Verbose bool visualizza i messaggi on off V visualizza i messaggi V non visualizza i messaggi Draw Vistas bool visualizza 1 vista buffer on off UD Attiva la visualizzazione dei vista buffer UD Disattiva la visualizzazione dei vista buffer Su alcuni computer quando l immagine stata completata POV Ray chiude la finestra che la contiene e torna in modalit testo per mostrare le statistiche finali ed uscire Normalmente quando viene visualizzata l immagine la si vuole guardare per un po prima di continuare Usare il comando Pause When Done on 0 il parametro P fa s che POV Ray si fermi in modalit grafica in attesa della pressione di un tasto L impostazione predefinita non permette la pausa a fine rendering Quando non si usa la
103. 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 pigment color rgbt lt 1 1 1 1 gt halo emitting spherical mapping linear turbulence 1 5 color map 0 0 color rgbt 0 5 color rgbt 1 0 color rapi frequency 2 samples 20 scale 0 5 hollow scale 1 5 oO VI ct ct ct A m I m V 121 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 v
104. devi renderlo quasi sempre cavo aggiungendo la parola chiave hollow Tutte le volte che viene rilevata un intersezione ed il raggio cade all interno di un oggetto solido l atmosfera non viene calcolata Ad esempio se hai un piano parzialmente trasparente l atmosfera dall altra parte del piano sar visibile solo se il piano sar reso cavo usando hollow D Perch le parti illuminate dell atmosfera rischiarano lo sfondo R Per prima cosa non lo fanno Secondo quando zone dello sfondo sono visibili attraverso l atmosfera e le corrispondenti parti dell atmosfera sono illuminate da una qualsiasi sorgente luminosa la luce dispersa sommata alla luce che proviene dallo sfondo Questo il motivo per cui lo sfondo sembra essere schiarito dall atmosfera Immagina l esempio seguente hai uno sfondo blu attenuato dall atmosfera in modo che il colore che raggiunge l osservatore sia lt 0 0 0 2 gt Una luce che giunge da una sorgente attenuata e dispersa dall atmosfera e raggiunge infine l osservatore con un valore lt 0 5 0 5 0 5 gt Dato che abbiamo gi la luce proveniente dallo sfondo i due colori si sommano per dare lt 0 5 0 5 0 7 gt Quindi la luce risulta avere una sfumatura blu Ne risulta che pensi che lo sfondo sia schiarito ma ci non avviene come la seguente scena mostra chiaramente fversion 3 0 camera location lt 0 6 20 gt look at lt 0 6 0 gt angle 48 atmosphere type 1 samples 10 d
105. di ogni sequenza di punti per determinare la direzione della curva al suo inizio Infine la sintassi per un prisma a spline cubica prism cubic spline ALTEZZAI1 ALTEZZA2 NUMERO TOTALE DI PUNTI lt CL_A1 gt lt A 1 gt lt A 2 gt lt A na gt lt A 1 gt Ch A25 Ul BiS lt B T gt SB 22 asor SB N gt SB 13 lt C B2 gt Ch Clay KC IS KE 2 gt ang AC MOS C_l gt y SCL Cae In aggiunta alla serie di punti chiusa nel senso che il primo e l ultimo devono coincidere ogni sotto prisma deve avere due punti aggiuntivi uno all inizio ed uno alla fine della sequenza per determinare la direzione della spline all inizio ed alla fine Il parametro NUMERO TOTALE DI PUNTI determina quanti punti a due dimensioni giacenti nel piano x z formano le curve compresi i punti di controllo necessari per le spline quadratiche e cubiche Le curve vengono poi traslate lungo l asse delle y da ALTEZZA1 ad ALTEZZA2 per formare il prisma Per default viene usata una traslazione lineare Le pareti del prisma sono cio perpendicolari al piano x z e la dimensione della curva non cambia durante la traslazione Si pu anche usare la traslazione conica specificata dalla parola chiave conic sweep che d un prisma con pareti simili a quelle di un cono rimpicciolendo la curva nel corso della traslazione ZIT Come accade per i cilindri il prisma normalmente chiuso alle estremit Si possono aprire le e
106. di cui la parte generica del codice sorgente ha bisogno ha una regolazione standard nel file souce frame h che incluso in ogni modulo L header frame h contiene molti gruppi di definizioni di questo tipo ifndef FILENAME SEPARATOR define FILENAME SEPARATOR endif che significa se questo parametro non stato definito prima in config h allora questo un valore di default Controllare quindi il file frame h per vedere quali altri valori devono essere configurati Se vengono utilizzate delle definizioni per specificare funzioni specifiche per una data piattaforma deve essere incluso anche un prototipo per quella funzione Il file source msdos config h per esempio non solo contiene la macro define POV DISPLAY INIT w h MSDOS Display Init w h per definire il nome della funzione di inizializzazione del display grafico ma contiene anche il prototipo void MSDOS Display Init int w int h Progettando di portare POV Ray ad una piattaforma non supportata probabilmente meglio cominciare con la pi semplice versione senza output a video generica per Unix quindi aggiungere nuove parti tramite il file config h 2 3 7 3 Conclusione Capiamo che le sezioni sopra costituiscono solo i primi passi ma met del divertimento nel lavorare su POV Ray impararlo ed approfondirlo da soli E cos che i membri del POV Ray Team hanno iniziato Abbiamo provato a scrivere il codice sorgente nel modo
107. di non rimuovere i bounds non necessari Split Unions bool permette l unione di bounds separate on off SU permette l unione di bounds separate SU permette l unione di bounds separate Le precedenti versioni di POV Ray non avevano un sistema automatico per suddividere lo spazio in regioni e aumentare la velocit delle prove di intersezione tra i raggi e gli oggetti Coloro che utilizzavano le precedenti versioni di POV Ray dovevano per rendere il rendering pi veloce creare tali suddivisioni manualmente POV Ray 3 0 ha capacit molto pi sofisticate rispetto alle precedenti versioni In molti casi la suddivisione automatica molto pi veloce della suddivisione manuale delle precedenti versioni Comunque POV Ray rimuove la suddivisione automatica quando non necessaria In casi rari possibile che si preferisca mantenere la suddivisione manuale Alcune scene pi vecchie usano scorrettamente la suddivisione Se POV Ray rimuove la suddivisione della scena l immagine non sar pi la stessa Per disattivare la suddivisione automatica necessario specificare Remove Bounds off o usare il parametro UR Il valore predefinito Remove Bounds on Un argomento su cui c ancora indecisione la suddivisione delle unioni CSG cui stato applicato manualmente il bounding Le unioni non suddivise sono sempre divise nelle parti che le compongono in modo che la suddivisione automatica lavori meglio Molti non dividono le unioni perch sanno ch
108. di polvere Il risultato vedi halo32 pov troppo luminoso La polvere troppo fitta e possiamo vedere solo parti dell oggetto e nulla dello sfondo 4 8 5 5 3 Diminuire la Densit della Polvere La densit all interno della halo ha il valore costante 1 Questo significa che solo il colore corrispondente al valore 1 della mappatura del colore viene usato per determinare densit e colore della polvere Utilizziamo un valore di trasmittanza di 0 7 in modo da ottenere una polvere pi rarefatta box l 1 129 pigment colour rgbt lt 1 1 1 1 gt halo dust dust type 1 box mapping constant colour map 0 color rgbt lt 1 1 1 1 0 gt 1 color rgbt lt 1 1 1 0 7 gt samples 10 hollow scale 5 Fig 153 Maggiore trasparenza alla polvere A parte le brutte scalettature l immagine molto migliorata Possiamo vedere tutto l oggetto e si intravede anche lo sfondo vedi halo33 pov 4 8 5 5 4 Migliorare le Ombre Per ridurre le artificiosit dovute all aliasing utilizzeremo tre tecniche diverse dispersione jittering sovracampionamento super sampling ed un tasso di campionamento pi alto in generale La dispersione viene utilizzata per aggiungere casualit ai punti di campionamento rendendo l immagine pi sfumata Questo aiuta dato che le scalettature regolari dovute all aliasing si notano di pi di un po di rumore casuale Un basso valo
109. di sapone quando colpita dalla luce del sole L effetto arcobaleno creato da un fenomeno detto interferenza da strato sottile vedi il paragrafo Iridescenza per maggiori dettagli Per ora proviamo ad usarla L iridescenza specificata dalla parola chiave iride da tre parametri amount thickness e turbulence quantit spessore e turbolenza La quantit rappresenta il contributo dato dall iridescenza al colore della superficie Normalmente bastano valori tra 0 1 e 0 5 Lo spessore influisce sulla complessit dell effetto I migliori risultati si ottengono tra 0 25 ed 1 La turbolenza leggermente diversa da quella che abbiamo usato per i pigmenti e le normali Non possiamo impostare octaves lambda o omega ma possiamo specificare un valore che influir sulla complessit dell effetto in un modo leggermente diverso dal valore dello spessore Anche qui i risultati migliori si ottengono con valori tra 0 25 ed 1 Infine l iridescenza sar influenzata dalle irregolarit della superficie dato che dipende dall angolo con cui i raggi di luce colpiscono la superficie Sapendo tutto ci aggiungiamo un po di iridescenza alla nostra sfera di vetro sphere lt 0 0 0 gt pigment White filter 1 finish ambient diffuse 113 reflection 2 refraction 1 tor 1 5 specular 1 roughness 001 fade distance 5 fade power 1 caustics 1 irid 0 35 thickness 5 turbulence 5 Fig 138 Iridescenza
110. di specificare la qualit dell immagine renderizzata Puoi scegliere di tenere bassa la qualit dei rendering di prova per poi aumentarla per il rendering finale Le regolazioni di qualit sono fatte tramite l eliminazione di alcuni dei calcoli normalmente eseguiti Per esempio impostare la qualit con un valore inferiore a 4 significher non renderizzare le ombre Impostarla sotto a 8 significher non renderizzare riflessioni e rifrazioni I valori corrispondono ai seguenti livelli di qualit mostra solo i colori a tinta unita quick colors usa solo la luce ambiente I quick dial colors sono usati solo fino a 5 o pi bassi 2 3 mostra sia la luce ambiente che la luce diffusa 4 renderizza le ombre ma non completamente le luci 5 renderizza le ombre e luci completamente 6 7 calcola i pattern delle texture 8 calcola riflessioni rifrazioni e raggi trasmessi 9 calcola gli aloni Il valore predefinito 9 6 2 6 2 Impostazioni di Radiosity Radiosity bool attiva o disattiva la radiosita on off QR attiva la radiosita QR disattiva la radiosit La radiosit un ulteriore funzione che si occupa di calcolare la riflessione interdiffusa della luce E decisamente molto lenta e comunque ancora sperimentale I parametri che controllano come sia calcolata la radiosit sono specificati nella sezione delle impostazioni generali che si occupa di questa particolare funzione Vedere la sezione Radiosity per ulteriori dettagli
111. directory nelle indicazioni del file di scena comunque lo si dovrebbe evitare perch ci rende i file di scena meno facilmente trasportabili tra computer diversi E comune mettere i file include standard in una speciale sotto directory POV Ray pu leggere i file solo nella directory corrente o in una specificata dall opzione Library Path Vedere sezione Percorsi delle Librerie 7 2 2 Dichiarazioni Gli identificatori possono essere dichiarati e richiamati successivamente per rendere il file di scena pi leggibile e per parametrizzare le scene cos che cambiando una singola dichiarazione sia possibile cambiare molti valori Ci sono molti identificatori incorporati che POV Ray dichiara per te Vedi Identificatori Incorporati per maggiori dettagli 7 2 2 1 Identificatori di Dichiarazione Un identificatore dichiarato come segue declare IDENTIFICATORE OGGETTO Dove IDENTIFICATORE il nome dell identificatore lungo fino a 40 caratteri ed OGGETTO uno dei seguenti espressione decimale vettoriale di colore o di stringa oggetti tutti i generi texture pigment normal finish o halo color map pigment map slope map normal map camera light source atmosphere fog rainbow Sky Sphere trasformazione Di seguito alcuni esempi declare Rows 5 declare Count Count 1 declare Here lt 1 2 3 gt declare White rgb lt 1 1 1 gt declare Cyan color blue 1 0 green 1 0 d
112. disposizione un 280 oggetto lathe molto pi flessibile Il motivo molto semplice I test di intersezione con un oggetto SOR richiedono di risolvere un equazione di terzo grado mentre un oggetto lathe richiede la risoluzione di un equazione di sesto e si ha bisogno di una spline cubica per ottenere la stessa gradualit nella curva Dato che la maggior parte degli oggetti SOR e lathe sono costituiti da parecchi punti ci comporter una grossa differenza nel tempo di rendering Inoltre le soluzioni dell equazione di terzo grado sono pi accurate Se l oggetto non viene calcolato correttamente si pu utilizzare il metodo di Sturm pi lento ma pi accurato Le seguenti spiegazioni sono per il lettore interessato all aspetto matematico dell oggetto SOR Sebbene non sia necessario leggerle possono essere d aiuto per capire come esso viene calcolato La funzione che viene ruotata attorno all asse delle y per ottenere l oggetto SOR r 2 f h A h 3 B h 2 C h D Dove r il raggio e A l altezza Dato che questa una funzione cubica in A sufficientemente versatile e permette di ottenere curve regolari La curva stessa definita da un insieme di n punti P i con i che varia tra 0 ed n 1 che vengono interpolati utilizzando una funzione per ogni segmento della curva Un segmento j con j che varia tra 1 ed n 3 va dal punto P j al P j 1 ed utilizza i punti P j 1 e P j 2 per determinare la pendenza della cu
113. dovremmo ricordarci che ci sono grandi differenze a seconda di dove poniamo la parola chiave scale Ridimensionare un oggetto prima della frase halo ridimensioner solo l oggetto non la halo Ci utile se vogliamo evitare che la superficie dell oggetto contenitore divenga visibile a causa dell uso della turbolenza Come abbiamo visto nei paragrafi precedenti le particelle possono uscire dall oggetto contenitore diventando invisibili a causa dell uso della turbolenza Ci avviene solo per mappature di densit sferiche e cubiche dato che i campi di densit descritti dagli altri tipi di mappatura non hanno dimensioni finite Se usiamo la parola chiave scale dopo la frase halo sia la halo che l oggetto contenitore verranno ridimensionati Questo ci utile per ridimensionare la halo a seconda delle nostre necessit La halo mantiene le sue caratteristiche indipendentemente dalle trasformazioni applicate all oggetto 134 contenitore dopo halo cio trasparenza colore e turbolenza della halo non vengono modificati 4 8 5 6 6 Scegliere il Fattore di Campionamento Normalmente cominceremo con un basso tasso di campionamento e lo aumenteremo solo se si mostrano artificiosit dovute all aliasing che non riusciamo a rimuovere usando sovracampionamento e jittering L aspetto dell alone indipendente dal tasso di campionamento fino a che ci sono abbastanza campioni da dare una stima sufficientemente accurata del real
114. gli elementi che compongono il motivo in una lista come faremmo con singoli colori invece che distribuirli in una mappatura come sopra Ecco un esempio Cancelliamo il piano e tutte le dichiarazioni di pigmenti che avevamo fatto in precedenza ed aggiungiamo il testo seguente al nostro file base declare Pigmentl pigment hexagon color Yellow color Green color Grey scale 1 declare Pigment2 pigment checker color Red color Blue scale 1 declare Pigment3 pigment brick color White color Black rotate 90 x scale 1 box 5 5 pigment hexagon pigment Pigment1 pigment Pigment2 pigment Pigment3 rotate 90 x 140 Fig 160 Usare texture e motivi di colore Iniziamo dichiarando ciascuno dei diversi pattern come un pigmento individuale Poi usiamo il pattern ad esagoni come un pattern a lista di pigmenti semplicemente fornendogli una lista di pigmenti anzich di colori come abbiamo fatto prima Ci sono anche due frasi rotate in questo esempio perch i mattoni sono allineati lungo l asse z mentre gli esagoni sono allineati lungo l asse y e noi vogliamo che tutti siano di fronte alla macchina fotografica che abbiamo rivolto nella direzione z in modo da poter vedere l effetto dato dai pattern inclusi gli uni negli altri Naturalmente i pattern a lista di colori funzionavano solo con i pigmenti ma con POV Ray 3 tutto quello che funzionava con i pigmenti pu essere
115. gt 4 significa che questo un vettore seguito da un valore decimale Ogni componente pu essere un espressione decimale Per esempio lt Questo 3 Quello 3 5 Altra Cosa gt un vettore valido 7 1 4 2 Identificatori Vettoriali 228 Gli identificatori del vettore possono essere dichiarati per rendere un file di scena pi leggibile e ottenere scene parametrizzate cos che cambiando una singola dichiarazione cambino molti valori Un identificatore dichiarato come segue declare IDENTIFICATORE ESPRESSIONE Dove IDENTIFICATORE il nome dell identificatore che pu essere lungo fino a 40 caratteri ed ESPRESSIONE ogni espressione valida che esprima il valore del vettore Qui di seguito alcuni esempi declare Qui lt 1 2 3 gt declare L lt 3 4 5 gt declare Salta lt Foo 2 Bar 1 Bob 3 gt declare Strada L Qui declare Salta Salta lt 1 2 3 gt se He OE HE HE Nota che puoi utilizzare un identificatore di vettore per usare il suo nome senza le parentesi angolate Come mostrano gli ultimi esempi puoi ri dichiarare un identificatore vettore e puoi usare valori dichiarati preventivamente in quest ultima dichiarazione Ci sono molti identificatori incorporati che POV Ray dichiara per te Vedi Identificatori Incorporati per maggiori dettagli 7 1 4 3 Operatori Vettoriali Costanti vettoriali identificatori e funzioni possono essere associati in
116. il testo che dovr essere visualizzato e anch esso pu essere costituito da una stringa composta da lettere o espressioni Vedere il paragrafo Stringhe Il testo sar posizionato in modo che l angolo in basso a sinistra si trovi nell origine e si estender lungo la direzione positiva dell asse x La base della scritta segue l asse x La superficie superiore del carattere giace sul piano x y e il testo estruso nella direzione positiva dell asse z Lo spessore specificato dal numero decimale SPESSORE I caratteri hanno in generale una dimensione per la quale sufficiente 1 unit di spazio verticale L altezza dei caratteri circa di 0 5 0 75 unit La spaziatura orizzontale calcolata da POV Ray grazie alle informazioni contenute nel carattere Il vettore VETTORE OFFSET obbligatorio definisce ogni ulteriore spaziatura tra i caratteri Normalmente il valore che attribuirai a questo vettore sar 0 Specificando il valore 0 1 x sar possibile ottenere una spaziatura aggiuntiva tra i caratteri Gli oggetti testo possono utilizzare solo caratteri stampabili Non si possono visualizzare caratteri quali return a capo avanzamento linea line feed LF tabulature e backspace 7 5 2 13 Toro Il toro rappresentato da una polinomiale di 4 ordine che assomiglia ad una ciambella Dal momento che quest oggetto utilissimo e le quartiche sono molto difficili da definire POV Ray permette di prendere una scorciatoia e definire il t
117. immagini fatte con il raytracing o no che hanno una diversa luminosit quando vengono mostrati su monitor diversi con diverse schede video e diversi sistemi operativi Questa impostazione si basa sull hardware grafico e dovrebbe essere impostata correttamente una volta e non pi cambiata L impostazione Display Gamma nel file INI lavorando congiuntamente alle nuove impostazioni assumed gamma permette a POV Ray di creare immagini uguali su ogni sistema Vedere la sezione Gamma Colore che descrive l opzione assumed gamma delle impostazioni generali pi dettagliatamente Anche se l opzione Display Gamma pu essere diversa per ogni sistema ci sono poche regole generali per tentare di aggiustare l opzione anche se non si esperti Se Display Gamma non compare nelle opzione del file ini viene assunto il valore 2 2 Questo perch molti monitor dei PC hanno un valore per gamma in un raggio che va da 1 6 a 2 6 modelli pi nuovi sembra che abbiano valori per gamma pi bassi MacOS pu correggere il valore di gamma basandosi su un impostazione dell utente nel pannello di controllo di gamma Se il pannello di controllo di gamma non attivo il valore per gamma predefinito per i sistemi Macintosh 1 8 alcune schede video pi avanzate possono fare correzioni del valore di gamma via hardware e possono utilizzare il valore di Display Gamma corrente di solito 1 0 E anche disponibile un immagine che possa fare da test per l impostazione corretta
118. in 3D ma anche a coloro che vogliono semplicemente vedere alcuni rendering di alta qualit creati da alcuni dei migliori artisti e imparare dal loro codice Il CD ROM contiene pi di 500 immagini renderizzate E una risorsa inestimabile per coloro che stanno imparando POV Ray e contiene un tutorial interattivo per Windows Il disco venduto insieme ad un poster pieghevole ed alla bibliografia Il CD compatibile con i formati DOS e Macintosh Il CD ROM disponibile per downloading e visione sul WWW a http www povray org pov cdrom Per maggiori informazioni visitare l indirizzo http www povray org povcd 3 Iniziare Subito Questo capitolo descrive come installare velocemente POV Ray e renderizzare le scene d esempio sul proprio computer Si assume che si stia usando un computer IBM PC compatibile con MS Dos Per altre piattaforme si deve fare riferimento alla documentazione specifica contenuta nell archivio che contiene POV Ray 3 1 Installare POV Ray 21 Istruzioni specifiche per l installazione sono fornite insieme al programma eseguibile per la propria piattaforma In generale ci sono due modi per installare POV Ray la parola directory usata per tutto il capitolo Altri sistemi operativi possono usare altre parole come subdirectory folder cartella La maniera caotica creare una directory chiamata povray e copiarvi dentro tutti i file Editare e renderizzare tutte le scene da questa directory Questo metodo fun
119. intervallo lineare unidimensionale La funzione densit specificata dalle seguenti parole chiave halo constant linear cubic poly max value MASSIMO exponent ESPONENTE La parola chiave exponent usata solo insieme alla funzione densit poly Tutte le funzioni vengono descritte in questa sezione In tutte le mappe il valore r x y z calcolato in un campo compreso tra 0 e il massimo della densit specificato dalla parola chiave max value 337 7 6 4 5 1 Costante La funzione densit costante Constant fornisce costantemente il valore MAX VALUE nell intervallo della mappa di densit Questo viene calcolato dalla semplicissima formula f r MAX VALUE 1 0 0 5 f r 0 0 0 0 0 5 1 0 Figura 219 Funzione densita costante La funzione di densit costante pu essere usata per creare una distribuzione costante di particelle vincolate all interno di un oggetto contenitore 7 6 4 5 2 Lineare Un passaggio lineare della densit dal valore MAX VALUE in r 0 fino a 0 in r 1 si ottiene con la funzione densit lineare indicata dalla parola chiave linear Questa data dalla formula f r MAX VALUE 1 r 338 Fig 220 Funzione densit lineare 7 6 4 5 3 Cubica La funzione densit cubica rende pi graduale il passaggio da MAX VALUE in r 0 fino a 0 inr 1 Questa data dalla formula P e MAX VALUE 2 y 3 Oryg 339 f r Figura 221 Funzione densita cubi
120. le normali ma non identico come sono invece molti dei pattern di normali quando applicati ai pigmenti Quando usato all interno di una frase pigment otexture il pattern quilted usa la forma d onda ramp_wave ma pu usare qualunque tipo di onda Questo pattern pu essere usato insieme a mappe di colore pigmenti e texture I due parametri contro10 e control1 hanno la funzione di controllare la curvatura delle trapungiture La sintassi normal 355 quilted QUANTITA control0 CO controll Ci I valori dovrebbero in generale essere mantenuti tra 0 0 ed 1 0 Il valore di default 1 0 In sezione queste trapungiture sono cos Fig 224 Il pattern quilted con c0 0 e diversi valori di cl 356 Fig 225 Il pattern quilted con c0 0 33 e diversi valori di c1 357 Fig 226 Il pattern quilted con c0 0 67 e diversi valori di c1 358 Fig 227 Il pattern quilted con c0 1 e diversi valori di cl Questa brusca pendenza pu essere resa curva modificando i due valori di controllo I valori di controllo modificano la pendenza in cima e in fondo alla curva Un valore di 0 a entrambe le estremit dar una pendenza lineare come mostrato sopra dando delle estremit spigolose Un valore di 1 ad entrambe le estremit dar una curva ad S molto morbida e con le estremit arrotondate 7 6 7 17 Radial Radiale Il pattern radial consiste in una sfumatura radiale che si av
121. le scene in modo leggibile e comprensibile I file vengono creati come normali file di testo ASCII usando un qualunque editor Il nome del file di input specificato a POV Ray usando l opzione Input File Name fileo ilparametro Ifile Di default i file hanno estensione pov POV Ray legge e analizza il file creandosi un modello interno della scena e quindi renderizzandola La sintassi di un file di una scena conterr quindi una serie di elementi in qualunque ordine quali Direttive del liguaggio Camera oggetti camera Frasi sugli oggetti Frasi sull atmosfera global settings Impostazioni vedere la sezione Istruzioni del Linguaggio la sezione Oggetti la sezione Camera la sezione Effetti atmosferici e la sezione Impostazioni Globali per le spiegazioni pi dettagliate 7 1 Elementi Fondamentali Il linguaggio di POV Ray composto da identificatori parole chiave funzioni stringhe simboli speciali e commenti Il testo di una scena di POV Ray pu essere di un formato qualunque E possibile mettere in linee separate o nella stessa linea 1 vari descrittori aggiungere linee vuote spazi senza per dividere parole chiave o identificatori 7 1 1 Identificatori e Parole Chiave POV Ray permette di definire identificatori per un uso anche successivo nella scena Un identificatore pu essere lungo da 1 a 40 caratteri essere composto da lettere minuscole o maiuscole numeri da 0 a 9 e sotto barre _ POV
122. luce lo attraversa Per rispondere a queste domande necessario saperne di pi sulle frasi che regolano la finitura dell oggetto Anche queste frasi fanno parte delle impostazioni della texture e definiscono varie propriet della finitura da applicare ad un oggetto Come per le frasi riguardanti i pigmenti e le normali possibile evitare buona parte della sintassi relativa alle texture per passare direttamente a quella relativa alla finitura Non bisogna per dimenticare che l uso di una finitura implica la presenza di una texture anche se non stata esplicitamente citata Per esempio Questo object Coso texture pigment color Purple finish phong 0 3 pu essere abbreviato cos object Coso pigment color Purple finish phong 0 3 la forma completa per definire le finiture finish IDENTIFICATORE DI FINITURA ambient COLORE diffuse NUMERO DECIMALE 326 brilliance NUMERO DECIMALE phong NUMERO DECIMALE phong size NUMERO DECIMALE specular NUMERO DECIMALE roughness NUMERO DECIMALE metallic NUMERO DECIMALE reflection COLORE refraction NUMERO DECIMALE ior NUMERO DECIMALE caustics NUMERO DECIMALE fade distance NUMERO DECIMALE fade power NUMERO DECIMALE irid thickness NUMERO DECIMALE turbulence VETTORI crand NUMERO DECIMALE L IDENTIFICATORE DI FINITURA
123. messaggi di errori fatali invia il testo relativo alle informazioni di errori fatali a file sia Fatal Console On sia Fatal File file sia Fatal Console 0ff sia Fatal File file invia il testo relativo alle informazioni sul rendering al file render out disattiva il testo relativo al rendering invia il testo relativo alle informazioni sul rendering a file sia Render Console On sia Render File file sia Render Console 0ff sia Render File file invia il testo relativo alle informazioni sulle statistiche al file stats out disattiva il testo relativo alle statistiche invia il testo relativo alle informazioni sulle statistiche a file sia Statistic Console On sia Statistic _Filesfile Console 0ff sia e file sia Statistic Statistic Fil invia il testo relativo alle informazioni sui messaggi di attenzione al file warning out disattiva il testo relativo ai messaggi di attenzione invia il testo relativo alle informazioni sui messaggi di attenzione a file 210 GWfile sia Warning Console On sia Warning File file GWfile sia Warning Console 0ff sia Warning File file invia il testo relativo alle informazioni sui messaggi di All File true attenzione debug errori fatali rendering statistiche al file alltext out disattiva il testo relativo ai messaggi di attenzione debug errori A File false e Z fatali rendering statistiche al f
124. migliorano realmente la leggibilit dei file di scena 7 1 3 Espressioni Decimali Molte parti del linguaggio di POV Ray richiedono di specificare uno o pi numeri decimali Numeri decimali possono essere specificati usando lettere dell alfabeto identificatori o funzioni che restituiscono valori decimali Puoi creare anche espressioni decimali molto complesse da combinazioni di ognuno di questi usando vari operatori comuni Se POV Ray richiede un numero intero potrai inserire anche un numero decimale che per verr troncato e trasformato in numero intero Quando POV Ray ha bisogno di un valore logico o booleano esso interpreta ogni numero decimale diverso da zero come vero e ogni numero uguale a zero come falso Poich il confronto di numeri decimali soggetto ad errori di arrotondamento POV Ray considera valori estremamente vicini a zero come falsi quando esegue funzioni booleane Normalmente entit numeriche i cui valori assoluti sono meno di un valore epsilon preimpostato tolleranza sono considerate false quando usate in espressioni logiche Il valore di epsilon dipendente dal sistema ma generalmente di circa 1 0e 10 Due valori decimali a e b sono considerati uguali se il valore assoluto di a b risulta minore di epsilon 7 1 3 1 Costanti Decimali Valori decimali rappresentati da lettere sono indicati da un segno opzionale o un punto decimale opzionale e pi cifre Se il numero un intero puoi omettere il punto
125. nelle prime versioni di POV Ray non gli si poteva aggiungere turbolenza Ora la turbolenza pu essere aggiunta a qualunque pattern quindi spotted e bozo sono uguali in tutto ma si mantenuto spotted per ragioni di compatibilit all indietro Anche il pattern bumps uguale a bozo tranne quando usato in una frase normal In questo caso bumps usa un metodo leggermente diverso per perturbare il vettore normale alla superficie La funzione bozo ha le seguenti propriet 1 definita nello spazio a tre dimensioni cio legge i valori di x y e z e d il valore del rumore in quel punto 2 se due punti sono lontani i loro valori del rumore sono relativamente casuali 3 se due punti sono vicini i loro valori di rumore sono simili Si pu visualizzare questo pattern immaginando una stanza ed un termometro la cui scala si estende tra 0 e 1 Ogni punto della stanza ha una temperatura I punti lontani fra loro hanno temperature casuali mentre i punti vicini hanno temperature vicine La temperatura cambia gradualmente ma casualmente in tutto il volume della stanza Ora mettiamo nella stanza un oggetto e un pittore Il pittore misura la temperatura su ogni punto dell oggetto e dipinge quel punto di un colore diverso a seconda della temperatura Cosa otteniamo Un oggetto con una texture bozo Il pattern bozo usa un onda ramp_wave per default ma pu usare qualunque tipo di onda Questo pattern pu essere usato con mappe di colore pigment
126. nostra destra quattro sopra l origine e tre indietro rispetto all origine La sorgente luminosa invisibile emette solamente luce per cui non necessario assegnarle una texture Ecco fatto Chiudiamo il file e renderizziamo una piccola immagine utilizzando il comando povray w160 h120 p x d0 v idemo pov Se il nostro computer non usa le istruzioni a riga di comando si devono leggere le istruzioni per la specifica piattaforma per fornire il comando corretto per renderizzare la scena Possiamo anche regolare qualunque altro comando che si possa ritenere utile L immagine scritta in un file immagine di nome demo tga o qualche altro suffisso differente da tga se il nostro computer utilizza un formato differente 38 Fig 3 Prima Immagine Quest immagine non esattamente un opera d arte ma bisogner partire con gli elementi basilari prima di arrivare a scene e funzioni molto pi affascinanti 4 2 Usare la Macchina Fotografica 4 2 1 Usare la Messa a Fuoco Costruiamo una semplice scena per mostrare l impiego della messa a fuoco Per questo esempio useremo una sfera rosa un parallelepipedo verde ed un cilindro blu con la sfera davanti il parallelepipedo in mezzo ed il cilindro dietro Un pavimento a scacchiera per evidenziare la prospettiva ed un paio di sorgenti luminose completeranno la scena Creiamo un nuovo file chiamato focaldem pov e vi inseriamo il seguente testo include colors inc include s
127. otteniamo l effetto desiderato vedi halo11 pov 123 Fig 147 Alone tralucente Anche se il rosso delle zone ad alta densit non molto visibile perch le zone verdi a minore densit che si trovano davanti assorbono la maggior parte della luce rossa non abbiamo pi il centro della halo giallo A causa della sua somiglianza con la halo emittente ci conviene fare qualche esperimento con questo tipo di halo Dobbiamo solo ricordare tutto ci che abbiamo imparato nelle precedenti sezioni per ottenere qualche risultato soddisfacente 4 8 5 4 Alone Attenuante Un altro semplice tipo di alone l alone attenuante che assorbe luce Una profonda differenza tra l alone attenuante e gli altri tipi che il colore dell alone viene calcolato a partire dalla mappatura di colore usando la densit totale delle particelle lungo un dato raggio Gli altri tipi di alone calcolano una media pesata dei colori ricavati dalla densit per ogni campione 4 8 5 4 1 Fare una Nuvola Le halo attenuanti sono perfette per creare nuvole e fumo Negli esempi seguenti cercheremo di fare una nuvoletta Ripartiamo da una sfera di dimensione unitaria riempita con una semplice halo attenuante vedi halo21 pov camera location lt 0 0 2 5 gt look at lt 0 0 0 gt light_source lt 10 10 10 gt color rgb 1 shadowless plane z 2 pigment checker color rgb 0 color rgb 1 finish ambient 1 diffuse 0 scale 0 5 hollow
128. paragrafo Pigmento I modificatori bump size slope map e normal _ map si applicano solo alle normali vedi il paragrafo Normali Il modificatore texture map pu essere applicato solo alle texture Vedi il paragrafo Mappe di Texture I modificatori di pattern descritti nel seguente paragrafo possono essere usati con pigmenti normali o pattern di texture 7 6 8 1 Trasformare i Pattern I pi comuni modificatori di pattern sono le trasformazioni translate rotate scale e matrix Per dettagli su questi comandi vedere il paragrafo Trasformazioni Questi modificatori possono essere inseriti all interno di frasi di descrizione di pigmenti normali e texture per cambiarne la posizione la dimensione e l orientazione In generale l ordine delle trasformazioni relative ad altri modificatori di pattern come turbulence color map e altre mappe non importante Per esempio scalare un pattern prima o dopo avere applicato la turbolenza non fa alcuna differenza La turbolenza viene calcolata per prima poi viene calcolato il ridimensionamento senza tenere conto dell ordine delle due istruzioni Comunque per le frasi di warp l ordine nel quale le trasformazioni sono attuate importante Vedi il paragrafo Warp 7 6 8 2 Frequenza e Fase I modificatori frequency frequenza e phase fase si comportano come un particolare tipo dei modificatori scale e translate e si usano per le mappe di colore di pigmento di normali texture e slope In qu
129. pigmento bozo di quante ne avevamo prima Ora sostituiamo bozo con marble Fig 107 Marble Quando lo avevamo renderizzato prima avevamo visto un motivo a strisce simile a gradient y ma per nulla somigliante a del marmo Questo perch il marmo in effetti una specie di gradiente di colore ma ha bisogno di un altro modificatore per essere realistico Questo modificatore si chiama turbulence turbolenza Sostituiamo frequency 3 con turbulence 1 e renderizziamo di nuovo Fig 108 Aggiungere turbolenza Ora va meglio Ora rimettiamo frequency 3 alla riga dopo turbulence 1 e diamo un altra occhiata Ancora pi interessante Ma aspetta pu migliorare La stessa turbolenza possiede alcuni modificatori personali Possiamo infatti modificarla in alcuni modi Primo il numero decimale che segue la parola chiave turbulence pu assumere qualunque valore numeri pi alti ci forniscono una maggiore turbolenza Secondo possiamo usare le parole chiave omega lambda ed octaves per Fig 109 Frequenza e turbolenza modificare i parametri della turbolenza Proviamo pigment marble turbulence 0 5 lambda 1 omega 0 8 octaves 5 5 frequency 3 color map 0 00 col 0 33 col 0 66 col 1 00 col or Qr or or rotate 45 z Red Blue Yellow Red 88 Fig 110 Modificare gli altri parametri Renderizzando questo esempio vediamo che la turbolenza cambiata ed il motivo ha un aspetto
130. precedenti di POV Ray il valore di assumed gamma sar lo stesso che il valore di Display Gamma del sistema su cui stata creata la scena Per i PC il valore pi comune 2 2 mentre per le scene create sui Macintosh sar 1 8 Un altro valore comune 1 0 Scene che non contengono nessuna specificazione per assumed gamma non avranno nessuna correzione per ragioni di compatibilit Se stai creando nuove scene o renderizzando vecchie scene fortemente raccomandato l uso dell impostazione assumed gamma appropriata Per le nuove scene dovrai usare un valore di 1 0 poich questo rende le scene molto pi realistiche I seguenti paragrafi spiegano pi approfonditamente che cos la gamma colore e perch importante 7 8 3 1 Gamma del Monitor Le differenze nella visualizzazione dell immagine sono un risultato dipendente dal modo in cui il computer elabora l immagine e la visualizza sul monitor Nel processo del rendering e della visualizzazione a schermo sono importanti alcuni valori di gamma incluso il valore di gamma della scena o dell immagine e quello del monitor Molte immagini generate con POV Ray immagazzinano numeri nell intervallo 0 255 per ognuna delle componenti rossa verde e blu del pixel Questi numeri rappresentano l intensit di ciascuna componente del colore con 0 uguale al nero e 255 al colore puro 100 rosso o verde o blu Quando un immagine visualizzata la scheda grafica converte ciascuna componente di colore in
131. pu variare tra 0 0 ed 1 0 ma qualunque valore pu essere usato Il valore della pendenza rappresenta il cambiamento in altezza per unit di distanza dz dx Per esempio una pendenza di 0 significa che non c irregolarit nella superficie una pendenza di 1 significa che la pendenza arriva a 45 ed una pendenza di 1 significa che la pendenza sar di 45 ma rivolta in senso opposto Teoricamente una pendenza verticale avr un valore di inclinazione infinito In pratica i valori di inclinazione devono variare entro un raggio che va da 3 0 a 3 0 E bene ricordarsi che questa solo una pendenza apparente Un modificatore di normali non cambia la superficie dell oggetto Per esempio ecco come ottenere un onda triangolare normal gradient x questo il TIPO DI PATTERN slope map 0 lt 0 1 gt inizia in basso e sali 0 5 lt 1 1 gt a met continua a salire 0 5 lt 1 1 gt scendi bruscamente 1 lt 0 1 gt termina la pendenza in fondo La funzione del motivo stata calcolata e il risultato un valore tra 0 0 e 1 0 Il primo elemento imposta che a valori x 0 l altezza apparente sar 1 e l inclinazionel A x 0 5 saremo sempre ad altezza 1 e inclinazione 1 Il terzo elemento specifica che a x 0 5 e per alcune frazioni di poco superiori a 0 5 avremo altezza 1 e inclinazione 1 Infine a x 1 siamo ad altezza 0 e la pendenza sar ancora 1 Questo esempio connette fra di loro i
132. punto illuminato con riflessione Phong ma nel calcolo si fa uso di metodi diversi Il metodo speculare rende pi fedelmente la riflessione reale ed molto pi credibile per la diffusione della luce del punto luminoso nei contorni Il valore di specular varia solitamente tra 0 0 e 1 0 1 0 determiner la saturazione completa del 329 colore della sorgente luminosa al centro dell area pi luminosa Il valore predefinito 0 0 La dimensione del punto illuminato definita dal valore roughness Valori tipici per questo parametro varieranno tra 1 0 superficie molto ruvida quindi un punto molto grande a 0 0005 superficie molto liscia e un punto molto piccolo Il valore predefinito per la parola chiave roughness 0 05 la superficie avr un apparenza simile alla plastica Usando questo parametro possibile incorrere in valori errati che provocheranno un errore al momento del rendering Non usate 0 e se incorrete in errori controllate se il valore impostato non sia troppo piccolo rispetto al valore minimo possibile Per esempio finish specular 0 9 roughness 0 02 Se la parola chiave specular non stata specificata la parola chiave roughness non avra effetto 7 6 3 3 3 Il Modificatore Metallic La parola chiave metallic pu essere usata sia per i riflessi calcolati col metodo Phong sia con quello di riflessione speculare Questa parola chiave indica il modo in cui verr calcolato il colore del punto luminoso In particol
133. quantit di trasparenza Questi valori dovrebbero essere separati da virgole Per esempio image map gif mypic gif filter 0 0 5 rendi il colore 0 trasparente al 50 tr Filtrata filter 5 1 0 rendi il colore 5 trasparente al 100 tr Filtrata transmit 8 0 3 rendi il colore 8 trasparente al 30 tr Non filtrata E possibile dare all intera immagine un volore di filter o di transmit usando filter all otransmit all seguiti dal valore Per esempio image map gif stnglass gif filter all 0 9 Le precedenti versioni di POV Ray usavano la parola chiave alpha per specificare la trasparenza comunque questa parola viene spesso usata per descrivere la trasparenza non filtrata Per questa ragione alpha non pi usato Vedere la sezione Specificare i Colori per ulteriori dettagli sulle differenze tra la trasparenza filtrata e non filtrata 318 7 6 1 5 4 Usare il Canale Alfa Un altro modo per specificare la trasparenza non filtrata in una mappa di immagine quello di usare il canale alfa Immagini PNG permettono di memorizzare diverse trasparenze per ciascun valore di colore Se il tuo programma per le immagini in 2D pu trattare immagini PNG allora possibile specificare le zone di trasparenza da questo programma piuttosto che specificare il valore di trasparenza per ogni colore da POV Ray dal momento che i formati PNG e TGA possono immagazzinare
134. radius ed completamente illuminato Il cono all esterno il cono di falloff al di l del quale non c luce I valori per questi due parametri sono la met dell angolo di apertura dei coni corrispondenti entrambi gli angoli dovranno essere minori di 90 La luce decade lentamente a partire dal raggio del cono interno fino al raggio del cono esterno come mostrato nella figura il raggio non deve essere negativo 299 radius 0 radius 15 radius 30 radius 45 O z a o 0 sa Vel Cc g A v Le v k o 2 a To E 0 0 4 i 4 i 4 4 4 k k 0 0 10 0 20 0 30 0 40 0 50 0 60 0 70 0 80 0 90 0 angolo tra il raggio di luce e l asse dello spot Fig 212 Curva di intensit relativa della luce con angolo di falloff fissato a 45 300 falloff 45 falloff 60 falloff 75 falloff 90 0 5 moltiplicatore dell intensit della luce oo ________ ____ 0 0 10 0 20 0 30 0 40 0 50 0 60 0 700 80 0 90 0 angolo tra il raggio di luce e l asse dello spot Fig 213 Curva di intensit relativa della luce con angolo di raggio fissato a 45 La parola chiave tightness specifica la velocit di falloff della luce dal centro verso la fine del cono di falloff all esterno sar buio Il valore predefinito per questa parola chiave sar di 10 Valori minori renderanno pi luminosa la luce allargando il cono e renderanno i contorni pi netti
135. refraction e ior La quantita di luce che attraversa un oggetto determinata dal valore di trasparenza filtrata e o trasparenza non filtrata del pigmento Dobbiamo usare il valore di refraction solo per attivare o disattivare la rifrazione della luce usando valori di 1 o 0 rispettivamente o gli argomenti booleani on e of f Vedi il paragrafo Rifrazione per una dettagliata spiegazione dei motivi La quantit di rifrazione cio la quantit di deviazione della luce data dalla parola chiave ior che sta per indice di rifrazione index of refraction Se conosciamo l indice di rifrazione del materiale che stiamo creando possiamo usarlo Per esempio l acqua ha un indice di rifrazione di 1 33 il vetro di circa 1 45 ed il diamante di 1 75 Ritorniamo all esempio della sfera di vetro che avevamo fatto prima sphere lt 0 0 0 gt 1 pigment White filter 1 finish ambient 0 diffuse 0 reflection 25 refraction 1 ior 1 45 specular 1 roughness 001 Fig 130 Elevato indice di rifrazione Renderizziamo nuovamente questo esempio e notiamo come il piano sia visibile attraverso la sfera distorto e ribaltato Questo avviene perch la luce che passa attraverso la sfera piegata o rifratta 107 della quantit specificata da ior Riduciamo l indice di rifrazione a 1 25 e renderizziamo nuovamente Fig 131 Indice di rifrazione di 1 25 Aumentiamolo a 1 75 e renderizziamo di nuovo
136. rendering si allungheranno dall 1 al 2 di questo numero in pi rispetto al tempo precedente Se si imposta il valore di count a 300 il rendering impiegher da 3 a 6 volte di pi da 1 a 2 di 300 Quando questo valore troppo basso il livello delle luci sembrer un po irregolare come se la superficie fosse leggermente increspata Se questo effetto non importante e non sciupa la tua scena come ad esempio quando si usata una mappatura delle normali allora meglio utilizzare un valore pi basso Il valore predefinito 100 7 8 9 2 3 distance_maximum Il parametro distance maximum l unico il cui valore dipenda dalla dimensione degli oggetti nella scena Questo parametro l unico che deve essere usato per renderizzare le scene con accuratezza gli altri si possono tralasciare per i primi tentativi difficile descriverne il significato in modo semplice imposta la distanza nelle unit di grandezza del modello in modo che l errore tocchi il 100 radiosity error bound gt 1 1 campioni che si trovano a distanze superiori a questa dal punto iniziale non vengono riutilizzati Immagina una mela sul bordo sinistro di un tavolo Lo scopo quello di assicurarsi che i campioni alla destra del tavolo non siano troppo vicini alla mela e comunque non sotto la mela Se ci sono abbastanza raggi questo non un problema poich uno di essi colpirebbe certamente la mela ed imposterebbe il raggio di riutilizzo dei campioni in manier
137. riportati dai campioni non sono pi vicini Le parole chiave aa_ level edaa threshold danno il pieno controllo sul processo di sovracampionamento La parola chiave aa_level determina il massimo numero di iterazioni mentre aa_threshold specifica la differenza massima che si pu verificare tra due campioni adiacenti prima che venga effettuato il sovracampionamento Dopo tutta questa teoria torniamo alla nostra scena ed aggiungiamo le appropriate parole chiave per usare sia il jittering che il sovracampionamento vedi atmos3 pov atmosphere type 1 samples 50 distance 40 scattering 0 2 aa level 4 aa threshold 0 1 jitter 0 2 Fig 185 Se osservi il risultato che ottieni dopo avere aggiunto jittering e sovracampionamento non sarai soddisfatto L unico modo di ridurre le artificiosit ancora visibili aumentare il tasso di sovracampionamento scegliendo un numero pi alto di campioni aumentando quindi la voce samples nella definizione dell atmosfera In questo modo otterrai un buon risultato rendendo quasi invisibili le artificiosit A proposito la quantit di polvere nella nostra stanza forse un po esagerata ma questo solo un esempio E gli esempi a volte tendono ad essere esagerati 169 Fig 186 Aumentare il numero dei campioni 4 10 4 4 Usare Atmosfere Colorate Puoi assegnare un colore all atmosfera in modo da avere un maggiore controllo sul suo aspetto Per prima cosa il colore filtra
138. si parla infatti di sovracampionamento adattivo 0 adaptive supersampling si concentrer infatti su quelle parti di pixel che hanno maggior bisogno di sovracampionamento vedi figura sotto 215 campioni iniziali p e campioni nuovi ocampioni riutilizzati oa 44 un pixel angoi del pixel PA livello 1 O oeo d Tg Soha eee 000600 seo O 0 6 O O 06060 O 0000o e o 0 00 0 0e0 O eee e o e 060 0 livello 2 livello 3 Fig 196 Un esempio di Funzionamento del Sovracampionamento Adattivo Il massimo numero di suddivisioni specificato dall opzione Antialias Depth n dal parametro Rno Questo diverso per il metodo non adattivo dove il numero totale del sovracampionamento specificato Il numero massimo di suddivisioni risulter in un numero massimo di sovracampionamenti per pixel e sar dato come specificato nella seguente tabella numero di campioni per pixel sovracampionato per il metodo non adattivo 1 4 9 16 25 36 49 64 81 i vl 4 SU A YI IN numero di campioni per pixel sovracampionato per il metodo adattivo 9 25 81 289 1089 4225 16641 66049 263169 E facile notare come il numero massimo di campionamenti rispetto al metodo adattivo raramente raggiungibile Se questo metodo usato senza anti aliasing sar determinato dalla media dei raggi 216 lanciati ai suoi angoli Nella maggioranza dei casi il livello tre sar pi che sufficiente U
139. si sta utilizzando la strategia 1 come descritta sopra o la seguente strategia 3 Per maggiori dettagli su questi file batch vedi File Batch Tutti gli esempi fatti in precedenza assumono che si stesse eseguendo POV Ray dalla directory nella quale era installato cio c povray3 L approccio di utilizzare sempre la directory di installazione in effetti la strategia 3 Se stai usando questo metodo hai bisogno di informare POV Ray su dove andare a cercare gli altri file Nel caso di sunset3 pov potresti fare cos povray ic povray3 pov3demo showoff sunset3 dl Comunque alcune scene hanno bisogno di pi di un file Per esempio la directory povray3 povscn level3 drums2 contiene 3 file drums pov drums inc rednewt gif e tutti e tre sono necessari per quella sola scena In questo caso dovresti usare il comando L dove L sta per library per aggiungere nuovi percorsi a quelli che POV Ray cercher In questo caso la scena andrebbe renderizzata con il comando povray 1 povray3 povscn level3 drums2 idrums d1 3 2 2 File INI Nei rendering appena visti c erano molte pi opzioni attive di quelle che hai specificato con i comandi i d 1 Quando si esegue il programma POV Ray cerca automaticamente il file povray ini nella sua stessa directory Il file povray ini contiene molte opzioni che controllano il funzionamento di POV Ray Abbiamo impostato questo file in maniera che sia particolarmente semplice renderizzare la tua pr
140. spessa presenter aree di colore pi grandi ed uniformi Lo spessore della pellicola pu essere cambiato con la parola chiave turbulence Con l iridescenza si pu specificare solo la quantit della turbolenza I valori di octaves lambda e omega sono predefiniti e non sono modificabili In pi perturbare le normali alla superficie dell oggetto usando delle normali modificher l iridescenza Per i curiosi questo effetto avviene poich quando un raggio colpisce la superficie della pellicola parte della luce riflessa dalla superficie mentre una parte trasmessa attraverso essa Questi raggi passeranno attraverso il film e si rifletteranno contro lo strato sottostante La luce emerge dalla pellicola leggermente fuori fase rispetto ai raggi riflessi dalla superficie Questo spostamento di fase crea l interferenza che varia con la lunghezza d onda delle componenti dei colori Il risultato sar che alcune lunghezze d onda saranno rinforzate mentre alcune verranno annullate Quando tutte queste componenti si ricombinano fra loro si avr l iridescenza Per implementare questa funzione si usato come riferimento il libro Fundamentals of Three Dimensional Computer Graphics di Alan Watt Addison Wesley 7 6 4 Aloni Informazione importante le halo nella versione 3 0 di POV Ray sono oggetti sperimentali E molto probabile che verranno cambiate nelle versioni future Non possibile garantire che scene che usano questa funzione ri
141. spostiamo il punto di 1 0 25 0 25 unit Questo ci d una distanza dal centro di 1 0 1 0 0 25 0 75 unit dal centro sulla congiungente dal centro alla posizione originaria del punto Se i punti fossero parte diciamo della venatura di un legno questa venatura sembrerebbe convergere verso il centro invisibile del buco nero Se fosse impostata la parola chiave inverse sarebbe invece respinta dal buco nero e la posizione finale del punto sarebbe 1 0 1 0 0 25 1 25 sulla retta congiungente il centro con la posizione originaria del punto Strenght forza La forza da un po pi di controllo su quanto un punto viene perturbato dal buco nero Fondamentalmente la forza del buco nero come calcolata sopra viene moltiplicata per il valore di strenght che di default 1 0 Se imposti strenght a 0 5 per esempio tutti i punti all interno del buco nero verranno spostati solo della met di quanto sarebbero spostati normalmente Se imposti strenght a due verranno spostati del doppio C una limitazione all ultimo esempio lo spostamento pu essere al massimo la distanza originaria dal centro del buco nero Questo significa che un punto lontano 0 75 unit dal centro pu essere spostato di un massimo di 0 75 unit indipendentemente dal valore di strenght Il risultato di questa limitazione che si 367 avr una zona vicino al centro del buco nero in cui tutti i punti il cui valore finale della forza era maggiore o uguale a uno vengono spostati
142. spotted sqr sqrt tatistics tr tremp trength trlen trlwr trupr turm ubstr uperellipsoid switch sys samples scale scallop wave scattering seed shadowless sin sine wave sinh sky sky sphere slice slope map smooth smooth triangle sor specular sphere spherical mapping spirall spiral2 spotlight spotted sqr sqrt tatistics tr tremp trength trlen trlwr S S S S S S S S S S vuoi vv 225 trupr turm ubstr uperellipsoid switch sys S S S S tan tanh text texture texture map tga thickness threshold tightness tile2 tiles torus transform translate transmit triangle triangle wave true EGT turbulence turb depth type ultra wide_angle union up use color use colour use index u steps v val variance vaxis_rotate vcross vdot version vlength vnormalize vrotate v_ steps warning warp water level 224 waves while width wood wrinkles x y yes Tutte le parole riservate sono completamente minuscole e quindi preferibile che i tuoi identificatori contengano almeno una lettera maiuscola per evitare di incorrere in conflitti con le parole riservate Le seguenti parole non sono pi utilizzate da POV Ray ma rimangono comunque riservate bumpy1 bumpy2 bumpy3 incidence patternl pattern2 pattern3 spiral test_camera 1 test_camera 2
143. staremmo facendo il passo pi lungo della gamba Questa funzione si chiama average media e ci ritorneremo sopra pi avanti 4 9 3 Mappatura delle Texture Sappiamo come unire colori pigmenti e normali e stiamo probabilmente pensando alle finiture E intere texture Tutti e due possono essere trattati in un unico paragrafo Mentre non c una mappatura delle finiture di per s ci sono le mappature di texture e quindi possiamo adattarle facilmente a svolgere il ruolo di mappature per la finitura utilizzando gli stessi pigmenti e o normali in ciascuno dei componenti della mappa Questo un esempio Eliminiamo i pigmenti che avevamo dichiarato prima ed aggiungiamo il testo seguente declare Texturel texture pigment Grey finish reflection 1 138 declare Texture2 texture pigment Grey finish reflection 0 cylinder lt 2 5 2 gt lt 2 5 2 gt 1 pigment Blue plane z 0 rotate y 30 texture gradient y texture map i 0 0 Texturel 0 4 Texturel 0 6 Texture2 1 0 Texture2 cale 2 ww UV wae Fig 159 Mappatura di texture Ora cosa abbiamo ottenuto Il piano cambia continuamente tra due texture identiche in tutto tranne che nella finitura Quando renderizziamo questa scena il cilindro si riflette su parte del piano e su parte no Con qualche piccolo adattamento si potrebbe usare questo metodo con ogni pattern ed in ogni modo creativo sia che vog
144. test_camera 3 test_camera 4 track volume object volume rendered vol with light 7 1 2 Commenti I commenti sono porzioni di testo incluse nel file di scena che consentono una lettura pi comprensibile del file stesso Sono ignorati dal ray tracer e sono scritti solo per tua informazione Ci sono due tipi di commenti in POV Ray Due barre inclinate sono usate per commenti di una singola linea Tutto quello che viene dopo una doppia barra ignorato dal ray tracer per esempio Questa linea ignorata Puoi trovare informazioni sulla linea del file di scena di fronte al commento in questo modo oggetto FooBar questo un oggetto L altro tipo di commento usato per escludere pi linee di testo dall analisi Comincia con e finisce con Tutto ci che si trova in mezzo ignorato Per esempio Queste linee sono ignorate dal ray tracer 225 Questo pu essere utile se vuoi temporaneamente rimuovere elementi da un file di scena Questi commenti possono essere contenuti nei commenti caratterizzati dalle doppie barre inclinate i commenti cos possono essere usati temporaneamente o permanentemente all interno di una scena i commenti possono anche essere annidati ad esempio consentita la seguente espressione Questo un commento Questo anche Questo pure Ef Usa i commenti con estrema libert Bene utilizzati
145. tutta la luce che attraversa l atmosfera proveniente da sorgenti luminose raggi riflessi o rifratti o dallo sfondo La quantit di luce che viene filtrata determinata dal valore di filtro impostato nel colore Un valore di zero per il filtro significa che la luce non viene influenzata dal colore mentre un valore di 1 significa che tutta la luce filtrata dall atmosfera Se vuoi creare un atmosfera rossastra per esempio puoi aggiungere la seguente linea nella frase atmosphere che abbiamo usato nell esempio sopra color rgbf lt 1 0 0 0 25 gt Fig 187 Atmosfera colorata Usare solo rgb lt 1 0 0 gt non funziona perch il valore del filtro sarebbe zero e quindi la luce non verrebbe filtrata dal colore Un valore di filtro 0 25 significa che il 25 della luce che passa attraverso l atmosfera verr filtrata dal colore rosso ed il 75 passer inalterato Il canale di trasmittanza dell atmosfera serve invece per specificare una trasparenza minima Per default il canale della trasmittanza a zero e quindi non c trasparenza Usare un valore positivo nel canale di trasmittanza del colore dell atmosfera ti permette di determinare la quantit di luce proveniente dallo sfondo che attraverser comunque l atmosfera indipendentemente dal suo spessore definito con la parola chiave thickness 170 Se usi per esempio un colore rgbt lt 0 0 0 3 gt nel nostro esempio puoi rendere visibile lo sfondo blu che finora e
146. tutte le direzioni vedi Atmosfera per maggiori dettagli La parola chiave samples determina il numero di campioni usati per accumulare l effetto atmosferico Se il risultato non ci che ti aspettavi puoi migliorarlo aumentando il numero di campioni Il problema di scegliere un buon tasso di campionamento un compromesso tra la qualit dell immagine ed il tempo di rendering Un alto tasso di campionamento funzioner quasi sempre ma aumenter anche il tempo di rendering Questo un parametro su cui sperimentare La parola chiave distance specifica la densit dell atmosfera Funziona allo stesso modo del parametro distance della funzione nebbia Infine il valore assegnato al parametro scattering determina la quantit di luce che viene diffusa dalle particelle il resto assorbito Come vedremo pi avanti questo parametro molto utile per determinare l aspetto complessivo dell atmosfera Osservando l immagine ottenuta dalla scena precedente noterai alcune artificiosit molto brutte conosciute come bande di Mach Sono il risultato di un tasso di campionamento molto basso Il modo di evitarle descritto nel paragrafo seguente 4 10 4 3 Scegliere un buon Tasso di Campionamento Come hai appena visto un tasso di campionamento troppo basso pu causare dei risultati sgradevoli Ci sono diversi metodi per ridurre od addirittura evitare questi problemi L approccio brutale aumentare il tasso di campionamento fino a quando l a
147. un asse Cos se un oggetto a una certa distanza dall asse di rotazione esso non solo ruoter ma orbiter intorno all asse stesso modificando la sua posizione nello spazio Per comprendere le istruzioni sulla rotazione degli oggetti dovresti eseguire il famoso esercizio di Aerobica per Grafica Computerizzata come spiegato nella sezione Capire il sistema di coordinate di POV Ray 7 3 1 4 La Parola Chiave MATRIX La parola chiave matrix pu essere usata per specificare esplicitamente la matrice di trasformazione da applicare ad oggetti o a texture La sua sintassi 250 matrix lt m00 m01 m02 m10 mll m12 m20 m21 m22 m30 m31 m32 gt Dove gli elementi da m00 a m32 sono termini decimali di una matrice di trasformazione quadrata 4 4 con la quarta colonna implicitamente impostata a lt 0 0 0 1 gt Un punto P di coordinate P lt px py pz gt trasformato nel punto Q di coordinate Q lt qx qy qz gt dalle trasformazioni qx M00 px M10 py M20 pz M30 qy M01 px M11 py M21 pz M31 qz M02 px M12 py M22 pz M32 Normalmente non si usera la parola chiave matrix in quanto essa di utilizzo meno immediato rispetto ai semplici comandi di trasformazione e pi difficile da visualizzare C per un interessante aspetto del comando matrix Esso consente trasformazioni pi generali come lo schiacciamento lungo un piano La matrice seguente porta a d
148. una buona idea leggerli per vedere almeno poche delle texture e forme geometriche disponibili Si dovrebbero includere solo 1 file di cui abbiamo veramente bisogno nelle nostre scene Alcuni dei file che sono inclusi con POV Ray sono molto grandi ed meglio risparmiare tempo di calcolo e memoria se non ne abbiamo bisogno Negli esempi seguenti utilizzeremo solo i file colors ine finish inc stones inc e quindi meglio rimuovere le linee corrispondenti agli altri dal nostro file scena Possiamo avere quanti file inc desideriamo nel nostro file scena Gli stessi file ine possono contenere al loro interno frasi include ma abbiamo la limitazione di effettuare questi include annidati solo fino al decimo livello I file specificati in una frase include verranno ricercati prima nella directory attuale e se non trovati nelle directory specificate da un comando 1 o da un opzione Library Path Quindi ci faciliterebbe le cose tenere tutti i file inc come colors inc textures inc ecc in una directory include e fornire un comando 1 che specifichi dove questa directory 4 1 3 Aggiungere la Macchina Fotografica La dichiarazione della camera descrive dove e come la macchina fotografica vede la scena Fornisce coordinate x y z per indicare la posizione della camera e il punto verso cui rivolta Descriviamo le coordinate spaziali di questi punti usando un vettore a tre componenti Un vettore viene specificato utilizzando tre valori numerici
149. una frase pigment la seguente pigment TIPO DI PATTERN MODIFICATORI DEL PIGMENTO warp FRASE WARP ALTRI MODIFICATORI Allo stesso modo i warp possono essere usati nelle normali e nelle texture Si possono avere tante frasi di warp quante se ne vogliono in ciascun pattern La posizione della frase di warp rispetto agli altri modificatori come color map o turbulence non importante ma la posizione delle frasi warp rispetto a loro stesse ed alle trasformazioni importante Laddove sono presenti pi frasi warp e le relative trasformazioni queste vengono calcolate nell ordine in cui sono state specificate Per esempio risultati possono essere diversi se si applica prima una traslazione e poi warp o viceversa 7 6 8 8 1 Buco Nero Il warp buco nero si chiama cos perch simile ai veri buchi neri Cos come questi non realmente possibile vederlo L unico modo per intuirne la presenza quello di osservare l effetto che ha sugli oggetti che lo circondano Diversamente da un vero buco nero non pu inghiottirti e comprimerti a dimensioni diciamo di 10 20 micron di diametro ipotesi molto ottimistica N d T se ti avvicini troppo su questa parte stiamo ancora lavorando Prendiamo per esempio le venature di una texture legno Usando la normale turbolenza di POV Ray ed altri modificatori di texture possiamo ottenere delle belle venature ma nella sua casualit la texture regolare regola
150. una piena simulazione della luce compresi i riflessi proiettati come path tracing photon tracing o raytracing bidirezionale sono molto lenti e non pratici su piattaforme di media potenza Questo significa che dobbiamo arrangiarci per ottenere i migliori risultati possibili ma con un po di esperimenti vedremo che possibile simulare molto da vicino la realt Il metodo migliore quando possibile studiare un esempio dell oggetto che stiamo pensando di renderizzare Abbiamo bisogno di conoscere la forma dei riflessi che vogliamo ottenere e quindi modificare la nostra immagine fino a quando non siamo soddisfatti 4 8 4 6 2 Applicare Riflessi ad una Scena I riflessi proiettati sono un nuovo tipo di finitura della superficie Li applichiamo alle ombre di un oggetto trasparente e rifrangente aggiungendo la parola chiave caustics alla finitura Proviamo per cominciare il seguente esempio vedi il file caustic1 pov include colors inc include textures inc camera location lt 0 15 40 gt look _ at lt 2 0 1 gt angle 10 light_source lt 10 20 10 gt color White sotto mettiamo un piano uniforme per vedere le ombre plane y 0 pigment Grey un oggetto per applicare i riflessi sphere lt 0 3 0 gt 2 texture Glass3 finish caustics 6 110 Fig 136 Rilessi nell ombra Quando renderizziamo questo esempio vediamo la nostra sfera nell angolo superiore
151. usando solo la funzione sky sphere La sky sphere che usiamo mostrata sotto Abbiamo aggiunto anche un piano per aumentare il realismo vedi skysph2 pov sky sphere pigment gradient y color map 0 000 0 002 color rgb lt 1 0 0 2 0 0 gt color rgb lt 1 0 0 2 0 0 gt 0 002 0 200 color rgb lt 0 8 0 1 0 0 gt color rgb lt 0 2 0 2 0 3 gt scale 2 translate 1 158 rotate 135 x plane y 0 pigment color Green finish ambient 3 diffuse 7 Fig 176 Il sole Il gradiente e le trasformazioni del pigmento sono le stesse che abbiamo visto nel paragrafo precedente La mappa dei colori consiste di tre componenti un rosso brillante e tendente al giallo usato per il sole un rosso pi scuro per l alone e blu scuro per il cielo notturno Il colore del sole copre solo una piccola porzione del cielo dato che non vogliamo che il sole sia troppo grande Il colore usato per i valori della mappa compresi tra 0 000 e 0 002 per ottenere un netto contrasto al valore 0 002 non vogliamo che il sole venga sfumato nel cielo Il rosso pi scuro usato per l alone si sfuma nel blu scuro dal valore 0 002 a 0 200 Tutti i valori sopra a 0 200 corrispondono al blu scuro Il comando rotate 135 x usato per ruotare il sole e tutto il cielo alla posizione definitiva Senza questa rotazione il sole sarebbe a 0 cio sotto di noi Osservando l immagine risultante vedrai gli effetti che si posson
152. 0 5 componenti Per esempio color roabe lt 1 705 02 55 OZ gt specifica un colore il cui componente rosso 1 0 o il 100 della massima intensit Il componente verde 0 5 o il 50 della massima intensit ed il componente blu 0 2 o il 20 della massima intensit Bench i componenti del filtro e della trasmittanza non siano specificati esistono e si sottintendono posti al loro valore di default ovvero uguali a zero nessuna trasparenza La parola chiave rgbf richiede un quarto componente del vettore Il quarto componente il componente del filtro mentre il componente trasmittanza assume per default il valore zero Similmente la parola chiave rgbt richiede quattro componenti dove il 4 valore assegnato al 5 componente che la trasmittanza ed il componente del filtro posto uguale a zero La parola chiave rgbft permette di specificare tutti i cinque componenti Internamente alle espressioni tutti i cinque componenti sono sempre usati Nella maggior parte delle circostanze la parola chiave color opzionale e pu essere omessa Viene supportata anche l espressione inglese o canadese colour In alcune circostanze se l espressione del vettore un espressione a 5 componenti o c un identificatore del colore nell espressione allora la parola chiave rgbft opzionale 7 1 5 2 Parole Chiave Il vecchio metodo della parola chiave per specificare un colore ancora utile e molti utenti lo preferiscono Come un vettore
153. 00 0 000 gt color rgb lt 1 000 1 000 1 000 gt scale lt 0 2500 0 2500 0 2500 gt grigi per sfumare il rosso e il bianco texture pigment checker color rgbf lt 0 632 0 612 0 688 0 698 gt color rgbf lt 0 420 0 459 0 520 0 953 gt turbulence 0 500 scale lt 0 2500 0 2500 0 2500 gt 147 parallelepipedo a scacchi rossi e bianchi sfumati box lt 1 1 1 gt lt 1 1 1 gt texture FADED TEXTURE translate lt 1 5 1 2 0 gt Fig 166 Secondo Nonostante che sia una differenza piuttosto sottile notiamo che la tovaglia non sembra pi cos nuova Dato che vogliamo inserire poi una bottiglia di vino nella scena del picnic abbiamo pensato che potrebbe essere un tocco simpatico l aggiungere una macchia di vino o due Questo esempio potrebbe essere ottenuto aggiungendo un blob appiattito ma darebbe l effetto di vino rovesciato su un tavolo non di una macchia Quindi dobbiamo aggiungere un altro strato Di nuovo aggiungiamo un altro parallelepipedo e renderizziamo nuovamente declare STAINED TEXTURE scacchi rossi e bianchi texture pigment checker color rgb lt 0 920 0 000 0 000 gt color rgb lt 1 000 1 000 1 000 gt scale lt 0 2500 0 2500 0 2500 gt grigi per sfumare gli scacchi texture pigment checker color rgbf lt 0 634 0 612 0 688 0 698 gt color rgbf lt 0 421 0 463 0 518 0 953 gt
154. 000 gt scale lt 0 2500 0 2500 0 2500 gt grigi per sfumare gli scacchi texture pigment checker color rgbf lt 0 632 0 612 0 688 0 698 gt color rgbf lt 0 420 0 459 0 520 0 953 gt turbulence 0 500 scale lt 0 2500 0 2500 0 2500 gt le macchie di vino texture pigment spotted color map 0 000 color rgb lt 0 483 0 165 0 165 gt 0 329 color rgbf lt 1 000 1 000 1 000 1 000 gt 0 734 color rgbf lt 1 000 1 000 1 000 1 000 gt 1 000 color rgb lt 0 483 0 165 0 165 gt turbulence 0 500 frequency 1 500 normal qui vengono aggiunte le spiegazzature wrinkles 5 0000 parallelepipedo spiegazzato box lt 1 1 1 gt lt l 1 1 gt texture WRINKLED TEXTURE translate lt 1 5 1 2 0 gt 150 Fig 168 Quarto campione Bene questa potrebbe non essere la tovaglia che vorremmo invitare ad un picnic ma se confrontiamo l ultimo parallelepipedo con il primo vediamo quanta profondit dimensione e personalit posiamo aggiungere ad un oggetto utilizzando texture appropriate Un ultima nota quanto vale per le normali nelle texture stratificate non vale per le finiture Se una texture di uno strato inferiore contiene una finitura per esempio a specchio questa visibile in tutti i punti in cui la trasparenza degli strati soprastanti lo consente 4 9 8 Quando Fallisce Tutto il Resto
155. 1 TEXTURE_ 2 indica tutto ci che normalmente apparirebbe all interno di una frase riguardante le texture anche se non sono necessarie le parentesi graffe n la parola chiave texture Le parentesi quadre sono invece parte integrante di questa istruzione non indicano parti facoltative e circondano ogni elemento della mappa Nella mappa ci possono essere da 2 a 256 elementi Ad esempio texture gradient x questo il tipo di pattern texture map 0 3 pigment Red finish phong 1 0 3 T Woodl1 questo un identificatore di texture 0 6 T Woodl1 0 9 pigment DMFWood4 finish Shiny Quando la funzione gradient x d valori compresi tra 0 0 e 0 3 sar usata la texture rossa Da 0 3 a 0 6 sar usata la texture T Wood11 da 0 6 a 0 9 ci sar il passaggio graduale da T Wood11 a DMFWood4 Da 0 9 in poi solo DMFWood4 Le mappature di texture possono essere annidate fino a qualunque livello di complessit si voglia Le texture che compaiono in una mappa possono avere mappature di colore o di texture o qualunque tipo di texture si desideri Nell area in cui due texture sfumano l una nell altra viene calcolato interamente il contributo di entrambe le texture e poi il colore risultante calcolato con un interpolazione lineare dei due Ci significa che la riflessione la rifrazione e i calcoli relativi alla luminosit sono eseguiti due volte per ogni punto Questo
156. 164 Effetto finale 4 9 7 1 Dichiarare Texture Stratificate Nel caso in cui noi volessimo utilizzare una texture stratificata su alcuni oggetti della nostra scena perfettamente possibile dichiarare una texture stratificata Non ripeteremo la texture che abbiamo visto nel paragrafo precedente ma il risultato finale dovrebbe essere qualcosa di questo genere declare Metallo Consumato texture inserisci la texture di base qui texture le macchie di ruggine qui texture e naturalmente le bruciature fuligginose qui POV Ray non ha problemi nell individuare il punto in cui terminano le texture di una dichiarazione dato che le texture si susseguono l una dopo l altra senza oggetti o direttive nel mezzo La texture stratificata che viene dichiarata sar assunta continuare finch non si trover qualcosa di diverso da una frase texture Quindi in questo modo un qualunque numero di strati pu essere aggiunto alla dichiarazione di texture Un ultima cosa circa le texture stratificate Qualunque texture 145 stratificata usiamo dichiarata o no non dobbiamo dimenticare la frase texture che la circonda In texture convenzionali singole una normale scorciatoia quella di indicare solo il pigmento o solo il pigmento e la finitura o solo le normali o qualunque altra cosa senza racchiudere il tutto in una frase texture Questa scorciatoia non si estende alle texture stratificate Noi con P
157. 2 gt lt A na gt lt A 1 gt lt B I gt REO eean KB nba lt B 1 gt lt c 15 lt C 2 gt sed SC ne gt lt I7 Ciascuno dei sotto prismi deve essere chiuso ripetendo il primo punto al termine della sequenza 276 Se ci non avviene POV Ray visualizza un messaggio di avvertimento ed il prisma non viene calcolato ma con le spline lineari viene chiuso automaticamente ed il calcolo prosegue Ci implica che tutti i punti di un prisma devono essere diversi gli uni dagli altri tranne naturalmente il primo e l ultimo che devono essere identici Ci si applica a tutti i tipi di spline sebbene 1 punti di controllo delle spline quadratiche e cubiche possano essere scelti arbitrariamente L ultimo sotto prisma di un prisma a spline quadratica chiuso automaticamente come l ultimo sotto poligono contenuto nei poligoni se il primo e l ultimo punto non coincidono Ci rende molto semplice la conversione tra poligoni e prismi Le spline quadratiche e cubiche non sono mai chiuse automaticamente La sintassi per un prisma a spline quadratica la seguente prism quadratic spline ALTEZZAI ALTEZZA2 NUMERO TOTALE DI PUNTI lt CL_A gt lt A 1 gt lt A 2 gt lt A na gt lt A 1 gt ACL B gt lt B_1 gt lt B_2 gt lt B_nb gt lt B 1 gt LEl Cy 0715 SC De sep SODO E I sotto prismi a spline quadratica hanno bisogno di un punto di controllo aggiuntivo all inizio
158. 4 4 Angolo Angle 7 4 4 5 Vettori Up e Right 7 4 4 5 1 Rapporto Altezza Larghezza 7 4 4 5 2 Chiralit 7 4 4 6 Trasformazioni sulla macchina fotografica 7 4 5 Identificatori della macchina fotografica 7 5 Oggetti 7 5 1 Oggetti Vuoti e Oggetti Solidi 7 5 1 1 Tranelli degli Aloni 7 5 1 2 Tranelli della rifrazione 10 7 5 2 Primitive Solide Finite 7 5 2 1 Blob 7 5 2 2 Parallelepipedo 7 5 2 3 Cono 7 5 2 4 Cilindro 7 5 2 5 Campi di Quota Height Field 7 5 2 6 Frattali di Julia 7 5 2 7 Lathe 7 5 2 8 Prisma 7 5 2 9 Sfera 7 5 2 10 Superellissoidi 7 5 2 11 Superfici di Rotazione 7 5 2 12 Testo 7 5 2 13 Toro 7 5 3 Superfici Primitive Finite 7 5 3 1 Superfici Bicubiche 7 5 3 2 Disco 7 5 3 3 Mesh 7 5 3 4 Poligoni 7 5 3 5 Triangoli e Triangoli Smussati 7 5 4 Primitive Solide Infinite 7 5 4 1 Piano 7 5 4 2 Polinomiale Cubica e Quartica 7 5 4 3 Quadrica 7 5 5 Geometria Solida Costruttiva 7 5 5 1 La CSG 7 5 5 2 Dentro e Fuori 7 5 5 3 Inverso 7 5 5 4 Unione 7 5 5 5 Intersezione 7 5 5 6 Differenza 7 5 5 7 Fusione Merge 7 5 6 Sorgenti Luminose 7 5 6 1 Luci Puntiformi 7 5 6 2 Spot 7 5 6 3 Luci Cilindriche 7 5 6 4 Area Light 7 5 6 5 Luci Senza Ombra 7 5 6 6 Looks like 7 5 6 7 Attenuazione 7 5 6 8 Interazione con l Atmosfera 7 5 6 9 Attenuazione Atmosferica 11 7 5 7 Modificatori di Oggetti 7 5 7 1 Clipped By 7 5 7 2 Bounded_ By 7 5 7 3 Hollow vuoto 7 5 7 4 No Shadow Senza Ombra 7 5 7 5
159. 5 4 Istruzioni SWITCH CASE e RANGE Un istruzione condizionale piu potente switch La sintassi la seguente switch VALORE case TEST 1 Questa sezione analizzata se VALORE TEST 1 break Fine primo caso case TEST 2 Questa sezione analizzata se VALORE TEST_ 2 break Fine secondo caso range LOW 1 HIGH 1 Questa sezione analizzata se VALORE gt LOW 1 amp VALORE lt HIGH 1 f break Fine terzo caso range LOW 2 HIGH 2 Questa sezione analizzata se VALORE gt LOW 2 amp 245 VALORE lt HIGH 2 break Fine quarto caso else Questa sezione analizzata se nessun altro case o range sono veri fend Fine della parte condizionale L espressione decimale VALORE che segue l istruzione switch valutata e comparata ai valori nelle istruzioni case o range Quando si usa case essa seguita da un espressione decimale TEST_1 nell esempio in parentesi Essa comparata a VALORE Come al solito in POV Ray i confronti di valori decimali sono considerati uguali se la loro differenza inferiore a le 10 Se i valori sono uguali l analisi continua normalmente fino ad incontrare l istruzione break else o end Se il confronto fallisce POV Ray salta le istruzioni fino a quando non trova case o range Se usi l istruzione range essa seguita da due espressioni decimali LOW _1 ed HIGH 1 nell esempio che sono chiuse in parentesi e separate da una virgola
160. 6 4 3 123 456 str 123 456 9 3 123 456 str 123 456 9 3 00123 456 str 123 456 0 2 123 46 str 123 456 0 0 123 str 123 456 5 0 gt 123 Str 123 00 077 2 123 000 str 123 456 0 1 123 456000 secondo specifica di default stremp S1 S2 Opera il confronto della stringa S1 con S2 D come risultato un valore pari a zero se le stringhe sono uguali un numero positivo se S1 viene dopo S2 nella sequenza ASCII negativo in caso contrario strlen S1 Lunghezza di S1 D come risultato un valore intero che rappresenta il numero di caratteri della stringa S1 strlwr S1 Lettere minuscole di S1 D come risultato una nuova stringa nella quale tutte le lettere della stringa S1 sono convertite in minuscolo La stringa originale non tagliata Per esempio strlwr Saluti a Tutti d come risultato saluti a tutti substr S1 P L Sotto stringa di S1 D come risultato una stringa che un sottoinsieme di caratteri della stringa S1 partendo dalla posizione specificata dal valore intero P per una lunghezza specificata dal valore intero L Per esempio substr ABCDEFGHI 4 2 porta alla stringa EF Se P L maggiore di strlen S1 allora si verifica un errore strupr S1 Lettere maiuscole di S1 D come risultato una nuova stringa nella quale tutte le lettere minuscole nella stringa S1 sono convertite in lettere maiuscole La sequenza originale non 239 tagliata Per esempio strupr Saluti a Tutti
161. 655 compuserve com Amiamo sapere come state usando il programma Faremo del nostro meglio per cercare di risolvere qualunque problema che possiate avere con POV Ray ed aggiungere buoni suggerimenti all interno del software Se ci sono domande riguardanti la distribuzione l utilizzo commerciale o qualunque argomento particolarmente difficoltoso contattate Chris Young coordinatore del Team di sviluppo Altrimenti spargete la posta in giro A tutti noi piace avere vostre notizie Il miglior metodo di contattarci la posta elettronica attraverso CompuServe per la maggior parte di noi Adesso anche America On Line e Internet possono mandare posta a CompuServe quindi usando l indirizzo Internet la posta ci sar inoltrata tramite CompuServe dove la leggiamo ogni giorno Per favore non mandate grossi file attraverso la posta senza chiedere prima Paghiamo per ogni minuto su CompuServe e file di grandi dimensioni possono diventare costosi Chiedete permesso prima di mandarci il file grazie Appendice D Cartoline per i Membri del POV Ray Team Se vuoi ringraziare personalmente alcuni membri del POV Ray Team puoi spedirgli una cartolina da qualunque posto ti trovi Per evitare indirizzi non validi nel caso che qualcuno di noi traslochi gli indirizzi forniti sotto in ordine alfabetico sono validi solo fino alla data indicata Dieter Bayer Taeublingstr 26 91058 Erlangen Germany fino al 31 7 1997 Chris Cason versione Windows PO Bo
162. 8 Ci fornir valori migliori ed in numero superiore e poi li interpoler con altri ancora nell ultimo passaggio Non adatto a persone con poca pazienza dato che il tempo di rendering aumenta in maniera geometrica Se hai delle irregolarit nella luce ambiente solo in certe zone o vicino a certi oggetti prova invece a modificare error bound Non abbassarlo mai pi di un poco per volta perch il tempo di rendering aumenter molto _ Se la scena che ne risulta corretta ma ottieni vicino ad alcuni oggetti punti del colore giusto di solito il pi scuro su superfici del colore sbagliato prova ad abbassare reuse dist max Se non funziona ancora aumenta a 100 il numero di raggi ed abbassa molto poco error bound Se ci sono ancora problemi abbassa reuse nearest count acirca 4 391 Appendice A Copyright I seguenti paragrafi contengono le informazioni legali e la licenza d uso per il motore di raytracing Persistence of Vision chiamato anche POV Ray Prima di usare questo programma si devono leggere i paragrafi seguenti Appendice A 1 Accordo Sulla Licenza Appendice A 2 Permesso di Uso Appendice A 3 Regole Generali per Tutte le Distribuzioni Appendice A 4 Definizione di Pacchetto Completo Appendice A 5 Condizioni per le Compagnie di Distribuzione di Programmi Shareware Freeware Appendice A 6 Condizioni per Servizi On Line e BBS incluso Internet Appendice A 7 Esecuzione remota di POV Ray Appendice A 8 Condiz
163. Amiga a 320x400 pixel non utilizzano pixel quadrati ma forniscono ancora un immagine il cui rapporto altezza larghezza di 4 a 3 Quindi le immagini da visualizzare con questi hardware dovrebbero ancora utilizzare il rapporto 4 3 tra i vettori up e right ma le impostazioni di W e H non mantengono questo rapporto Per esempio camera location lt 3 5 10 gt up lt 0 1 0 gt right lt 1 0 0 gt look at lt 0 2 1 gt Questo specifica un immagine perfettamente quadrata Su un sistema a pixel quadrati come SVGA dovreste usare i parametri W e H come W480 H480 o W600 H600 Comunque con la 259 modalit video dell Amiga a pixel non quadrati 320x400 dovreste usare W240 H400 per ottenere un immagine quadrata 7 4 4 5 2 Chiralit N d T Chiralit un termine chimico che deriva dal greco chir s che significa mano ed usato per descrivere la diversit di due oggetti simili ma non uguali in quanto uno l immagine speculare dell altro come per esempio la mano destra e la mano sinistra Il vettore right indica anche la direzione di destra della macchina fotografica indica cio a POV Ray da che parte il lato destro del tuo schermo Il segno del vettore destro pu essere usato per determinare il verso del sistema di coordinate utilizzato Il vettore right di default Fight lt L 333 0 OF Che significa che la direzione delle x positive a destra Questo sistema di assi viene chiamato si
164. B moltiplicazione e divisione A B A B somma e sottrazione Possono anche essere create espressioni relazionali logiche e condizionali Esiste comunque una restrizione e cio che questi tipi di espressione devono essere inclusi in parentesi Questa restrizione che non imposta dalla maggior parte dei linguaggi di programmazione necessaria perch POV Ray consente di unire espressioni decimali e vettoriali Senza le parentesi c un problema di ambiguit Le parentesi non sono richieste per l operatore logico not mostrato prima Gli operatori e le loro priorit sono mostrati qui di seguito Espressioni relazionali Gli operandi sono espressioni dell aritmetica ed il risultato sempre booleano con 1 per vero e 0 per falso Tutti gli operatori relazionali hanno la stessa precedenza A lt B A minore di B A lt B A minore o uguale a B A B A uguale a B ovvero abs A B lt EPSILON A B A non uguale a B ovvero abs A B gt EPSILON A gt B A pi grande o uguale a B A gt B A pi grande di B Espressioni logiche Gli operandi sono convertiti a valori booleani di 0 per falso e 1 per vero Il risultato sempre booleano Tutti gli operatori logici hanno la stessa precedenza A amp B vero solo se sia A che B sono veri falso altrimenti falso se entrambi sono falsi vero in tutti gli altri A B casi Espressioni condizionali L operando C booleano mentre gli operan
165. Creiamo un nuovo file e lo chiamiamo litedemo pov Lo editiamo come segue include colors inc include textures inc camera location lt 4 3 9 gt look at lt 0 0 0 gt angle 48 Aggiungiamo i seguenti semplici oggetti plane y 1 texture pigment checker color rgb lt 0 5 0 0 gt color rgb lt 0 0 5 0 5 gt finish diffuse 0 4 ambient 0 2 phong 1 phong_size 100 reflection 0 25 EOrus 1505 texture Brown Agate rotate lt 90 160 0 gt translate lt 1 1 3 gt box lt 1 1 1 gt lt 1 1 1 gt texture DMFLightOak translate lt 2 0 2 3 gt cone lt 0 1 0 gt 0 lt 0 0 0 gt 1 texture PinkAlabaster scale lt 1 3 1 gt translate lt 2 1 1 gt sphere lt 0 0 0 gt 1 63 texture Sapphire Agate translate lt 1 5 0 2 gt E ora una luce puntiforme light source lt 2 10 3 gt color White Fig 72 Illuminazione della luce puntiforme Renderizziamo questa scena a 200x150 A e vediamo che gli oggetti sono chiaramente visibili con ombre ben nette I lati degli oggetti curvi pi vicini alla luce sono i pi chiari mentre le zone rivolte dalla parte opposta alla luce sono le pi scure Notiamo anche che il piano a scacchiera illuminato uniformemente fino all orizzonte Questo ci permette di vedere il piano ma non molto realistico 4 6 3 La Luce Spot Gli s
166. Dove IDENTIFICATORE l identificatore dichiarato e TRASFORMAZIONE la combinazione di una o pi traslazioni rotazioni ridimensionamenti specificazioni matrix o anche un identificatore di trasformazione dichiarato precedentemente Un identificatore di trasformazione richiamato dalla parola chiave transform senza alcuna parentesi come mostrato di seguito object MioOggetto Produci una copia di MioOggetto transform MiaTrasformazione Applica la trasformazione translate x 5 Poi muovi di 5 unit a sinistra object MioOggetto Produci un altra copia di MioOggetto transform MiaTrasformazione Applica la stessa trasformazione translate x 5 Poi muovi di 5 unit a destra Su oggetti CSG di Geometria Solida Costruttiva estremamente complessi se applichi trasformazioni dichiarate invece di singole trasformazioni rotazioni ridimensionamenti o istruzioni matriciali puoi accelerare l elaborazione del file della scena La trasformazione applicata una volta a ciascun componente In generale applicare ogni singola traslazione rotazione cambio di dimensione o istruzioni matriciali prende molto tempo Questa procedura accorcia i tempi di elaborazione e di rendering in entrambe le situazioni 7 3 4 Trasformare le Texture e gli Oggetti Quando un oggetto subisce una trasformazione tutte le texture ad esso applicate vengono modificate di conseguenza Ci significa che se tu hai operato una tra
167. Frame Commands Viene eseguito il Post Scene Command se c Si esce da POV Ray con un codice di errore 0 207 Nelle precedenti tabelle questo significa evitare il resto del passo 4 e procedere al passo 5 Di ritorno dal comando Post Frame Command se stata specificata un azione allora S tralascia tutti i fotogrammi seguenti Facendo cos l animazione verr creata normalmente Esegue il comando Post Scene Command Esce da POV Ray con codice 0 Nella tabella precedente questo significa tralasciare dal passo 4 e procedere al passo 5 A lo stesso che S Di ritorno dal comando Post_Scene Command se c un azione impostata allora SoA lo stesso di I 6 2 5 Output di Testo L output il modo in cui POV Ray ti informa riguardo a cosa sta facendo cosa far e cosa ha fatto Questa versione di POV Ray divide i messaggi in sette parti separate Alcune versioni distinguono queste parti con colori diversi alcune permettono di sfogliare le varie pagine di messaggi Tutte le versioni ti permettono di attivare o disattivare alcuni di questi messaggi o di poter creare una copia di questi messaggi in un file o in pi di uno Questa sezione descriver le opzioni che ti permetteranno di controllare l output dei messaggi 6 2 5 1 Tipi di Output di Testo Ci sono sette parti distinte che possono essere evidenziate nei messaggi di output di POV Ray In alcun versioni queste sono evidenziate da colori diversi Il testo mostrato quando
168. I MPEG o semplicemente una GIF animata per la nostra pagina web il processo di animazione ci risparmia molte noie E non dimentichiamo che phase e clock possono essere usati per esplorare e modificare molti elementi di texture ed alcuni degli oggetti pi difficili da gestire ad esempio i frattali julia Quindi anche se siamo soddisfatti delle nostre scene ferme aggiungere l animazione al nostro repertorio pu portarci ad una grande comprensione di ci che POV Ray capace di fare L avventura aspetta 5 Guida al Linguaggio di POV Ray Questi capitoli di riferimento descrivono tutti i parametri per la linea di comando e le parole chiave dei file INI che vengono utilizzati per impostare le opzioni di POV Ray Si suppone che essi vengano usati come riferimento Non contengono dettagliate spiegazioni su come vengono scritte le 184 scene 0 su come si usa POV Ray Semplicemente spiegano tutte le funzioni la loro sintassi le applicazioni limiti ed imperfezioni ecc 6 Opzioni di POV Ray POV Ray stato originariamente creato come programma a linea di comando per sistemi operativi senza interfaccia grafica senza finestre di dialogo e senza men a tendina Molte versioni di POV Ray usano ancora le linee di comando per specificare determinati parametri 6 1 Impostare le opzioni di POV Ray Ci sono due distinte maniere di impostare le opzioni di POV Ray parametri espressi per mezzo della linea di comando e opzioni da specific
169. NGA render STRINGA fstatistics STRINGA warning STRINGA Dove STRINGA ogni sequenza valida di testo inclusi identificatori o funzioni stringa che riportano una sequenza di caratteri Per esempio switch clock 360 range 0 180 render Clock da 0 a 180 n break range 180 360 render Clock da 180 a 360 n break Helse warning Clock al di fuori dell intervallo n warning concat il valore str clock 360 5 0 n end Ci sono sette flussi distinti di testo che POV Ray usa per comunicare con l utente Puoi produrre output solo su cinque Su alcune versioni di POV Ray ciascun flusso indicato da un colore particolare Il testo di questi flussi mostrato ogni qualvolta necessario quindi spesso una miscela dei vari tipi La distinzione importante solo se scegli di disabilitare alcuni dei flussi o indirizzare alcuni dei flussi su file di testo Su alcuni sistemi sei in grado di fare una rassegna dei flussi separatamente nel loro scorrere Vedi Output di Testo su Console 6 2 5 2 per dettagli sul ri indirizzare i flussi di output su un file di testo Qui vi una descrizione di come POV Ray usa ciascun flusso Puoi usarli per qualunque scopo tu voglia notando che l uso dell output terror causa un errore fatale dopo che viene mostrato il testo e termina il programma DEBUG Questo flusso mostra messaggi per la correzione E progettato principalmente per i programmatori ma insieme ad alt
170. OV Ray possiamo stratificare intere texture ma non parti individuali di texture Per esempio declare Falsa Texture texture inserisci la texture base qui pigment Red filter 5 normal bumps 1 non funzionerebbe I pigmenti e le normali sono l senza essere parte di una qualunque particolare texture Entro un oggetto con una singola texture possiamo fare questo genere di cose ma con texture stratificate otterremmo solo un messaggio di errore sia che questa si trovi all interno di un oggetto sia che si trovi all interno di una dichiarazione 4 9 7 2 Un Altro Esempio di Texture Stratificata Per spiegare ulteriormente come funzionano le texture stratificate viene descritto in dettaglio un altro esempio Diciamo di voler creare una tovaglia da usare per una scena di un picnic Dato che una semplice tovaglia a scacchi rossi e bianchi ha un aspetto troppo nuovo troppo piatto e troppo somigliante ad un pavimento usiamo una texture stratificata per creare questo panno Ora creiamo una scena che contiene quattro cubi Il primo cubo ha la semplice texture rossa e bianca con la quale abbiamo iniziato la nostra scena del picnic Il secondo ha uno strato che ha la funzione di sfumare il colore della nostra tovaglia Il terzo aggiunge qualche macchia di vino e l ultimo aggiunge anche qualche increspatura Non in effetti un altro strato vero e proprio ma dobbiamo stare attenti a quando e come le normali hanno un effetto n
171. POV Ray Team POV Ray Persistence of Vision Raytracer versione 3 01 Manuale di Utilizzo www liberliber it Questo e book stato realizzato anche grazie al sostegno di E text Editoria Web design Multimedia http www e text it QUESTO E BOOK TITOLO POV Ray Persistence of Vision Raytracer versione 3 01 Manuale di Utilizzo AUTORE POV Ray Team TRADUTTORE Gruppo di Lavoro POV IT CURATORE NOTE DIRITTI D AUTORE Gl no LICENZA questo testo distribuito con la licenza specificata al seguente indirizzo Internet http www liberliber it biblioteca licenze TRATTO DA CODICE ISBN I DI ETTRONICA DEL la EDIZIONE E Ei INDICE DI AFFIDABILITA 0 affidabilit bassa 1 affidabilit media 2 affidabilit buona 3 affidabilit ottima ALLA EDIZIONE E ETTRONICA HANNO CONTRIBUITO REVISIONE o UBBLICATO DA Informazioni sul progetto Manuzio Il progetto Manuzio una iniziativa dell associazione culturale Liber Liber Aperto a chiunque voglia collaborare si pone come scopo la pubblicazione e la diffusione gratuita di opere letterarie in formato elettronico Ulteriori informazioni sono disponibili sul sito Internet http www liberliber it Aiuta anche tu il progetto Manuzio Se questo libro elettronico stato di tuo gradimento o se condividi le fina
172. POV Ray non capace di gestire correttamente halo i cui oggetti contenitori si sovrappongono Se creiamo due sfere parzialmente sovrapposte che contengono ciascuna una halo non otterremo un risultato corretto dove le sfere si sovrappongono L effetto per la halo viene calcolato indipendentemente per ogni sfera ed 1 risultati vengono sommati Se vogliamo aggiungere halo diverse dobbiamo posizionarle tutte all interno di uno stesso contenitore per essere sicuri che siano calcolate correttamente vedi anche Halo Multiple Dovremmo anche notare che oggetti vicini ma non sovrapposti sono gestiti correttamente Se poniamo un oggetto contenitore davanti ad un altro le halo vengono renderizzate correttamente 4 8 5 6 3 Aloni Attenuanti Multipli Non attualmente possibile utilizzare halo attenuanti multiple con mappature del colore diverse La mappatura del colore dell ultima verr usata per tutte le altre halo che si trovano nel contenitore 4 8 5 6 4 Aloni ed Oggetti Vuoti Per renderizzare correttamente gli aloni dobbiamo assicurarci che tutti gli oggetti entro cui si trova la camera siano vuoti Ci si ottiene usando la parola chiave hollow nel caso in cui la camera si trovi all interno di un oggetto non vuoto viene comunque visualizzato un messaggio di avvertimento N d T Per una spiegazione dettagliata vedi il paragrafo Oggetti Vuoti ed Oggetti Solidi 4 8 5 6 5 Ridimensionare un Contenitore Se ridimensioniamo un contenitore
173. Proviamo a modificare i valori di amount thickness e turbulence per vedere cosa cambia Proviamo anche ad aggiungere un blocco normal per vedere cosa succede 4 8 5 Aloni Nota Importante gli aloni in POV Ray 3 0 sono una funzione in qualche modo sperimentale Ci sono forti probabilit che il design e l implementazione di queste funzioni camberanno in versioni future del programma Non possiamo garantire che le scene che utilizzano queste funzioni nella versione 3 0 potranno essere renderizzate nello stesso modo in versioni successive o che la piena compatibilit del linguaggio sar mantenuta Gli aloni halo sono una potente funzione che pu essere utilizzata per creare molti effetti diversi come nuvole fuoco nebbia fumo laser ecc Il nome deriva dalla possibilit di renderizzare aloni simili a quelli che si vedono attorno al Sole o alla Luna A causa della complessit di questa funzione ed al grande numero di parametri disponibili molto difficile ottenere risultati soddisfacenti I paragrafi successivi aiuteranno a creare un alone passo dopo passo iniziando dagli elementi fondamentali e raffinando progressivamente il metodo E anche utile leggere il paragrafo sugli aloni 7 6 4 per comprendere meglio la funzione Dovrebbero anche in particolare essere letti i paragrafi Oggetti Vuoti ed Oggetti Solidi e Mappatura degli Aloni perch sono fondamentali per capire a fondo l argomento 114 4 8 5 1 Cosa Sono Gli Alo
174. Quindi il tempo potrebbe essere stato impiegato anche per altri programmi gestiti dal sistema operativo che sono in esecuzione nello stesso momento Questo causer macchie e disturbi di colore nel file dell istogramma Questo effetto pu essere ridotto riducendo la dimensione della griglia in modo da avere molti pixel in un blocco 6 2 3 Opzioni per l Analisi della Scena POV Ray legge il file della scena e si crea un modello interno della scena stessa Questo processo di analisi chiamato parsing Mentre avviene il parsing di un file possibile leggerne altri Questa 201 sezione si occupa di chiarire su quali elementi viene fatto il parsing dove trovarli e quali assunzioni specifiche bisogna fare mentre avviene il parsing 6 2 3 1 Nome del File di Input Input File Name file Imposta il nome del file di input a file Ifile Lo stesso di Input File Name file probabilmente imposterai sempre questa opzione ma se non lo fai il nome del file di input predefinito object pov Nei sistemi operativi sensibili alla differenza maiuscolo minuscolo sono definiti sia POV che pov e necessario specificare l intero percorso del file per esempio sui sistemi MS DOS l impostazione sarebbe Ic povray3 mystuff myfile pov specificare il nome del file di input significa anche specificare il nome del file della scena Il nome del file della scena uguale al nome del file di input ma in esso si omettono percorso e formato Nell esempio pr
175. Ray ha un certo numero di parole chiave riservate che sono elencate qui sotto de Level aa_threshold abs acos 217 acosh adaptive adc bailout agate agate turb all alpha ambient ambient angle aperture anc angie area light asc asin asinh assumed gamma tan tan2 tanh tmosphere tmospheric attenuation ttenuating average _light ad at A A Dr background bicubic patch black hole blob blue blur samples bounded by box box mapping bozo break brick brick size brightness brilliance bumps bump map bump size camera case caustics ceil checker chr clipped by clock color color map 218 colour colour map component composite concat cone confidence conic sweep constant control0 controll cos cosh count crackle crand cube cubic cubio spline cylinder cylindrical mapping debug declare default degrees dents difference diffuse direction disc distance distance maximum div dust Gust type eccentricity else emitting end error error bound exp exponent fade distance fade power falloff falloff angle false file exists filter finish 219 fisheye flatness flip floor focal point fog fog alt fog _ offset f g typ frequency gif global settings glowing gradient granite gray threshold green halo eight _ field exagon f gray _ 16 ierarchy o
176. Ray supporta unione intersezione differenza fusione merge Agli oggetti sono assegnati materiali chiamati texture una texture descrive le propriet di colore e di superficie di un oggetto Pigmentazioni e normali incorporate Agate Bozo Bumps Checker Crackle Dents Granite Gradient Hexagon Leopard Mandel Marble Onion Quilted Ripples Spotted Spiral Radial Waves Wood Wrinkles e mappatura tramite immagini L utente di POV Ray pu crearsi le proprie texture od utilizzarne di predefinite come Ottone Cromo Rame Oro Argento Pietra Legno Possibilit di creare texture combinate utilizzando strati di texture semitrasparenti o motivi modulari tiles o file di mappatura dei materiali Possibilit di mostrare un anteprima dell immagine mentre viene calcolata non disponibile su tutte le piattaforme Possibilit di fermare il rendering quando parzialmente completato e riprenderlo in seguito 2 3 Quale versione di POV Ray usare 18 POV Ray pu essere utilizzato sotto MS Dos Windows 3 x Windows per Workgroups 3 11 Windows 95 Windows NT Macintosh della serie 68000 Power PC Commmodore Amiga Linux Unix ed altre piattaforme Le ultime versioni dei file necessari per l esecuzione di POV Ray sono disponibili su CompuServe America On Line e diverse BBS Vedi il paragrafo Dove trovare i File di POV Ray per maggiori informazioni 2 3 1 Personal Computer IBM e Compatibili Attualmente ci sono tre diverse ve
177. Una mappa dei materiali permette di avvolgere un motivo di texture a due dimensioni attorno agli oggetti a tre dimensioni Invece di porre semplicemente il colore dell immagine sull oggetto viene specificata un intera texture sulla base del numero d ordine del colore nella tavolozza palette dell immagine in quel punto Si deve specificare una lista di texture da usare come una tavolozza di texture in sostituzione della normale tavolozza di colori dell immagine Quando si usano immagini in un formato che utilizza la tavolozza dei colori come GIF e alcuni tipi di immagini PNG e TGA il numero d ordine del colore del punto utilizzato per individuare una delle texture descritte Per formati che non fanno uso della tavolozza dei colori si usa come indice il valore del componente rosso di ogni pixel Se l indice di un pixel maggiore del numero delle texture presenti nella lista allora viene rapportato a modulo N dove N la lunghezza della lista di texture 7 6 5 3 1 Specificare una Mappa di Materiali La sintassi di una mappa di materiali texture material map TIPO FILE nomefile MODIFICATORI DELL IMMAGINE texture Usata per il colore 0 texture Usata per il colore 1 texture Usata per il colore 2 texture Usata per il colore 3 e cos via TRASFORMAZIONI 345 Dove TIPO FILE una delle seguenti parole chiave gif tga iff
178. YPE 7 6 8 9 3 L Opzione INTERPOLATE 7 7 Effetti Atmosferici 7 7 1 Atmosfera 7 7 2 Sfondo 7 7 3 Nebbia 7 7 4 Sfera Celeste 7 7 5 Arcobaleno 7 8 Impostazioni Globali 7 8 1 ADC_Bailout 7 8 2 Luce Ambiente 7 8 3 Gamma Colore 7 8 3 1 Gamma del Monitor 7 8 3 2 Gamma del File Immagine 14 7 8 3 3 Gamma del File Scena 7 8 4 HF_Gray_16 7 8 5 Irid_Wavelenght 7 8 6 Max Trace Level 7 8 7 Max_ Intersections 7 8 8 Number Of Waves 7 8 9 Radiosity 7 8 9 1 Come Funziona la Radiosity 7 8 9 2 Regolare la Radiosity 7 8 9 2 1 Brightness luminosita 7 8 9 2 2 count 7 8 9 2 3 distance maximum 7 8 9 2 4 error bound 7 8 9 2 5 gray threshold 7 8 9 2 6 low error_factor 7 8 9 2 7 minimum reuse 7 8 9 2 8 nearest_count 7 8 9 2 9 radiosity_quality 7 8 9 2 10 recursion_limit 7 8 9 3 Suggerimenti sulla Radiosity Appendici Appendice A Copyright Appendice A Appendice A Appendice A Appendice A Appendice A Appendice A Appendice A Appendice A Appendice A Appendice A Appendice A Appendice A Appendice A Appendice A 1 Accordo Sulla Licenza 2 Permesso di Uso 3 Regole Generali per Tutte le Distribuzioni 4 Definizione di Pacchetto Completo 5 Condizioni per le Compagnie di Distribuzione di Programmi Shareware Freeware 6 Condizioni per Servizi On Line e BBS incluso Internet 7 Esecuzione remota di POV Ray 8 Condizioni per la Distribuzione di Versioni Personalizzate 9 Condizioni p
179. a Il parametro omega controlla l ampiezza relativa dei passi che vengono eseguiti nel calcolo della turbolenza L ampiezza di ogni passo determinata moltiplicando omega per l ampiezza del passo precedente Il valore di default 0 5 significa che ogni passo ottava lungo la met del precedente Alti valori di omega significano che la seconda terza quarta e le ottave successive contribuiscono di pi alla turbolenza dando un aspetto pi spigoloso mentre valori pi bassi danno una turbolenza dall apparenza pi sfumata 7 6 8 8 Warp Deformazioni 364 La frase warp un modificatore di pattern simile alla turbolenza La turbolenza agisce prendendo il punto in cui calcolato il colore e spostandolo con una serie di passaggi casuali Il modificatore warp invece sposta il punto in un modo definito e specifico non casualmente La frase warp supera alcune limitazioni della turbolenza tradizionale dando all utente pi controllo sull ordine nel quale la turbolenza le trasformazioni ed i modificatori di warp sono applicati al pattern Ci sono tre tipi di warp ma la sintassi stata pensata in modo da poterne aggiungere altri in futuro I primi due il warp di ripetizione repeat warp ed il buco nero black hole warp sono funzioni nuove per POV Ray che modificano il pattern in modo geometrico Il terzo tipo di warp un metodo alternativo per specificare la turbolenza La sintassi per usare una frase warp all interno di
180. a la nebbia costante e la nebbia raso terra La nebbia costante ha una densit uguale in ogni punto mentre la densit della nebbia raso terra diminuir salendo L uso di questi due tipi di nebbia verr descritto approfonditamente nei prossimi paragrafi 4 10 3 1 La Nebbia Costante Il tipo di nebbia pi facile da usare la nebbia costante che ha una densit uguale in ogni punto E determinata dalla parola chiave distance che imposta la densit ed il colore della nebbia Il valore assegnato alla distanza determina la distanza alla quale il 36 8 dello sfondo ancora visibile per una spiegazione pi dettagliata vedere il paragrafo Nebbia Il colore della nebbia pu essere usato per creare qualunque colore dal bianco al rosso Si pu anche 160 usare una nebbia nera per simulare un limitato campo visivo L esempio seguente mostra come aggiungere una semplice nebbia ad una scena fog1 pov include colors inc camera location lt 0 20 100 gt background colour SkyBlue plane y 10 pigment checker colour Yellow colour Green scale 20 sphere lt 0 25 0 gt 40 pigment Red finish 4 phong 1 0 phong sage 20 sphere lt 100 150 200 gt 20 pigment Green finish phong 1 0 phong size 20 sphere lt 100 25 100 gt 30 pigment Blue finish phong 1 0 phong size 20 light source lt 100 120 40 gt colour White fog distance 150 co
181. a Terra la luce si piega attorno agli oggetti rimbalza e normalmente la sorgente luminosa ha una qualche dimensione e pu essere parzialmente nascosta alla vista le ombre non sono pi cos nette Esiste quella che viene chiamata penombra un area in cui non c la totale luce n la penombra Per simulare queste ombre leggere un raytracer deve fornire una dimensione alla sorgente luminosa POV Ray esegue questo compito con una funzione chiamata area light Le dimensioni dell area light si estendono su due assi Queste vengono specificate dai primi due vettori nella sintassi della luce Dobbiamo anche specificare quante luci ci devono essere Un alto numero di luci ci fornir ombre sfumate ma impiegher pi tempo per il rendering Normalmente un insieme di 3 3 o 5 5 luci sar sufficiente Abbiamo anche la possibilit di specificare un valore di adattamento La parola chiave adaptive dice al programma che pu adattarsi alla situazione e tracciare solo i raggi necessari a determinare il valore del pixel Se non viene usata la parola adaptive verr calcolato un raggio per ogni luce dell area light Questo pu veramente rallentare le cose Maggiore sar il valore di adattamento pi pulita risulter l ombra ma ci risulter in un aumentare del tempo di rendering Normalmente un valore di 1 sufficiente Infine dovremmo probabilmente usare la parola chiave jitter Questa dice a POV Ray di spostare leggermente la posizione di ogni luce in
182. a appropriata In pratica devi limitare questo fenomeno Viene usata questa tecnica si trova l oggetto nella scena che pu presentare le seguenti difficolt essere un oggetto piccolo su una superficie piana molto grande e che deve essere circondato da una buona luce ambiente Ora quanto lontano devi essere dall oggetto per avere una buona probabilit che l oggetto sia colpito da un raggio Nell esempio con la mela sul tavolo considerando che si stia usando una unit di POV Ray uguale ad un pollice dovresti usare una distanza di 30 pollici Teoricamente quando si utilizza un alto numero di raggi questa distanza quella alla quale la cima dell oggetto si trova a 5 sull orizzonte del punto campione che si sta usando Questo corrisponde a 389 circa 11 volte l altezza dell oggetto Cos per una mela alta 3 pollici potrebbe avere senso utilizzare una distanza di 33 pollici Per rendere bene anche lo spazio intorno alla mela usate 3 pollici ecc un altro modo approssimativo per calcolarla utilizzare 1 3 della distanza tra il punto di osservazione e il punto che si sta guardando E ragionevole che tu non sia a pi di 90 pollici dalla mela sul tavolo se ti interessa vedere l ombreggiatura attorno all oggetto Il valore predefinito 0 7 8 9 2 4 error_bound Il parametro error bound uno dei due principali fattori che regolano il rapporto velocit qualit l altro ovviamente il numero di raggi usati In un mondo ideale sar
183. a i pi usati nei pattern di normali come una specie di mappa di pendenza slope map incorporata L onda sinusoidale trasforma lo zigzag di un onda a dente di sega in un onda con transizioni di colore molto graduali L onda scallop utilizza il valore assoluto dell onda sinusoidale ed assomiglia a tela se rimpicciolita o a cilindri allineati se ingrandita Sebbene tutti questi tipi di onda possano essere utilizzati per pigmenti normali o texture le onde sine wave e scallop wave non sono altrettanto interessanti per i pigmenti o le texture come lo sono per le normali Le varie forme d onda non hanno effetto su pattern a blocchi come checker brick ed hexagon e nemmeno su mappature di immagini mappe bump e di materiali Non hanno effetto neanche all interno di frasi di descrizione delle normali in associazione con bumps dents quiltedo wrinkles poich questi pattern di normali non possono fare uso di mappe di normali o slope 7 6 8 4 Turbolenza La parola chiave turbulence seguita da un numero decimale o da un vettore pu essere usata per agitare qualunque pigmento normale texture iridescenza o halo Si possono usare diversi parametri facoltativi per controllare come viene calcolata la turbolenza Per esempio pigment wood color map mia mappa turbulence VETTORE octaves DECIMALE omega DECIMALE lambda DECIMALE I valori tipici per questa parola chiave sono compresi tra 0 0 valore predefinito che non aggiunge tur
184. a la schermata di aiuto 0 da H0a H8 mostra la schermata di aiuto da 0 a 8 da 0a 8 lo stesso di da H0 a H8 Non ci sono comandi per i file ini equivalenti a queste opzioni I sistemi operativi che hanno un interfaccia grafica come MacOS e Windows ma non X Windows N d T hanno una guida in linea Le altre versioni di POV Ray hanno solo una piccola e rapida guida a schermo Il parametro Seguito da un numero da 0 a 8 mostrer questa guida a schermo subito dopo la parte di messaggi relativi alla banner Dopo aver mostrato questa breve guida POV Ray si ferma Alcuni sistemi operativi non permettono che si usi come linea di comando il punto interrogativo anche possibile usare H questo parametro anche usato per specificare l altezza dell immagine in pixel Comunque H sar interpretato come relativo alla guida se unico parametro presente nella riga e comunque se seguito da un numero compreso tra 0 e 8 6 2 6 Opzioni di Rendering Ci sono molti modi di tracciare un raggio Spesso si deve trovare il giusto compromesso tra qualit e velocit Spesso opzioni che possono rendere pi veloce l esecuzione diminuiscono la qualit dell immagine Questa sezione si occupa delle opzioni che dicono a POV Ray come tracciare i raggi con l appropriato rapporto velocit qualit v 211 6 2 6 1 Impostazioni della Qualit Quality n imposta il valore della qualit a n compreso tra 0 ed 11 on lo stesso di Quality n Questi comandi permettono
185. a luce che passa attraverso pigmenti trasparenti cosa succede alla luce che dispersa da una superficie non perfettamente liscia e cosa succede alla luce che viene riflessa da superfici con 98 propriet di interferenza da strato sottile Ci sono 12 differenti propriet disponibili in POV Ray per specificare le finitura di un oggetto Sono controllate dalle seguenti parole chiave ambient diffuse brilliance phong specular metallic reflection refraction caustics attenuation crande iridescence Inventiamo un paio di texture per usare questi parametri 4 8 4 1 Luce Ambiente Dato che gli oggetti in POV Ray sono illuminati dalle sorgenti luminose le loro parti che si trovano in ombra sarebbero totalmente nere se non fosse per le prime due proprieta della finitura ambient e diffuse La luce ambiente ambient utilizzata per simulare la luce dispersa nella scena che non proviene direttamente da una sorgente luminosa La luce diffusa diffuse determina quanta della luce che si vede proviene direttamente dalle sorgenti luminose Queste due parole chiave insieme controllano la simulazione della luce ambiente Useremo la nostra sfera grigia per dimostrare questo Modifichiamo anche il nostro piano riportandolo all origniale scacchiera bianca e verde plane y 1 5 pigment checker Green White sphere lt 0 0 0 gt 1 pigment Gray75 finish ambient 2 diffuse 6 Fig 123 I valori predefiniti per la luce
186. a lunghezza del vettore direzione che non utilizzato dalla macchina fotografica ortografica Di nuovo il rapporto tra le lunghezze dei vettori usato per determinare il rapporto altezza larghezza Proiezione fisheye i vettori up e right sono usati per determinare il rapporto altezza larghezza Proiezione ad angolo ultra ampio ultra wide angle i vettori up e right funzionano in modo analogo a quanto visto per la proiezione prospettica 258 Proiezione Omnimax questa proiezione un fisheye da 180 gradi il cui angolo visivo ridotto nella direzione verticale Nella realt questo tipo di proiezione usato per fare film che possono essere proiettati nei cinema con sistema Omnimax L immagine risulter pi o meno ellittica La parola chiave angle non usata in questo tipo di proiezione Proiezione panoramica i vettori up e right funzionano in modo analogo a quanto visto per la proiezione prospettica Proiezione cilindrica nelle proiezioni di tipo 1 e 3 l asse del cilindro giace lungo il vettore up e la sua larghezza determinata dalla lunghezza del vettore right ma pu essere modificata anche dal vettore angle Nella proiezione di tipo 3 il vettore up determina quante unit alta l immagine Per esempio se hai definito up 4 y sulla tua macchina fotografica posizionata all origine solo i punti da y 2 a y 2 sono visibili Tutti i raggi visivi sono perpendicolari all asse y Per le proiezioni di tipo 2 e 4 il cilind
187. a pendenza della curva al terzo punto non sotto controllo Per questo le curve quadratiche appaiono molto pi smussate delle curve lineari ma il passaggio da un punto all altro non completamente smussato perch la pendenza dalle due parti del punto pu essere diversa Le spline cubiche superano il problema della transizione da un punto all altro che abbiamo ora descritto per le spline quadratiche Infatti prendono in considerazione anche il quarto punto quando tracciano la curva tra il secondo ed il terzo La pendenza al quarto punto sotto controllo e ci permette una transizione pi smussata tra un punto ed un altro Devi notare che il numero dei segmenti che compongono la curva dipende dal tipo di spline usato 275 Per le spline lineari si avranno n 1 segmenti che connettono i punti P i i 1 n Una spline quadratica dar n 2 segmenti perch l ultimo punto usato solamente per determinare la pendenza quindi sono necessari come minimo tre punti per definire una spline quadratica Lo stesso vale per le spline cubiche dove si avranno n 3 segmenti con il primo e l ultimo punto usati solo per il calcolo della pendenza quindi servono almeno quattro punti Se vuoi ottenere una spline quadratica o cubica chiusa con transizioni smussate da un punto ad un altro necessario che ti assicuri che nel caso delle spline cubiche P n 1 P 2 per ottenere una curva chiusa P n P 3 e P n 2 P 1 per ottenere transizioni grad
188. a riflessione diffusa Per esempio finish diffuse 0 7 significa che il 70 della luce visibile proviene direttamente dall illuminazione delle sorgenti luminose Il valore predefinito 0 6 7 6 3 2 2 Brillantezza La quantit di luce diretta che viene diffusa da un oggetto dipende dall angolo di incidenza Quando la luce colpisce di taglio la superficie la illumina meno quando le si trova direttamente sopra la illumina di pi La parola chiavebrilliance pu essere usata in una frase finish per variare il modo in cui la luce si attenua in funzione dell angolo di incidenza Ci controlla l ampiezza dell illuminazione diffusa degli oggetti e modifica leggermente l aspetto della superficie Gli oggetti possono sembrare pi metallici aumentando la loro brillantezza Il valore predefinito 1 0 Valori pi alti di 10 0 ridurranno l attenuarsi della luce per angoli di incidenza medi e bassi Non ci sono limiti al valore che si pu assegnare alla brillantezza Provate a vedere quale si adatta meglio alla vostra scena E meglio usare brilliance unitamente alle funzioni phong ecc 7 6 3 2 3 Crand 328 Superfici molo ruvide come il cemento e la sabbia mostrano una scura granulosit nel loro colore apparente Questo determinato dalle ombre degli avvallamenti e dei rilievi nella superficie La parola chiave crand pu essere aggiunta per determinare una leggera ombreggiatura della riflessione diffusa della luce diretta Valori tip
189. a sua sintassi 331 finish fade distance DISTANZA DI DECADIMENTO fade power POTENZA DI DECADIMENTO La parola chiave fade distance determina la distanza che la luce deve percorrere per raggiungere la met della sua intensit iniziale mentre la parola chiave fade power determina la velocit di decadimento Per effetti realistici si dovr utilizzare un valore di fade power di 1 o 2 L attenuazione calcolata con una formula simile a quella usata per l attenuazione delle sorgenti luminose 1 attenuazione Ss ere di desde 1 d distanza di decadimento 7 6 3 5 2 Falsi Riflessi I falsi riflessi caustics sono effetti di luce che si verificano quando la luce riflessa o rifratta da una superficie Immagina un bicchiere d acqua su un tavolo Se la luce del Sole colpisce il vetro si vedranno dei punti di luce sul tavolo Alcuni di questi punti sono causati dalla riflessione del vetro mentre altri sono causati dalla luce che viene rifratta dall acqua nel bicchiere Poich calcolare realmente questi effetti molto difficile se non impossibile e dispendioso in termini di tempo POV Ray usa un metodo piuttosto semplice per simulare i falsi riflessi causati dalla rifrazione Questi riflessi sono limitati all ombra dell oggetto trasparente I falsi riflessi dovuti a riflessione anzich a rifrazione non verranno simulati e non si avranno falsi riflessi sulle aree che non sono in ombra La sintassi finish
190. acendo una media dei risultati per determinare il colore del pixel Questa tecnica che chiamata sovracampionamento super sampling pu migliorare di molto il risultato delle immagini ma aumenta il tempo necessario per renderizzare una scena dal momento che devono essere eseguiti molti pi calcoli POV Ray permette di utilizzare due diversi metodi di sovracampionamento L opzione Sampling Method n o il parametro Amn seleziona il sovracampionamento non adattivo metodo 1 o il sovracampionamento adattivo metodo 2 Selezionando uno di questi metodi non si attiva l anti aliasing Lo si attiva invece usando il parametro A o il comando Antialias on Per default viene usato il metodo non adattivo AM1 POV Ray traccia inizialmente un raggio per 214 pixel Se il colore del pixel diverso da quelli vicini di pi di un determinato valore di soglia allora il pixel sovracampionato proiettando un numero definito di raggi addizionali La soglia predefinita 0 3 ma si pu cambiare usando l opzione Antialias Threshold n n Quando si usano i parametri il valore di soglia pu seguire A Per esempio A0 1 attiva l anti aliasing e imposta il valore di soglia a 0 1 Le comparazioni riguardanti la soglia sono calcolate come segue Ser_1 g 1 b ler 2 g 2 b 2 sono le componenti rgb di due pixel allora la differenza tra due pixel calcolata cos diff abs rl r2 abs gl g2 abs b1 D2 Se la differenza maggiore del valore di
191. adattato alle normali o ad intere texture Un paio di rapidi esempio potrebbero essere normal brick normal normal oppure granite 1 bumps 1 scale 1 Fig 161 Pi normali nella stessa texture texture checker 141 texture Gold Metal 7 texture Silver Metal Fig 162 Pi texture 4 9 5 Che ne Stato di Tiles Nelle prime versioni di POV Ray c era un pattern per le texture che si chiamava tiles mattonelle Utilizzando un semplice motivo a scacchiera come abbiamo visto sopra possiamo ottenere lo stesso risultato che si otteneva con tiles che quindi ormai obsoleto E tuttora supportato da POV Ray 3 per compatibilit all indietro ma ora tempo di abituarsi ad usare un motivo a scacchiera e quindi la parola chiave checker al suo posto 4 9 6 Funzione Media Ora le cose si fanno interessanti Prima abbiamo iniziato a vedere come pigmenti e normali possono essere sfumati gli uni negli altri quando li usiamo in mappature Ma se volessimo avere una miscela di motivi su tutto l oggetto Questo il punto in cui una nuova funzione chiamata average viene utile Average funziona con mappature di pigmenti normali e texture per quanto la sintassi vari leggermente e quando non ce lo aspettiamo il cambiamento pu confondere Qui abbiamo un semplice esempio Utilizziamo il solito file ed inseriamo i seguenti oggetti plane z 0 pigment White normal av
192. affiancate Vediamo che sono uguali Allora commentiamo la sfera grigia ed aggiungiamo il blocco di normali che contiene alla texture che abbiamo assegnato alla terraferma del nostro pianetino Eliminiamo le trasformazioni in modo da centrare nuovamente nella scena il pianeta declare LandArea texture pigment agate turbulence 1 lambda 1 5 omega 8 octaves 8 color map 0 00 color rob lt 5 2 25 15 gt 0 33 color rgb lt 1 5 4 gt 0 86 color rgb lt 6 3 1 gt 1 00 color rgb lt 5 25 15 gt normal bozo turbulence 5 lambda 2 97 normal map 0 4 dents 15 scale 01 0 6 agate turbulence 1 1 0 dents 15 scale 01 Fig 121 Abbiamo applicato le normali alla terraferma Guardando l immagine risultante vediamo che la nostra idea funziona Le zone di terraferma sono irregolari mentre gli oceani sono piatti Rimettiamo a posto lo strato di nuvole ed il nostro pianetino completo Fig 122 Il pianeta completo C molto di pi di quanto non abbiamo esposto qui per motivi di spazio Da soli dovremmo prenderci il tempo di esplorare mappe slope vedi 7 6 2 1 mappe bump vedi 7 6 2 3 e average vedi 7 6 7 2 4 8 4 Finitura La parte finale di una texture in POV Ray la finitura Controlla le propriet della superficie di un oggetto Pu renderlo brillante e riflettente oppure opaco e piatto Pu anche specificare cosa succede all
193. agine Ogni riquadro formato da quattro pixel adiacenti suddiviso in due triangoli Un immagine con risoluzione N M punti contiene N 1 M 1 riquadri che sono divisi in 2 N 1 M 1 triangoli 269 colore quota 1 00 0 75 0 50 0 25 0 00 REAR Fig 202 Quote in funzione dei colori La risoluzione dell height field influenzata da due fattori la risoluzione dell immagine e il numero di colori La dimensione dell immagine determina la risoluzione dell height field nelle direzioni x e z Un immagine pi grande fa uso di un maggior numero di triangoli ed ha quindi un aspetto pi uniforme Il numero di colori determina la risoluzione lungo l asse delle y Un height field creato a partire da un immagine ad 8 bit pixel pu avere 256 livelli di quota diversi mentre uno creato a partire da un immagine a 16 bit pixel pu avere 65536 livelli di quota diversi In questo modo il secondo height field avr un aspetto molto pi uniforme del primo se viene creato e manipolato in maniera appropriata La dimensione dell immagine non influisce sulle dimensioni dell height field che rimangono comunque 1 1 a meno di non scalarlo Immagini ad alta risoluzione daranno pi triangoli non un height field pi grande Ci sono sei o forse sette tipi di file immagine che possono definire un height field height field gif filename gif height field pgm filename pgm height field png filename png height fie
194. agliata potrebbe suddividere l oggetto contenuto in maniere imprevedibili oppure l oggetto potrebbe non essere visibile Per eseguire il clipping di un oggetto necessario usare la parola chiave clipped by come specificato nel paragrafo precedente E possibile che tu voglia usare clipped by e bounded by con lo stesso oggetto Le frasi che seguono fanno in modo che si possa risparmiare tempo di battitura ed usare meno memoria object Coso clipped by box lt 0 0 0 gt lt 1 1 1 gt bounded by clipped by Questo dice a POV Ray di usare come oggetto delimitante lo stesso parallelepipedo che era stato usato per essere ritagliato da Coso 7 5 7 3 Hollow vuoto POV Ray assume che gli oggetti siano costituiti di un materiale che ne riempie completamente l interno Aggiungendo la parola chiave hollow l oggetto pu diventare cavo Questa parola chiave molto utile se si vuole che si verifichino gli effetti determinati dall atmosfera anche dentro all oggetto E anche necessaria per gli oggetti che contengono una halo vedi Aloni per i dettagli Per rendere cavo un oggetto CSG devi semplicemente aggiungere la parola chiave hollow all oggetto che si trova al livello superiore Tutti gli oggetti in esso racchiusi diverranno cavi a meno che non sia specificato diversamente Il seguente esempio imposta entrambe le sfere che si trovano all interno dell unione come cave union sphere 0 5 x 1 sphere 0 5 x 1 310
195. alche passata di grigio in verticale che fa sembrare che qualcuno abbia cominciato a verniciarci sopra e poi si sia fermato lasciando solo parte del legno visibile attraverso la vernice Solo che ed ora Come facciamo a far stare tutta quella roba in una sola texture Non ci sono pattern che possono fare tutte quelle cose Prima di entrare nel panico ed adottare una bitmap da mappare sull oggetto c al minimo un altra possibilit le texture stratificate Le texture stratificate consistono nello specificare una serie di texture una dopo l altra tutte associate con lo stesso oggetto Tutte le texture che noi specifichiamo verranno applicate l una dopo l altra sullo stesso oggetto dal basso verso l alto o meglio dagli strati pi interni a quelli pi esterni E molto importante notare che dobbiamo avere una qualche trasparenza di tipo filtrante filter o non filtrante transmit nei pigmenti delle texture degli strati superiori oppure gli strati sottostanti saranno invisibili Non riceveremmo messaggi di errore perch ci possibile semplicemente non ha senso E come spendere delle ore per tracciare un elaborato disegno su di un muro e poi verniciare tutto a tinta unita Creiamo un oggetto molto semplice con una texture stratificata e vediamo cosa succede creiamo un file denominato laytex pov e vi inseriamo il seguente testo include colors inc include textures inc 143 camera location lt 0 l
196. alizzata di POV Ray che include tutte le funzioni elementari di POV Ray Tutti gli eseguibili la documentazione i file modificati e le descrizioni degli stessi devono chiaramente identificarli come una versione modificata e non ufficiale del programma Qualunque tentativo di nascondere il fatto che l utente sta utilizzando POV Ray o che la versione che sta utilizzando non la versione ufficiale espressamente proibito Pieno supporto deve essere fornito a tutti coloro che stanno utilizzando la versione personalizzata Devono venire fornite le informazioni necessarie per fare s che gli utilizzatori possano contattare l autore della versione personalizzata IL POV Ray Team non obbligato a fornire all autore o ai suoi utenti alcun tipo di supporto tecnico Si devono includere le informazioni nelle macro DISTRIBUTION MESSAGE nel file sorgente optout h ed assicurarsi che il programma mostri queste informazioni Si devono mostrare tutte le note di copyright e le schermate di credits con i nomi degli autori della versione ufficiale Le versioni personalizzate possono solo essere distribuite come freeware Tutte le modifiche apportate a POV Ray devono essere disponibili pubblicamente e gratuitamente e il codice sorgente deve essere distribuito per tutte le nuove parti della versione personalizzata Lo scopo che gli utilizzatori possano ricompilare il programma da soli e migliorarlo ulteriormente con le loro modifiche Si deve fornire la do
197. alla turbolenza in un punto lungo il raggio visivo 4 10 3 5 Nebbia Raso Terra Il tipo di nebbia pi interessante e versatile la nebbia raso terra che viene selezionata col comando fog type Il suo aspetto descritto dalle parole chiave fog offset e fog alt Fog offset specifica l altezza cio il valore delle y sotto il quale la nebbia ha una densit costante di 1 La parola chiave fog alt determina quanto velocemente la densit della nebbia arriva a 0 via via che ci si sposta lungo l asse y All altezza fog offset fog alt la nebbia avr densit del 25 Il seguente esempio fog5 pov usa una nebbia che ha densit costante sotto y 25 il centro della sfera rossa e scende rapidamente col salire della quota fog distance 150 colour rgbf lt 0 3 0 5 0 2 1 0 gt fog type 2 fog offset 25 fog ale 1 Fig 182 Nebbia raso terra 4 10 3 6 Strati Multipli di Nebbia E possibile usare diversi strati di nebbia usando pi di una frase fog nel file scena Questo molto utile se si vogliono ottenere dei buoni effetti con strati di nebbia ai quali stata aggiunta turbolenza Per esempio potresti aggiungere diversi strati di nebbie diversamente colorate per dare un tocco di mistero alla tua scena Prova il seguente esempio fog6 pov 164 fog distance 150 colour rgb lt 0 3 0 5 0 2 gt fog type 2 fog offset 25 fog alt 1 turbulence 0 1 turb depth 0 2 fog distance 150 colour rgb l
198. alore 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 4 8 5 2 6 Cambiare il Colore dell Alone Abbiamo una bella esplosione ma vogliamo aggiungerle un tocco di fantascienza usando colori diversi Che ne diresti di un esplosione rossa meno turbolenta che diventa verde sui bordi Niente di pi facile sphere 0 1 5 pigment color rgbt lt 1 1 1 1 gt halo emitting spherical mapping linear turbulence 0 5 color map 0 color rgbt 1 color rgbt samples 10 scale 0 75 hollow scale 1 5 lt 0 dy 0 1 gt lt 1 0 0 1 gt Td 122 Fig 146 Cambiare colore Cos dovrebbe funzionare ma guardando il risultato di halo06 pov potremmo esserne delusi Dov il centro dell esplosione I bordi sono verdi come ci aspettavamo ma c molto giallo nel centro e solo un po di rosso Cosa succede Stiamo usando un alone emittente Secondo il corrispondente paragrafo Alone Emittente questo tipo di alone utilizza particelle molto piccole che non attenuano la luce che passa attraverso la halo Soprattutto le parti
199. ambiente equella diffusa Nell esempio sopra usiamo i valori predefiniti per la luce ambiente e quella diffusa Renderizziamo questa scena per vedere l effetto e quindi modifichiamo la frase finish nel modo seguente ambient 0 diffuse 0 99 Fig 124 Senza luce ambiente e diffusa La sfera nera perch abbiamo specificato che nessuna luce proveniente da nessuna sorgente luminosa venga riflessa dalla sfera Riportiamo il valore di diffuse a 0 6 Fig 125 Solo luce diffusa Ora vediamo la superficie grigia dove la luce proveniente dalla sorgente luminosa illumina direttamente la sfera ma la parte non direttamente illuminata ancora completamente nera Ora cambiamo diffuse ed ambient a 0 3 100 Fig 126 Luce ambiente e luce diffusa al valore di 0 3 Ora la sfera sembra quasi piatta Questo avviene perch abbiamo specificato una quantit abbastanza alta di luce ambiente mentre solo una piccola quantit della luce proveniente dalla sorgente luminosa riflessa verso la camera I valori predefiniti di ambient e diffuse sono in media abbastanza buoni Nella maggior parte dei casi un valore di luce ambiente di 0 1 0 2 sufficiente ed un valore per la luce diffusa di 0 5 0 7 andr altrettanto bene Ci sono un paio di eccezioni Se abbiamo una superficie completamente trasparente con valori molto alti di riflessione e o rifrazione valori bassi sia per ambient che per diffuse possono essere la scelta migliore Questo
200. amento 4 10 4 4 Usare Atmosfere Colorate 4 10 4 5 Trucchi sull Atmosfera 4 10 4 5 1 Scegliere la Distanza e i Parametri di Dispersione 4 10 4 5 2 Atmosfera e Sorgenti Luminose 4 10 4 5 3 Tipi di Dispersione Atmosferica 4 10 4 5 4 Aumentare la Risoluzione dell Immagine 4 10 4 5 5 Oggetti Vuoti ed Atmosfera 4 10 5 L Arcobaleno 4 10 5 1 Iniziare con un Arcobaleno Semplice 4 10 5 2 Aumentare la Trasparenza dell Arcobaleno 4 10 5 3 Usare un Arco di Arcobaleno 4 10 6 Animazione 4 10 6 1 La Variabile Clock la Chiave di Tutto 4 10 6 2 Variabili Dipendenti da Clock ed Animazioni a pi Fasi 4 10 6 3 La Fase 4 10 6 4 Non Usare Jitter o Crand 4 10 6 5 Impostazioni dei File INI 5 Guida al Linguaggio di POV Ray 6 Opzioni di POV Ray 6 1 Impostare le opzioni di POV Ray 6 1 1 Parametri switches per la linea di comando 6 1 2 Usare i file INI 6 1 3 Usare la Variabile d Ambiente POVINI 6 2 Guida di Riferimento alle Opzioni di POV Ray 6 2 1 Opzioni sull Animazione 6 2 1 1 Loop esterno di animazione 6 2 1 2 Loop Interno di Animazione 6 2 1 3 Sottoinsiemi di Fotogrammi 6 2 1 4 Animazioni Cicliche 6 2 1 5 Rendering per campi 6 2 2 Opzioni di Output 6 2 2 1 Opzioni Generiche di Output 6 2 2 1 1 Altezza e Larghezza dell Output 6 2 2 1 2 Opzioni di Output Parziale 6 2 2 1 3 Opzioni di Interruzione del Rendering 6 2 2 1 4 Opzioni di Continuazione del Rendering 6 2 2 2 Opzioni di Output a Schermo 6 2 2 2 1 Impostazioni Hardwa
201. anche essere stratificati uno sopra l altro fintanto che gli strati sovrastanti siano almeno in parte trasparenti in modo che quelli sottostanti possano essere visti Divertiamoci con alcuni pigmenti Creiamo un file chiamato texdemo pov e lo editiamo come segue finclude colors inc camera location lt 1 1 7 gt look at 0 angle 36 light source lt 1000 1000 1000 gt White plane y 1 5 pigment checker Green White sphere lt 0 0 0 gt 1 pigment Red Renderizzando velocemente questo file a 200x150 A Fig 92 Sfera rossa 80 vediamo che si tratta di una semplice sfera rossa contro un piano a scacchi verdi e bianchi Utilizzeremo questa sfera come terreno di prova per le nostre texture 4 8 2 1 Usare Liste di Colori Prima di iniziare dovremmo notare che abbiamo gi fatto un tipo di pigmento la lista di colori Nell esempio precedente abbiamo usato un motivo a scacchiera nel nostro piano Ci sono altri due tipi di liste di colori mattoni brick ed esagonale hexagon Proviamoli velocemente Per prima cosa cambiamo la frase pigment del piano come segue pigment hexagon Green White Yellow Renderizzandolo vediamo un motivo esagonale a tre colori Fig 93 Pavimento ad esagoni Nota che questo motivo richiede appunto la specificazione di tre colori Ora lo cambiamo di nuovo in pigment brick Gray75 Red rotate 90 x scale 25 Guardando l immagine risultante
202. ando Anche se questo comando ci darebbe dei fotogrammi numerati tra 51 e 75 questi non potrebbero essere reinseriti nella nostra sequenza dato che clock varierebbe comunque tra 0 fotogramma 51 e ed 1 fotogramma 75 L unico caso in cui Initial Frame e Final Frame dovrebbero essere usati quando stiamo preparando una sequenza nuova che deve venire attaccata alla fine di una gi esistente Se vogliamo vedere solo i fotogrammi da 51 a 75 dell animazione originale abbiamo bisogno di due nuove impostazioni nel nostro file INI Subset Start Frame 51 pubse End Frame 75 Che aggiunte al file INI fanno variare clock tra i valori proporzionali a tutti e 100 i fotogrammi ma renderizzano solo i fotogrammi da 51 a 75 Ci ci dovrebbe fornire un idea elementare di come utilizzare l animazione anche se questo tutorial introduttivo non esaurisce tutti gli argomenti Ad esempio gli ultimi due parametri possono assumere valori frazionari come 0 5 o 0 75 in modo da non cambiare il numero di fotogrammi indipendentemente da quale parte dell animazione viene renderizzata Inoltre c supporto per rendering per campi di linee pari e dispari utile per animazioni preparate per essere riprodotte in maniera interlacciata come in televisione vedi il capitolo 7 per maggiori dettagli POV Ray 3 supporta una grande quantit di opzioni per l animazione aggiungendo una quarta dimensione al raytracing Sia che stiamo preparando un filmato FLIC AV
203. ando Fatal Error Command se c Esce da POV Ray con codice 1 U crea un interruzione dell utente Esegue il comando User Abort Command se c Esce da POV Ray con un codice 2 Q chiude POV Ray immediatamente Si comporta come se POV Ray non fosse mai stato eseguito Non esegue i successivi comandi di shell nemmeno Post Scene Command ed esce da POV Ray con errore di codice 0 Di ritorno dal comando Pre Scene Command se stata specificata un azione allora S evita di renderizzare tutti i fotogrammi Si comporta come se tutti i fotogrammi fossero renderizzati normalmente Non esegue Pre Frame Commando Post Frame Commands Eseguir il comando Post Scene Command se c Esce da POV Ray con codice 0 Nelle precedenti tabelle significava tralasciare il passo 4 A tralascia tutta la scena E identico a Q quit Nelle precedenti tabelle significava evitare tutti i passi fino al 6 Di ritorno dal comando Pre Frame Command se stata specificata un azione allora S tralascia solo questo fotogramma Facendo cos questo fotogramma non verr creato Non esegue il comando Post Frame Command Procede con il fotogramma successivo Nelle precedenti tabelle significa saltare il passo 4b e 4c ma tornare indietro come necessario per l animazione al passo 4d A non renderizza questo fotogramma e tutti gli altri In questo modo la scena viene completata normalmente Non viene eseguito nessun comando impostato con Post
204. anno identiche nelle versioni future o che rimanga la piena compatibilit con la sintassi attuale Le immagini generate al computer normalmente sono ambientate in uno spazio vuoto che non permette il rendering di fenomeni naturali come il fumo i raggi di luce ecc Un metodo molto semplice per aggiungere la nebbia alla scena descritto nel paragrafo Nebbia Questo tipo di nebbia non interagisce con alcuna luce Non mostrer i raggi luminosi o altri effetti e quindi non molto realistico L atmosfera supera alcune delle limitazioni della nebbia calcolando le interazioni tra la luce e le particelle presenti nell atmosfera usando un campionamento sul volume Quindi fasci di luce diventeranno visibili e gli oggetti proietteranno ombre ne fumo o nella nebbia La sintassi per l atmosfera atmosphere type TIPO distance DISTANZA scattering DISPERSIONE eccentricity ECCENTRICITA samples CAMPIONI jitter JITTER aa threshold SOGLIA aa level LIVELLO colour lt COLORE gt 373 La parola chiave type determina il metodo di dispersione che deve essere usato Ci sono cinque differenti funzioni di fase che rappresentano i diversi modelli isotropo di Rayleigh di Mie nebbia e di Henyey Greenstein La dispersione isotropa la forma pi semplice di dispersione perch indipendente dalla direzione La quantit di luce dispersa dalle particelle dell atmosfera non dipende dall angolo tra la direzio
205. applicazioni come il ray tracing Il formato specifico del sistema dipende dalla piattaforma usata e viene trattato nella documentazione specifica La maggior parte di questi formati ha un output a 24 bit per punto con 8 bit assegnati per i dati di rosso ed altrettanti per verde e blu Il formato PNG permette comunque di specificare da 5 a 16 bit per i valori di rosso verde e blu dando colori da 15 a 48 bit per punto La profondit del colore per default di 8 bit per colore 24 bit per punto 16 milioni di colori ma pu essere cambiata nel formato PNG impostando Bits Per Color n o specificando FNn dove n la profndit di colore desiderata Specificare una minore profondit di colore come 5 bit colore 32768 colori pu essere abbastanza per chi ha possibilit di visualizzare a schermo immagini a 8 o 16 bit 256 0 65536 colori e migliorer la compressione del file PNG Maggiori profondit di colore come 10 o 12 bit pixel possono essere migliori per applicazioni professionali e 16 bit colore ottimale per l output a toni di grigio vedi il paragrafo Campi di Quota per dettagli Il formato Targa permette anche l output di 8 bit pixel di dati per il canale alfa trasparenza mentre il formato PNG ne permette 5 o 16 in dipendenza dalla profondit di colore come stato specificato prima Si pu attivare questa opzione con Output Alpha on oppure UA Il valore predefinito off o UA Vedi il paragrafo Usare il Canale Alfa pe
206. aratore cosicch POV Ray possa determinare dove inizia e finisce ogni definizione del colore 313 7 6 1 3 Mappe di Colore La maggior parte dei motivi di colori passa bruscamente da un colore all altro e utilizza solamente due o tre colori Invece possibile utilizzare dei colori che siano frutto di una transizione graduale da una tonalit ad un altra Questo tipo di colorazione definita in un modificatore di pigmento chiamato color map che imposta il passaggio da un colore ad un altro Ognuno dei vari tipi di motivi che sono disponibili caratterizzato da una funzione matematica che prende le coordinate x y e z della posizione e le trasforma in un numero compreso tra 0 0 e 1 0 inclusi Quel numero viene usato per specificare quale combinazione di colori da usare in quel punto della color map Una mappa di colore specificata nel modo seguente pigment tipo di motivo color map numero 1 COLORE 1 numero 2 COLORE 2 numero 3 COLORE 3 modificatori di pigmento Dove numero_1 numero_2 sono valori decimali compresi tra 0 0 e 1 0 questi inclusi e COLORE 1 COLORE 2 sono colori Notare che le parentesi quadre sono parte integrante della frase non sono notazioni che segnalano una parte facoltativa Le parentesi definiscono ciascun valore nella mappa di colore Ci possono essere da 2 a 256 diversi colori nella mappa Si pu anche usare la dizione alternativa colour map Per esempio
207. are la macchina fotografica 7 4 4 1 Posizione e Mira In molti casi ti saranno necessari solamente due vettori per posizionare la macchina fotografica location e look at Per esempio camera location lt 3 5 10 gt look at lt 0 2 1 gt La parola chiave location indica semplicemente la posizione della macchina fotografica specificandone le coordinate x y z La macchina fotografica puo essere posizionata in ogni punto dello spazio La posizione di default lt 0 0 0 gt 256 Il vettore look at rappresenta il punto di mira e orienta la macchina fotografica rivolgendola verso il punto di coordinate lt x y z gt Per default la macchina fotografica rivolta verso un punto distante un unit lungo l asse z dalla sua posizione Il vettore look at dovrebbe quasi sempre essere l ultima specificazione che si inserisce nella frase camera Se si aggiungono altri parametri dopo 100k at la mira della macchina fotografica potrebbe risultarne alterata 7 4 4 2 Il Vettore Sky Normalmente la macchina fotografica in POV Ray si muove a destra o a sinistra ruotando attorno all asse y fino a che raggiunge l allineamento col punto stabilito dalla parola chiave look at quindi inclinata verso il basso o verso l alto fino a quando questo punto non viene perfettamente centrato Potresti comunque desiderare che la macchina fotografica si inclini lateralmente come un aereo in virata E possibile cambiare l inclinazione d
208. are nei file ini Entrambi vengono spiegati in dettaglio nelle seguenti sezioni 6 1 1 Parametri switches per la linea di comando Questi parametri sono composti da un segno pi o da un meno seguiti da uno o pi lettere dell alfabeto e all occorrenza da un numero Ecco un esempio di linea di comando POVRAY Isimple pov V W80 H60 povray il nome del programma ed seguito da alcuni parametri Ogni parametro inizia con un segno di o Il I con ilnome del file dice a POV Ray quale file deve usare come input e il v dice al programma di mostrare il suo stato sullo schermo mentre sta lavorando Il W eil H impostano la larghezza width e l altezza height dell immagine in pixels Questa immagine sar larga 80 pixels e alta 60 pixels Per quei parametri relativi ad una funzione che pu essere inserita o disinserita il segno pi la attiva e il meno la disattiva Per esempio P attiva la pausa alla fine di un rendering mentre P la disattiva Altri parametri sono usati per specificare valori e anche qui possono comparire il pi ed il meno per esempio W320 imposta la larghezza di 320 pixels ma si pu anche scrivere W320 ed avere lo stesso risultato I parametri vengono letti da sinistra a destra ma in generale possono essere specificati in qualsiasi ordine Se un parametro viene specificato pi di una volta il valore precedente viene solitamente soprascritto da quello successivo L unica eccezione per L che im
209. are questo colore sar calcolato mediante un algoritmo empirico che tenta di simulare le capacit di riflessione di una superficie metallica Quando la luce riflessa specularmente da una superficie metallica prender il colore della superficie tranne quando l angolo di incidenza si avviciner a 90 In questo caso il colore sar bianco La parola chiave metallic pu essere seguita da un numero decimale che indicher la quantit di questo effetto il valore predefinito 1 Per esempio finish phong 0 9 phong size 60 metallic se non si specificato phong o specular la parola chiave metallic non avr effetto 7 6 3 4 Riflessione Speculare Si chiama riflessione speculare il fenomeno per il quale la luce non si diffonde su una superficie e l angolo di incidenza esattamente uguale all angolo di riflessione Questo tipo di riflessioni controllato da una parola chiave appartenente alle frasi delle finiture Questa parola chiave reflection Per esempio finish reflection 1 0 ambient 0 diffuse 0 Questa impostazione creer uno specchio che rifletter tutti gli altri elementi della scena Solitamente viene specificato un solo valore decimale dopo la parola chiave anche se la forma sintattica completa prevederebbe anche l impostazione di un colore Per esempio un valore decimale come 0 3 produrr in vettore lt 0 3 0 3 0 3 0 3 0 3 gt che accettabile poich saranno prese in considerazione solo le par
210. area light lt 1 0 0 gt lt 0 0 1 gt 2 2 adaptive 1 jitter point_at lt 2 0 0 gt light_source lt 12 10 1 gt color Blue spotlight radius 12 falloff 14 69 tightness 10 area light lt 1 0 0 gt lt 0 0 1 gt 2 2 adaptive 1 jitter point at lt 2 0 0 gt Abbiamo cos tre spot allargati quadrati di un unit di lato contenenti ciascuno una matrice di 2 2 luci con tre colori diversi che risplendono sulla nostra scena Renderizziamo questa scena a 200x150 lt A Fig 80 Luci diffuse colorate Sembra funzionare perfettamente Tutte le nostre ombre hanno zone di penombra piccole e strette proprio del genere che ci aspetteremmo di trovare su un oggetto illuminato da un vero spot 4 6 6 Assegnare un Oggetto ad una Sorgente Luminosa Le sorgenti luminose sono invisibili Indicano solo il punto da cui si proietta la luce Non hano una vera dimensione o una forma Se vogliamo che la nostra luce sia visibile ed abbia una forma possiamo usare la parola chiave looks like assomiglia Possiamo cio specificare che la nostra sorgente luminosa pu assumere la forma di un qualunque oggetto scegliamo Quando usiamo looks like la parola chiave no shadow senza ombra viene automaticamente applicata all oggetto Questo avviene per evitare che l oggetto blocchi la luce proveniente dalla sorgente Se vogliamo che ci sia dell ombra invece meglio usare un unione per ottenere lo stesso risultato Aggiungiam
211. assegnato al parametro deve essere inferiore a 1 0 E da notare che il jittering si pu usare anche se l anti aliasing non utilizzato 7 6 4 8 Modificatori degli Aloni Questo paragrafo tratta tutti i modificatori delle halo di uso generale elencati sotto halo turbulence lt TURBULENCE gt octaves OCTAVES omega OMEGA lambda LAMBDA frequency FREQUENCY phase PHASE scale lt VECTOR gt rotate lt VECTOR gt translate lt VECTOR gt 7 6 4 8 1 Modificatore Frequency frequenza Il parametro frequency definisce quante volte il campo di densita debba essere mappato su se stesso prima di venire mappato sulla mappa dei colori La formula che calcola questa funzione f new r f r FREQUENCY PHASE modulo 1 0 In questo modo la mappa dei colori verr ripetuta tante volte quanto il valore di frequency 7 6 4 8 2 Modificatore Phase Fase Il parametro phase determina di quanto deve essere sfasata la mappatura del campo di densit su se stesso Vedi la formula del paragrafo precedente per l uso di phase In questo modo il colore corrispondente a f r 0 pu essere spostato a phase mod 1 7 6 4 8 3 Modificatori di Trasformazione Gli aloni possono essere trasformati usando le parole chiave scale rotate e translate Si deve fare attenzione a non spostare il campo di densit al di fuori dell oggetto contenitore 7 6 5 Texture Speciali Le texture speciali sono texture complesse formate
212. ata o disattivata o salvata in un file di testo Render mostra le informazioni riguardanti le opzioni che sono state specificate per il rendering Include richiami a tutte le pi importanti opzioni tra cui il nome della scena la risoluzione le impostazioni delle animazioni l anti aliasing e altre Anche questa parte pu essere attivata o disattivata o salvata in un file di testo Statistiche mostra le statistiche dopo che un fotogramma stato renderizzato Include informazioni sul numero di raggi tracciati la quantit di tempo impiegata ed altre Anche questa parte pu essere attivata o disattivata o salvata in un file di testo 208 Status mostra una linea di stato che spiega che cosa stia facendo il programma in quel momento sul alcuni sistemi questa linea mostrata in una barra di stato che situata in fondo allo schermo Questa non pu essere copiata in un file di testo anche perch generalmente non ce n alcun bisogno Il testo mostrato in virt dell opzione Verbose o del parametro V quindi pu essere disattivata Warning questa parte mostra messaggi di attenzione relativi al parsing di una scena o ad altro Nonostante questi messaggi POV Ray pu continuare il rendering Sarai informato se POV Ray estrapoler determinate assunzioni riguardo alla tua scena in modo da poter continuare In generale ogni volta che si vede un messaggio di attenzione si pu prevedere che future versioni di POV Ray non permetteran
213. ate y 45 Questo influenza l intera texture ma non l oggetto 7 4 Macchina Fotografica La definizione del punto di osservazione macchina fotografica o camera descrive la posizione il tipo di proiezione e le sue caratteristiche nella scena La sua sintassi camera perspective orthographic fisheye ultra wide angle omnimax panoramic cylinder VALORE DECIMALE location lt VETTORE gt look at lt VETTORE gt right lt VETTORE gt up lt VETTORE gt direction lt VETTORE gt sky lt VETTORE gt right lt VETTORE gt angle VALORE DECIMALE blur samples VALORE DECIMALE aperture VALORE DECIMALE focal point lt VETTORE gt normal NORMALI In funzione del tipo di proiezione sono richiesti dei parametri alcuni dei quali sono opzionali Se non viene assegnato nessun tipo di proiezione viene usata la proiezione prospettica pinhole camera Se non viene assegnata alcuna camera ne viene usata una con parametri predefiniti A parte il tipo di proiezione tutte le camere usano le seguenti parole chiave location look at right up direction e sky per determinare l ubicazione e l orientamento del punto di osservazione Il loro significato differisce con il tipo di proiezione usato Un chiarimento pi particolareggiato sulla collocazione della camera segue pi tardi 7 4 1 Tipo di Proiezione 253 L elenco seguente spiega i diversi tipi di proiezione che possono es
214. ati in quel modo Il colore predefinito dello sfondo nero La sintassi background colour lt COLORE gt 7 7 3 Nebbia La nebbia definita dalle seguenti frasi fog fog _ type TIPO DI NEBBIA distance DISTANZA 378 colour lt COLORE gt turbulence lt TURBOLENZA gt turb depth PROFONDITA DELLA TURBOLENZA omega OMEGA lambda LAMBDA octaves OTTAVE fog offset FOG OFFSET fog alt FOG ALT up lt FOG_UP gt TRASFORMAZIONI Il vettore up facoltativo definisce l alto e generalmente si usa lo stesso che si usato per la camera Tutti i calcoli fatti per la nebbia raso terra saranno dipendenti da questo vettore in altre parole le altezze relative saranno calcolate lungo questo vettore Questo vettore pu essere modificato usando tutte le trasformazioni descritte nel paragrafo Trasformazioni Anche se potrebbe non essere una buona idea scalare il vettore up assai difficile riuscire a prevedere il risultato piuttosto utile al contrario saperlo ruotare Le traslazioni invece non lo influenzano e quindi non muteranno neanche la posizione della nebbia Allo stato attuale sono disponibili due tipi di nebbia la nebbia costante e la nebbia raso terra La nebbia costante ha una densit costante ovunque a tutte le altezze minori di un determinato punto che giace sull asse dell altezza L altezza sotto alla quale la nebbia risulter costante specificata dalla parola chiave f
215. atteri ASCII ART Nei casi in cui sia possibile l immagine sar visualizzata a schermo intero a 24 bit Impostando Display off o usando il parametro D verr disattivata la possibilit di vedere l immagine mentre viene renderizzata opzione che invece impostata per default L opzione Video Mode x imposta la modalit grafica o il tipo di hardware scelto dove x una singola cifra o lettera che dipendente dalla macchina vedere sezione Tipi di Display per una descrizione delle modalit supportate da MS DOS Generalmente Video Mode 0 significa l impostazione di default o l impostazione rilevata automaticamente Quando si usano i parametri la modalit indicata allo stesso modo con un numero che segue immediatamente il parametro stesso per esempio DO attiver la modalit di default L opzione Palette y seleziona la tavolozza colori palette che verr usata Generalmente y sar una cifra che seleziona una specifica palette oppure una lettera quale G per il display a toni di grigio H per high color a 15 o 16 bit T per true color 24 bit Quando si usano i parametri il carattere che definisce la palette occupa la seconda posizione per esempio DOT permetter di mostrare il rendering a schermo durante la sua esecuzione con la modalit grafica predefinita e in true color 195 L opzione Display Gamma n n nuova nella versione POV Ray 3 0 e non disponibile come parametro Questa opzione cerca di risolvere il problema di
216. ay determina i punti dello spazio in cui la forza del campo uguale al valore di soglia Il seguente elenco mostra alcuni aspetti importanti del valore di soglia 264 1 Il valore di soglia threshold deve essere positivo 2 Un componente scompare se il valore di soglia maggiore della sua forza 3 Pi grande il valore di soglia pi la superficie sar vicina al centro dei componenti 4 Minore il valore di soglia pi la superficie sar vicina alla superficie dei componenti I componenti cilindrici sono specificati dalla parola chiave cylinder che definisce un cilindro formato dalle estremit nei punti lt ESTREMITA 1 gt ed lt ESTREMITA 2 gt e dal raggio Le estremit del cilindro sono emisferiche I componenti sferici sono invece specificati dalla parola chiave sphere che definisce il centro ed il raggio Ciascun componente pu essere spostato ruotato scalato e gli pu essere assegnata una texture La sintassi completa per i componenti sferici e cilindrici sphere lt CENTRO gt RAGGIO strength FORZA translate lt VETTORE gt rotate lt VETTORE gt scale lt VETTORE gt MODIFICATORI DI TEXTURE cylinder lt END1 gt lt END2 gt RAGGIO strength FORZA translate lt VETTORE gt rotate lt VETTORE gt scale lt VETTORE gt MODIFICATORI DI TEXTURE Scalando lungo uno o due assi un componente sferico si possono creare component
217. azione creer una directory chiamata source con molti file e sotto directory In generale ci sono archivi separati per ogni piattaforma hardware e sistema operativo ma ciascuno di questi archivi pu supportare pi di un compilatore Ad esempio qui riportata la struttura delle directory per l archivio MS Dos source source libpng source zlib source msdos source msdos pmode source msdos borland source msdos djgpp source msdos watcom La directory source contiene 1 file sorgenti per le parti generiche di POV Ray uguali su tutte le piattaforme La directory source libpng contiene file per la compilazione di una libreria di routine usate nel leggere e scrivere immagini in formato PNG Portable Network Graphics La directory source zlib contiene file per la compilazione di una libreria utilizzata da libpng per comprimere e decomprimere flussi di dati Tutti questi file sono utilizzati da tutte le piattaforme e tutti i compilatori e si trovano in ogni versione degli archivi contenenti i sorgenti La directory source msdos contiene tutti i sorgenti per la versione MS Dos comuni a tutti i compilatori supportati La sub directory source msdos pmode contiene 1 sorgenti per la libreria pmode lib che richiesta da tutte le versioni per MS Dos Le sottodirectory borland djgpp watcom contengono sorgenti makefile e project file per i rispettivi compilatori C Questa directory unica nell archivio per MS Dos Analogamente la versione per Windows conti
218. biamo appena fatto e l atmosfera descritta nel paragrafo L Atmosfera la possibilit di scegliere una distribuzione di particelle non uniforme per la polvere Ci include la limitazione della halo all oggetto contenitore ma anche le differenti funzioni di densit e di mappatura Un altro modo interessante per ottenere una distribuzione irregolare della polvere quello di aggiungere turbolenza L effetto si ottiene usando la parola chiave turbulence seguita dalla quantit di turbolenza da usare vedi halo35 pov box 1 1 pigment colour rgbt lt 1 1 1 1 gt halo dust 131 dust type 1 box mapping linear turbulence 1 colour map 0 color rgbt lt 1 1 1 1 0 gt 1 color rgbt lt 1 1 1 0 5 gt samples 50 aa level 3 de Threshold 0 2 jitter 0 1 hollow scale 5 Fig 155 Effetto della turbolenza L immagine che otteniamo molto pi interessante a causa degli spostamenti nella densit delle particelle Dovremmo notare che usiamo una funzione di densit lineare parola chiave linear invece che la funzione costante Ci necessario perch la funzione densit costante ha lo stesso valore in ogni punto Aggiungere turbolenza non avrebbe effetto perch comunque i punti venissero spostati la densit avrebbe lo stesso valore Aggiungere turbolenza ha senso solo se si usa una distribuzione di densit non costante Il fatto che il valore della turbole
219. bili valori di 0 per NORMALE 4Do per la sua quarta componente Puoi entrare in confidenza con la natura quadridimensionale del frattale di Julia usando un animazione e facendo variare con clock il parametro della distanza del piano DISTANZA Puoi far s che il frattale appaia dal nulla cresca e di nuovo svanisca in relazione al variare del parametro distanza in modo molto simile a ci che accade alla sezione bidimensionale di un oggetto 3D che passa attraverso un piano Il parametro precision la tolleranza usata nel calcolo dei punti dell oggetto Maggiori valori danno un risultato pi accurato ma un rendering pi lento Usa un valore quanto pi possibile basso evitando per che il frattale si deteriori La presenza delle parole chiave quaternion 0 hypercomplex determina quale tipo di algebra quadridimensionale usato per calcolare il frattale Entrambe sono generalizzazioni quadridimensionali dei numero complessi ma nessuna soddisfa tutte le propriet del campo tutte le propriet dei numeri reali e complessi sulle quali molti di noi hanno dormito alle superiori I quaternioni hanno la moltiplicazione non commutativa mentre i numeri ipercomplessi possono non avere un inverso rispetto alla moltiplicazione per alcuni numeri diversi da zero stato dimostrato che non si possono estendere i numeri complessi alle quattro dimensioni mantenendone tutte le propriet quindi qualcosa non pu conservarsi Entrambi questi metodi sono stati
220. blico dominio Il pacchetto software pu SOLO essere distribuito e o modificato in accordo alla licenza qui espressa Lo scopo della licenza di promuovere POV Ray come un programma di raytracing standard fornire l intero pacchetto software gratuitamente a quante pi persone sia possibile evitare lo sfruttamento di utilizzatori e sviluppatori di POV Ray migliorare la qualit della vita di coloro che interagiscono con POV Ray Questa licenza stata creata in modo che questi scopi potessero essere raggiunti Chi legge legalmente tenuto a seguire queste regole ma speriamo che esse vengano seguite pi per principio di etica che non per evitare controversie Appendice A 2 Permesso di Uso Si permette all utente di utilizzare il software ed 1 file ad esso associati in questo pacchetto per creare e renderizzare immagini L utilizzo del software allo scopo di creare immagini completamente gratuito Il creatore di una scena e dell immagine ottenuta da essa detiene ogni 392 diritto sulla scena e sull immagine e pu utilizzarli per ogni scopo commerciale e non All utente viene anche garantito il diritto di utilizzare nelle proprie scene i file di descrizione delle scene caratteri immagini e file include nelle directory include texsamps pov3demo Questo diritto non si estende ai file contenuti nella directory povsen Questi ultimi sono presenti a scopo di svago ed educativo ma non possono essere usati come base di alcun lavoro
221. bolenza e 1 0 o pi che aggiunge molta turbolenza Se specificato un vettore saranno applicati valori diversi di turbolenza nelle direzioni x y e z Per esempio turbulence lt 1 0 0 6 0 1 gt ha una maggiore turbolenza nella direzione x una quantit moderata nella direzione y e una piccolissima turbolenza nella direzione z La turbolenza usa una funzione casuale che aggiunge rumore chiamata Dnoise Questa funzione simile a quella che aggiunge rumore al pattern bozo ma invece di restituire un singolo valore calcola una direzione Puoi immaginarla come la direzione nella quale soffia il vento Punti vicini avranno valori simili ma punti lontani avranno valori diversi in modo casuale In generale l ordine dei parametri della turbolenza relativo all ordine dei modificatori di pattern come trasformazioni mappe di colori o altre mappe non importante Per esempio scalare prima o dopo avere aggiunto la turbolenza non fa differenza La turbolenza sar calcolata per prima e poi verr calcolato il ridimensionamento senza tenere conto di quale stato specificato per primo Vedi il paragrafo Warp per trovare un modo di aggirare questo problema La turbolenza usa la funzione 363 DNoise per spostare un punto di alcuni passi detti ottave octaves Localizziamo il punto da calcolare lo spostiamo di un po usando la turbolenza per giungere ad un punto diverso poi guardiamo il colore o il pattern del nuovo punto In effetti dice non
222. bulence lt 0 1 1 gt octaves 3 lambda 1 5 omega 0 3 Il significato di questa frase che pigment wood translate lt 1 2 3 gt rotate x 45 scale 2 warp turbulence lt 0 1 1 gt octaves 3 lambda 1 5 omega 0 3 produce un risultato diverso da pigment wood warp turbulence lt 0 1 1 gt octaves 3 lambda 1 5 omega 0 3 translate lt 1 2 3 gt rotate x 45 scale 2 La turbolenza pu essere specificata senza inserirla in una frase warp ma in questo modo non si pu controllare l ordine in cui turbolenza e trasformazioni vengono calcolate Le regole di calcolo sono le seguenti 1 Prima viene applicata la turbolenza non inclusa in frasi warp indipendentemente dall ordine con cui compare rispetto alle trasformazioni o ad altri warp 2 Vengono applicate le trasformazioni una dopo l altra comprese le frasi warp nell ordine specificato dall utente Quindi se vuoi che la turbolenza sia valutata in sequenza con le altre istruzioni devi specificarla all interno di una frase warp nell ordine giusto 7 6 8 9 Modificatori di Immagini Bitmap Un modificatore di immagine bitmap un modificatore utilizzato in frasi image map bump map o material map per specificare come l immagine in due dimensioni deve essere applicata mappata alla superficie tridimensionale Alcuni modificatori si applicano a particolari tipi di mappatura e sono trattati in paragrafi a parte I modificatori trattati nei s
223. bw qualunque carattere singolo path qualunque nome di directory con a scelta il drive senza barra finale o a seconda del sistema operativo Senza ulteriori specificazioni si pu assumere che un segno pi o meno davanti ad un parametro produca lo stesso risultato 6 2 1 Opzioni sull Animazione POV Ray 3 0 ha molto migliorato le sue capacit in fatto di animazione introducendo la possibilit di un loop interno di animazione di passare a programmi di utilit esterni che possono assemblare singoli fotogrammi e creare l animazione e la numerazione automatica del nome dei file di output Il loop interno che consente l animazione semplice e flessibile anche se sempre possibile utilizzare programmi esterni o file batch per creare le animazioni come nella versione 2 6 2 1 1 Loop esterno di animazione Clock n n Imposta clock come variabile al valore n n Kn n lo stesso di Clock n n 188 L opzione clock n n o il parametro Kn n possono essere usati per fornire al programma una singola variabile per animazioni di base Il valore assegnato alla variabile clock Se un oggetto deve ruotare in questo modo lt 0 clock 0 gt allora possibile ruotarlo di quantit diverse su fotogrammi diversi impostando K10 0 K20 0 ecc nei rendering successivi E a discrezione dell utente dare diversi valori di clock e diversi nomi per i file di output 6 2 1 2 Loop Interno di Animazione Initial Frame n Imposta il numero di foto
224. ca Questa curva in effetti una spline cubica 7 6 4 5 4 Polinomiale Una funzione polinomiale pu essere usata per creare una grande variet di funzioni densit Tutte hanno come massimo valore MAX VALUE in r 0 e il minimo cio 0 in r 1 Questo dato dalla formula f r MAX VALUE 1 r ESPONENTE 340 f r Fig 222 Funzione polinomiale densita L esponente determinato dalla parola chiave exponent In caso di esponente uguale a 0 ci sar una caduta lineare 7 6 4 6 Mappa del Colore per gli Aloni La densit f r i cui valori variano tra 0 e MAX VALUE mappata sulla mappa dei colori color map per ottenere i valori del colore e della trasparenza man mano che il raggio attraversa il campo di densit inoltre il colore delle halo attenuanti viene calcolato dalla densit totale leggere anche i paragrafi Mappatura dell Alone e Alone Attenuante La trasparenza della halo determinata per ogni valore di f r viene sommata o sottratta dalla trasparenza totale La mappa dei colori viene specificata da halo colour map MAPPA DEI COLORI La trasparenza viene registrata nel suo canale T per ogni elemento della mappa dei colori Un semplice esempio il seguente colour map 0 rgbt lt 1 1 1 1 gt 1 rgbt lt 1 1 1 0 gt In questo esempio le aree con minore densit piccolo f r sono trasparenti mentre quelle ad alta densit grande f r sono opache Usando dei valori negati
225. cancellata e deve trovarsi all interno di tutte le versioni della presente traduzione in Italiano del manuale d utilizzo di POV Ray La traduzione italiana del manuale di utilizzo di POV Ray stata prodotta da un gruppo di volontari Non un documento ufficiale rilasciato dal POV Ray Team e quindi il POV Ray Team non risponde di errori di traduzione Sebbene sia distribuita gratuitamente questa traduzione non di pubblico dominio Le norme per la distribuzione ed archiviazione della traduzione sono elencate sotto I traduttori non si assumono responsabilit di alcun genere sul contenuto di questa traduzione n rispondono di danni di qualunque genere provocati dall uso della traduzione stessa I file sono forniti come sono e chi li usa lo fa a proprio rischio e pericolo Possiamo semplicemente dire che la traduzione non contiene file eseguibili di qualunque tipo e che a tutt oggi non esistono virus informatici capaci di essere trasmessi attraverso pagine HTML o documenti POSTSCRIPT Questa traduzione 426 Pu essere conservata con qualunque mezzo di memorizzazione dei dati esistente o da inventare quali ma non solo floppy disk hard disk nastri di backup dischi rimovibili ad alta capacit cassette audio cassette DAT dischi CD ROM dischi DVD Pu essere liberamente duplicata per uso personale o per cessione gratuita a terzi Pu essere distribuita gratuitamente per mezzo di reti telematiche comprese banche dati
226. caustics QUANTITA 7 6 3 6 Iridescenza L iridescenza o interferenza da strato sottile di Newton simula l effetto di una luce su una superficie coperta da una pellicola trasparente di spessore microscopico L effetto simile a quello causato da una macchia d olio su una pozza d acqua o ai colori che si vedono su una bolla di sapone Vedi anche Irid Wavelenght La sintassi finish irid QUANTITA thickness DECIMALE turbulence VETTORE Questa finitura modifica il colore della superficie in relazione all angolo tra la luce e la superficie stessa L effetto funziona relativamente alla posizione ed all angolo della sorgente luminosa rispetto alla superficie e non si comporta nello stesso modo di un pigmento procedurale Il parametro QUANTITA determina il contributo dell effetto al cambiamento di colore della superficie Come regola generale dovrebbe essere intorno a 0 25 25 o meno ma meglio 332 sperimentare Se la superficie diventa troppo bianca provate ad abbassare 1 valori della luce diffusa e della luce ambiente della superficie La parola chiave thickness determina lo spessore della pellicola Questo parametro difficile da impostare poich il valore dello spessore non ha alcuna relazione con le dimensioni effettive dell oggetto Cambiandolo si modificher la complessit dell effetto Una pellicola molto sottile avr una maggiore frequenza di cambiamento del colore mentre una pellicola pi
227. ce di cui stiamo parlando virtuale non c bisogno che ci sia una reale sorgente luminosa per creare l arcobaleno L arcobaleno un effetto simile alla nebbia cio il colore dell arcobaleno mescolato col colore della sfondo in dipendenza dalla distanza col punto di intersezione Se scegli piccoli valori di distanza l arcobaleno sar visibile sugli oggetti non solo contro lo sfondo Questo effetto pu essere evitato scegliendo grandi valori per distance La mappa dei colori la parte critica dell arcobaleno poich contiene tutti i colori che possono essere normalmente visti nell arcobaleno Il colore della banda pi interna alla posizione 0 mentre quello della banda pi esterna alla posizione 1 Si dovrebbe notare che a causa della limitata variet di colori che un monitor pu normalmente mostrare impossibile creare un vero arcobaleno Ci sono alcuni colori che semplicemente non possibile mostrare Il canale del filtro della mappatura dei colori dell arcobaleno funziona in modo analogo al canale del filtro che usiamo nella nebbia Determina quanta parte della luce che attraversa l arcobaleno filtrata dal colore Il seguente esempio mostra una semplice scena con un piano che rappresenta il suolo ed un arcobaleno un po esagerato rainbow1 pov include colors inc camera location lt 0 20 100 gt look _ at lt 0 25 0 gt 173 angle 80 background color SkyBlue
228. celle vicine al punto di osservazione non attenuano la luce che proviene dalle particelle lontane dall osservatore Durante il calcolo del colore della halo vicino al centro della sfera contenitore i raggi attraversano quasi tutta la gamma delle densit della distribuzione di particelle Quindi otteniamo un colore sia rosso che verde man mano che il raggio procede a seconda della posizione nella halo La somma di questi due colori il giallo e per questo vediamo giallo il centro della halo Come possiamo ottenere quello che vogliamo La risposta usando una halo tralucente anzich una emittente La halo tralucente molto simile a quella emittente con la differenza che attenua la luce che la attraversa In questo modo la luce proveniente dalle particelle che si trovano dietro rispetto all osservatore sar attenuata da quella delle particelle che stanno davanti Per una spiegazione sull alone tralucente vedi il paragrafo Alone Tralucente 4 8 5 3 Alone Tralucente Abbiamo nominato l alone tralucente nel paragrafo sull alone emittente come un modo per evitare il mescolamento dei colori L alone tralucente molto simile all emittente con la differenza che assorbe anche la luce Possiamo vederlo come una combinazione dell alone emittente e di quello attenuante descritto nel paragrafo Alone Attenuante Sostituendo la parola chiave emitting dell esempio nel paragrafo Cambiare il Colore dell Alone con la parola chiave glowing
229. chiave quick color con quel valore Puoi soprascrivere questo valore impostato automaticamente Supposto che tu abbia dieci sfere nella scena e che siano tutte gialle se le vuoi identificare tutte singolarmente dovrai dare ad ognuna di esse un valore di quick_color diverso in questo modo sphere 319 lt 1 2 3 gt 4 pigment color Yellow quick color Red sphere lt 1 2 3 gt 4 pigment color Yellow quick color Blue e cos via A valori 6 o maggiori del parametro Q saranno tutte gialle ma per valori inferiori a 5 saranno diversamente colorate in modo da poterle identificare esattamente 7 6 2 Normale Il raytracing conosciuto soprattutto per il modo in cui vengono rese la riflessione la rifrazione e gli effetti luminosi La maggior parte delle nostre percezioni dipendono dalla capacit di riflessione degli oggetti che ci circondano Il raytracing in grado di attuare degli scherzi alla nostra percezione in modo da creare effetti ottici e farci vedere dettagli complessi l dove non esistono realmente Supposto che si desideri una superficie molto scabra potrebbe essere molto difficile modellare matematicamente ogni rugosit Possiamo per ricreare l effetto intervenendo sul modo in cui la superficie si comporta nella riflessione della luce Il calcolo della riflessione dipende da un vettore chiamato normale alla superficie surface normal Questo vettore parte dalla superficie ed diretto perpend
230. cificare i Colori POV Ray spesso richiede di specificare un colore I colori consistono di cinque valori o componenti del colore I primi tre sono il rosso il verde e il blu Essi specificano l intensit dei colori primari rosso verde e blu usando un sistema additivo del colore come quello usato dai fosfori rossi verdi e blu per la visualizzazione del colore sul monitor Il 4 componente chiamato filtro specifica l ammontare della trasparenza filtrata di una sostanza Alcuni esempi della vita reale sulla trasparenza filtrata possono essere il vetro colorato di una vetrata o del cellophane colorato La luce passando attraverso un oggetto non opaco assume il suo colore nello stesso modo in cui un oggetto assorbe alcune frequenze di luce mentre consente ad altre di attraversarlo Il colore dell oggetto sottratto dalla luce che lo attraversa e ci prende il nome di trasparenza sottrattiva Il 5 componente chiamato emettitore 0 trasmittanza specifica l ammontare di luce non filtrata che passa attraverso una superficie Alcuni esempi dall esperienza reale sulla trasparenza non filtrata possono essere rappresentati da una stoffa a trama fine che consente di vederle attraverso una maglia a rete o uno strato uniforme di polvere su una superficie In questi esempi tutte le frequenze di luce possono passare attraverso i microscopici buchi della superficie Bench l ammontare di luce che attraversa la superficie sia diminuito il colore della luce
231. clude colors inc include textures inc background rgb lt 0 8 0 8 0 8 gt camera location lt 1 5 1 30 gt 181 look at lt 0 1 0 gt angle 10 light_source 4 lt 100 20 100 gt color White bandiera polygon 5 lt 0 0 gt lt 0 1 gt lt 1 1 gt lt 1 0 gt lt 0 0 gt pigment Blue normal gradient x phase clock scale lt 0 2 1 1 gt sine wave scale lt 3 2 1 gt translate lt 1 5 0 0 gt asta evlind er lt 1 5 dj OF lt 1lobp 4525 0 gt 0 05 texture Silver Metal pomo dell asta sphere lt 1 5 2 25 0 gt 0 1 texture Silver Metal Fig 195 Semplice animazione di una bandiera Ora abbiamo creato una semplice bandiera blu con un gradiente di normali Abbiamo fatto usare al gradiente un onda sinusoidale in modo che la bandiera appaia sventolare Ma la vera magia qui la parola chiave phase E stata impostata per assumere il valore di clock come un valore decimale che via via che clock incrementa da 0 ad 1 far ondeggiare le increspature della bandiera lungo 182 l asse delle x Effettivamente quando animiamo la bandiera sembra proprio che essa sventoli Questo solo un semplice esempio di come un cambiamento di fase dipendente da clock possa creare interessanti effetti di animazione Provando phase su tutte le texture che abbiamo visto finora sorprendente la variet di effetti di ani
232. colore specificato in tutte le direzioni La posizione specificata dalla parola chiave location e il colore dalla parola chiave color La sintassi completa light source lt posizione gt color lt colore gt Looks like oggetto fade distance distanza di decadimento fade power potenza di decadimento atmospheric attenuation on off Le altre parole chiave verranno spiegate dopo 7 5 6 2 Spot Uno spot una sorgente luminosa puntiforme i cui raggi sono contenuti all interno di un cono La luce forte al centro del cono e si attenua ai lati La sintassi light source lt posizione gt color lt colore gt spotlight identifica il tipo di sorgente point at lt puntata verso gt radius raggio falloff FALLOFE tightness apertura looks like oggetto fade distance distanza di decadimento fade power potenza di decadimento atmospheric attenuation on off Lo spot identificato dalla parola chiave spotlight posizionato a location ed rivolto verso point at La seguente illustrazione pu essere di aiuto per capire meglio le relazioni tra questi valori 298 posizione angolo di raggio angolo di falloff Fig 211 Luce Spot Altri parametri sono radius falloff e tightness Per visualizzare mentalmente come sia fatto uno spot basta pensare a due coni uno dentro l altro Il cono all interno specificato dalla parola chiave
233. comandi che POV Ray esegue in caso di errore durante la fase antecedente alla scena Pre Scene Return s Imposta i comandi che POV Ray esegue in caso di errore durante la fase antecedente ad un fotogramma Pre Frame Return s Imposta i comandi che POV Ray esegue in caso di errore durante la fase seguente alla scena Post Scene Return s Imposta 1 comandi che POV Ray esegue in caso di errore durante la fase seguente ad un fotogramma Post Frame Return s Imposta i comandi che POV Ray esegue in caso di interruzione della scena da parte di colui che utilizza il programma User Abort Return s Fatal Error Return s Imposta i comandi che POV Ray esegue in caso di errore fatale 205 Per questi comandi non esistono i corrispondenti parametri Non possono quindi essere usati nella linea di comando ma solamente impostati nei file ini Molti sistemi operativi specificano in caso di errore un codice che meglio definisca il tipo di errore in cui si incorsi Quando POV Ray esegue un comando di una shell pu far uso di questi codici e regolarsi di conseguenza a seconda che il codice sia zero o no Anche POV Ray utilizza questi codici e considera un codice di errore di zero come operazione eseguita con successo 1 per un errore fatale e 2 per l interruzione causata dall utente Queste azioni sono impostate scrivendo una sola lettera nell opzione relativa una di quelle elencate qui sopra Le azioni possibili sono I ign
234. comando questo include leggere ogni file ini o def l specificato La variabile d ambiente POVRAYOPT supportata dalle precedenti versioni di POV Ray non pi disponibile 6 2 Guida di Riferimento alle Opzioni di POV Ray Come spiegato nella precedente sezione le opzioni devono essere specificate da parametri nella linea di comando o con le opzioni dei file ini Quasi tutti le opzioni dei file ini hanno un equivalente nei parametri e la maggioranza dei parametri ha equivalenti nelle opzioni dei file ini La sezione che segue d una dettagliata descrizione di ogni opzione di POV Ray e include sia le opzioni dei file ini che quelle dei parametri La notazione e la terminologia usata sono descritte nella tabella a seguito attiva la funzione se bool uguale atrue yes onolela Parola chiave bool 7 disattiva se c qualunque altro valore Parola chiave true utilizzare questa opzione se specificato true yes on 0 1 Parola chiave false utilizzare questa opzione se specificato false no off or 0 qualunque nome di file valido Nota alcune opzioni proibiscono Parola chiave mee l uso di alcune delle precedenti espressioni quali true o false come baia nomi di file e sono annotate nelle successive sezioni N qualunque numero intero come W320 n n qualunque numero decimale come Clock 3 45 0n qualunque numero decimale minore di 1 0 anche se non ha lo 0 iniziale s qualunque stringa di testo X
235. comando di interruzione o di errore fatale User Abort Commando Fatal Error Command non nel loop di animazione dara una sostituzione del nome senza numerazione Questa la lista completa delle possibili sostituzioni oe o Il file di output avr estensione e numero di fotogramma se siamo in un animazione oe s il nome dell output derivera dal nome del file di input oe oe w J numerazione per animazione che cresce con i fotogrammi valore di clock per questo file di output oe D altezza dell immagine in pixel 204 Sw larghezza dell immagine in pixel 3 un solo segno di 6 2 4 2 Comandi di Shell in Sequenza Questa la sequenza di azioni in un loop di animazione Le scene non animate funzionano allo stesso modo se non che non c il loop proprio dell animazione 1 Vengono esaminati tutti i file ini le opzioni ed i parametri una volta 2 Viene aperto ogni output di testo e si crea il file ini se necessario 3 Viene eseguito Pre Scene Command se c 4 Loop dell animazione o solo una ripetizione se la scena non animata a Viene eseguito Pre Frame Command se c b Si esegue il parsing dell intero file della scena si apre il file di output e si leggono le impostazioni si attivano le impostazioni di schermo per la visualizzazione viene renderizzata l immagine si distruggono tutti gli oggetti le texture ecc vengono chiusi il file di output e il display c Si esegue il Post_ Frame Comma
236. cumentazione per tutte le modifiche apportate al programma che viene distribuito Devono essere incluse chiare informazioni su come ottenere le versioni ufficiali di POV Ray L utente incoraggiato a mandare miglioramenti e correzioni del programma al POV Ray Team ma il Team non in nessun modo tenuto ad utilizzarli Mandando il materiale al Team chi contribuisce asserisce la sua propriet ed il diritto di distribuzione del materiale Autorizza il Team ad utilizzarlo in qualunque modo Chi contribuisce mantiene ancora i diritti sul materiale donato ma con la donazione passa tutti i diritti relativi all utilizzo ed alla distribuzione al POV Ray Team Il Team non obbligato ad usare il materiale ma in caso positivo chi contribuisce non acquisisce diritti relativi a POV Ray Il Team fornir credito come creatore di nuovo codice ove applicabile Includere una copia del file povlegal doc 395 Appendice A 9 Condizioni per il Bundling Commerciale I rivenditori che desiderino unire POV Ray ad altro software commerciale incluso shareware o con pubblicazioni devono prima ottenere esplicita autorizzazione dal POV Ray Team Ci include qualunque software commerciale o pubblicazione come ma non solo riviste libri giornali Il POV Ray Team decider se questa distribuzione sar autorizzata su base individuale e pu imporre certe restrizioni se ne vede la necessit I termini minimi per la distribuzione sono forniti qui Altre condizion
237. d necessaria 7 2 5 2 Istruzioni IFDEF L istruzione ifdef simile all istruzione i comunque usata per determinare se un identificatore stato dichiarato in precedenza Dopo l istruzione ifdef invece di un espressione booleana si pone un solo identificatore chiuso tra parentesi Per esempio ifdef User Thing Questa sezione analizzata se 244 l identificatore User Thing era precedentemente dichiarato object User Thing invoca identificatore else Questa sezione analizzata se l identificatore User Thing non era precedentemente dichiarato box lt 0 0 0 gt lt 1 1 1 gt usa un valore preimpostato end Fine della parte condizionale L istruzione else opzionale L istruzione end necessaria 7 2 5 3 Istruzioni IFNDEF L istruzione ifndef simile all istruzione ifde f comunque usata per determinare se l identificatore dato non ancora dichiarato Per esempio ifndef User Thing Questa sezione analizzata se L identificatore User Thing non era stato precedentemente dichiarato box lt 0 0 0 gt lt 1 1 1 gt usa un valore preimpostato else Questa sezione analizzata se Ef l identificatore User Thing era stato precedentemente dichiarato object User Thing invoca identificatore end Fine della parte condizionale L istruzione else opzionale L istruzione end necessaria 7 2
238. da pi texture Le texture componenti possono essere a loro volta texture semplici o speciali Una texture semplice ha solo una frase pigment normal efinish ed eventualmente una definizione di halo Anche le mappature di normali e pigmenti sono considerate texture semplici Le texture speciali usano la parola chiave texture map per specificare l unione di pi texture oppure un immagine chiamata mappa dei materiali Material map con un metodo analogo alla mappatura di un immagine Ci sono alcune limitazioni nell uso delle texture speciali Una texture speciale non pu essere usata come texture predefinita vedi il paragrafo Istruzione Predefinita non pu essere usata come strato in una texture stratificata ma puoi usare texture stratificate come componenti di una texture speciale 7 6 5 1 Mappe di Texture 343 Oltre a specificare colori che sfumano gli uni negli altri con le color map si possono sfumare anche le texture usando la parola chiave texture map La sintassi per una mappa di texture identica a quella usata per la mappa di pigmenti ma per ogni componente della mappa viene specificata una texture Una mappa di texture specificata dalla seguente sintassi texture Tipo di pattern texture map NUM 1 TEXTURE 1 NUM 2 TEXTURE 2 NUM 3 TEXTURE_3 modificatori Dove NUM_1 NUM_2 sono valori decimali compresi tra 0 0 ed 1 0 inclusi Il termine TEXTURE_
239. dal sistema necessario vedere dunque per maggiori dettagli le specifiche documentazioni del sistema sulle unit di tempo utilizzate dai file CSV I formati Targa e PPM sono gli stessi utilizzati da POV Ray per gli height field Vedi Height Field quindi le informazioni del file dell istogramma sono convertite in colori ed impossibile la lettura Quando sono usate per gli height field i valori pi bassi corrispondono al minore tempo utilizzato per il calcolo dei pixel in quel blocco e valori pi alti indicano un maggior tempo impiegato nel blocco corrispondente Le immagini in formato PNG sono invece immagini in toni di grigio e sono comode sia per la lettura dei dati sia per la creazione di height field Nei file PNG le aree pi scure o pi basse indicano una minore quantit di tempo impiegata per quel blocco e le aree pi chiare o pi alte indicano un maggior tempo impiegato nel blocco corrispondente 6 2 2 4 2 Nome del File Histogram Name file Imposta il nome del file contenente l istogramma a file HNfile Lo stesso di Histogram Name file Il nome del file dell istogramma il nome del file in cui vengono scritti i dati riguardanti l istogramma Se non viene specificato alcun nome verr utilizzato quello di default che histgram ext dove ext dipende dal tipo di file specificato con i parametri contenuti nel paragrafo precedente E da notare che se il nome del file specificato l estensione del file dovr essere ugua
240. darmi il colore di questo punto fai alcuni passi a caso in direzioni diverse e dammi quel colore Ogni passo generalmente lungo la met di quello precedente Fig 228 Percorso casuale con turbolenza L ampiezza di questi passi controllata dal valore della turbolenza Ci sono tre parametri aggiuntivi che controllano il calcolo della turbolenza Sono octaves lambda e omega Sono tutti e tre facoltativi Ciascuno di essi seguito da un valore decimale e nessuno di essi ha effetto se non insieme alla turbolenza 7 6 8 5 Ottave Octaves Il valore di octaves controlla il numero di passi che vengono eseguiti nel calcolo della turbolenza Si possono usare valori compresi tra 1 e 10 Il valore di default di 6 gi sufficientemente alto non si noteranno grossi cambiamenti a valori superiori a sei dato che i passi successivi sono troppo piccoli I valori decimali sono troncati a numeri interi Valori piccoli di octaves danno una turbolenza pi tenue ed ondulata e vengono calcolati velocemente mentre valori pi alti danno un effetto di turbolenza pi marcato e richiedono un tempo di calcolo pi lungo 7 6 8 6 Lambda Il parametro lambda controlla in maniera statistica quanto diverse sono le direzioni dei passi di calcolo della turbolenza Il valore predefinito di 2 0 abbastanza casuale Valori vicini ad 1 0 modificano molto poco la direzione dei passi successivi che tendono ad essere nella stessa direzione 7 6 8 7 Omeg
241. decimale seguito da zero Se esso espresso solo mediante la parte decimale puoi omettere lo zero POV Ray supporta la comune notazione scientifica per numeri molto grandi o molto piccoli I numeri seguenti sono tutti valori letterali decimali validi 2 0 4 34 3 4e6 2e 5 3 0 6 7 1 3 2 Identificatori Decimali Gli identificatori decimali possono essere dichiarati per rendere pi leggibile un file di scena e per parametrizzare una scena cos che cambiando una singola dichiarazione cambino molti valori Un identificatore dichiarato come segue declare IDENTIFICATORE ESPRESSIONE Dove IDENTIFICATORE il nome dell identificatore e pu essere lungo fino a 40 caratteri ed ESPRESSIONE ogni espressione decimale considerata valida Qui di seguito alcuni esempi declare Count 0 declare Rows 5 3 226 declare Cols 6 15 declare Number Rows Cols declare Count Count 1 Come si vede nell ultimo esempio puoi ri dichiarare un identificatore decimale e puoi riutilizzare valori dichiarati precedentemente Ci sono molti identificatori gia predefiniti che POV Ray dichiara per te Vedi Identificatori Incorporati per dettagli 7 1 3 3 Operatori Decimali Espressioni aritmetiche decimali possono essere create da costanti decimali identificatori o funzioni usando gli operatori seguenti in questo ordine di precedenza a espressioni tra parentesi A A SA pi meno e NOT logico A B A
242. decimali vettori o altri parametri che ne definiscono ulteriormente la posizione e o la forma ed alcuni modificatori facoltativi che influiscono sull oggetto come texture pigmento normali finitura bounding clipping e trasformazioni La texture descrive il materiale da cui l oggetto sembra ricavato Le texture sono il risultato delle combinazioni di pigmenti normali finiture ed halo Pigmento il colore o i motivi di pi colori contenuti nel materiale Le Normali sono un metodo per simulare varie irregolarit della superficie di un oggetto come rigonfiamenti ammaccature increspature oppure ondulazioni tramite perturbazioni del vettore normale alla superficie La Finitura descrive le propriet riflessive e rifrattive di un materiale Halo usato per descrivere l interno dell oggetto e pi precisamente riempiono l oggetto con microscopiche particelle per ottenere effetti speciali come fuoco fumo nebbia o altro ancora Gli oggetti delimitanti bounding shapes sono solidi finiti ed invisibili che racchiudono oggetti complessi entro forme pi semplici per accelerarne il rendering Altri oggetti detti clipping shapes ritagliano parti di un oggetto per renderne visibile l interno Le trasformazioni dicono a POV Ray come muovere ruotare o ridimensionare l oggetto e o le texture nella scena 7 5 1 Oggetti Vuoti e Oggetti Solidi E molto importante capire pienamente il concetto di oggetto vuoto che POV Ray usa per com
243. default con un doppio slash e de commentando la linea che vogliamo provare Facciamo solo un cambiamento per volta per vedere gli effetti sulla scena Due cose finali da sapere quando si usa la messa a fuoco primo non abbiamo bisogno di specificare l anti aliasing con il comando a dato che il metodo di messa fuoco si occupa automaticamente dell antialiasing secondo la messa a fuoco pu venire usata solo per macchine fotografiche di tipo prospettico 4 3 Oggetti Semplici Fino ad ora abbiamo visto solo l oggetto sfera Oltre alla sfera ci sono molti altri tipi di oggetti che possono essere renderizzati da POV Ray I paragrafi seguenti descriveranno come utilizzare alcuni degli oggetti pi semplici come sostitutivi della sfera usata prima 4 3 1 Parallelepipedo Il parallelepipedo uno degli oggetti pi usati Proviamo questo esempio al posto della sfera box lt 1 0 1 gt angolo inferiore sinistro pi vicino lt 1 0 5 3 gt angolo superiore destro pi lontano texture T Stone25 predefinita da stones inc scale 4 ingrandita nello stesso modo in tutte le direzioni rotate y 20 Equivalente a rotate lt 0 20 0 gt 4l Fig 5 Parallelepipedo In questo esempio possiamo vedere che un parallelepipedo una scatola cio box viene definito specificando le coordinate tridimensionali di due suoi vertici opposti Il primo vettore deve essere formato dalle coordinate
244. 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 157 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 4 l cos radians 30 2 color Red l 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 4 10 2 2 Aggiungere il Sole Nell esempio seguente creeremo un cielo con un sole rosso circondato da un alone rosso che sfuma nel blu della notte Otterremo questo
245. della superficie come se queste deformazioni ci fossero 111 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 lt 0 5 0 gt look_at lt 0 10 5 gt light_source lt 0 100 49 5 gt color White il fondo della piscina plane y 10 texture pigment color rgb lt 0 6 0 7 0 7 gt finish ambient 0 1 diffuse 0 7 scale 0 01 e la superficie dell acqua plane y 0 texture pigment rgbf lt 0 6 0 67 0 72 0 9 gt normal bumps 6 scale lt 275 25 253 rotate lt 0 45 0 gt finish cau
246. dentemente dalla distanza Per questo scopo abbiamo bisogno delle luci cilindriche Una sorgente luminosa cilindrica come uno spot con la differenza che raggio e falloff rimangono invariati indipendentemente da quanto lontano dalla luce si trovi l oggetto La forma della luce quindi un cilindro anzich un cono Possiamo specificare una luce cilindrica sostituendo la parola spot light con la parola cylinder Proviamo ora con la nostra scena sostituendo tutte e tre le luci spot con luci cilindriche e renderizzando di nuovo Fig 77 Luce cilindrica Vediamo che la scena molto pi scura Questo avviene perch le luci cilindriche non permettono alla luce di diffondersi lateralmente come le luci spot Abbiamo bisogno di valori maggiori di raggio e falloff per ottenere un risultato migliore Tentiamo un raggio di 20 ed un valore di falloff di 30 per tutte e tre le luci 67 Fig 78 Maggiori valori di raggio e falloff Questa la strada giusta 4 6 5 Luci Diffuse Fino ad ora tutte le nostre luci hanno una cosa in comune Producono ombre nette Questo avviene perch l effettiva sorgente luminosa un punto infinitamente piccolo Gli oggetti si trovano direttamente nella luce nel qual caso sono pienamente illuminati oppure no nel qual caso sono in ombra Nella vita reale questo tipo di illuminazione e di omreggiatura esiste solo nello spazio dove la luce diretta del sole squarcia la totale oscurit dello spazio Ma qui sull
247. destro dell immagine un poco sopra il piano e vediamo l ombra che proietta distribuita nella parte centrale dell immagine Nel centro c un riflesso L area luminosa al centro dell ombra rappresenta la luce che normalmente la rifrazione del vetro di cui la sfera fatta concentrerebbe in quel punto La sola domanda che rimane cos il valore decimale che segue la parola chiave caustics Bene il punto in cui entra in scena il metodo di regolazione dei riflessi Ricordi il bicchiere Se abbiamo un bicchiere con pareti sottili e una base di vetro spesso vediamo il significato di questo parametro nell ombra che il bicchiere proietta In alto essendo le pareti pi sottili e quindi con minore rifrazione i riflessi sono meno pronunciati e pi diffusi nell ombra ma quando arriviamo alla parte di ombra generata dalla base pi spessa e pi rifrangente improvvisamente il riflesso diventa pi pronunciato e pi a fuoco vicino al centro Naturalmente dato che questi sono riflessi simulati non c corrispondenza tra quanto il riflesso a fuoco e la forma la dimensione e le caratteristiche di rifrangenza dell oggetto Ma possiamo controllarla manualmente con il valore decimale che segue la parola chiave caustics Pi questo valore si avvicina a zero pi sfumato e tenue diventa il riflesso Pi si avvicina ad 1 e pi a fuoco e pronunciato diventa l effetto Ad un valore di 1 abbiamo il riflesso dato da un pezzo di cristallo al piomb
248. di fusioni o differenze di intersezioni o anche unioni di intersezioni di differenze di fusioni ad infinitum Gli oggetti CSG sono quasi sempre oggetti finiti che rispondono all auto bounding vedi paragrafo Controllo sul Bounding Automatico e possono essere trasformati come qualunque altra primitiva di POV Ray 4 5 2 Unione Proviamo a fare una semplice unione Creiamo un file di nome esgdemo pov e lo editiamo come segue include colors inc camera location lt 0 1 10 gt look at 0 angle 36 light source lt 500 500 1000 gt White plane y 1 5 pigment checker Green White Aggiungiamo due sfere traslate ciascuna di 0 5 unit sull asse x nelle direzioni positiva e negativa Le coloriamo una di blu e l altra di rosso sphere lt 0 0 O gt 1 pigment Blue translate 0 5 x sphere lt 0 0 O gt 1 pigment Red translate 0 5 x Renderizziamo questo file a 200x150 A Fig 61 Due sfere sovrapposte Ora poniamo un blocco union attorno alle due sfere Questo creer una singola unione CSG dalle due sfere 54 union sphere lt 0 0 O gt 1 pigment Blue translate 0 5 x sphere lt 0 0 O gt 1 pigment Red translate 0 5 x Renderizziamo nuovamente il file Fig 62 L unione di due sfere L unione non apparir diversamente da prima ma ora possiamo assegnare all intera unione una singola texture e trasformarla com
249. di A e B rappresentano espressioni qualsiasi Il risultato dello stesso tipo di A e B C A B se C allora A altrimenti B 227 Assumendo i vari identificatori che sono stati dichiarati i seguenti esempi rappresentano espressioni valide 1 2 3 2 5 1 3 Row 3 Col 5 Offset 5 2 Questo Quello Altro Cosa Questo lt Quello amp Altro gt Cosa Foo Bar Le espressioni sono valutate nel seguente ordine prima con parentesi da sinistra a destra a partire dalle pi interne poi 0 poi prodotti e divisioni poi addizioni e sottrazioni poi espressioni relazionali poi logiche poi condizionali 7 1 4 Espressioni Vettoriali POV Ray spesso richiede di specificare un vettore Un vettore un insieme di valori decimali relazionati I vettori possono essere specificati usando lettere identificatori o funzioni che restituiscono un valore vettoriale Puoi creare anche espressioni vettoriali molto complesse da combinazioni di ognuno di questi usando vari operatori comuni I vettori di POV Ray possono avere da due a cinque componenti ma la maggioranza dei vettori ha tre componenti A meno che tu non abbia specificato altrimenti devi assumere che la parola che rappresenta il vettore abbia tre componenti POV Ray opera in un sistema di coordinate a tre dimensioni XYZ ed user un vettore a tre componenti per specificare i valori di x y e z In alcuni casi POV Ray ha bisogno solo di due coordinate Queste sono specificat
250. di Colore Possiamo fare di pi che assegnare un unico colore ad un oggetto Possiamo creare complessi motivi nel blocco pigment come in questo esempio sphere lt 0 1 2 gt 2 texture pigment wood color map 0 0 color DarkTan 0 9 color DarkBrown 1 0 color VeryDarkBrown turbulence 0 05 scale lt 0 2 0 3 1 gt finish phong 1 at Fig 89 Wood La parola chiave wood specifica un motivo di pigmentazione formato da cerchi concentrici come gli anelli nel legno La parola chiave color map specifica che il colore del legno dovrebbe passare da DarkTan a DarkBrown nel primo 90 della venatura e da DarkBrown a VeryDarkBrown nel restante 10 La parola chiave turbulence agita un po il motivo in modo che le venature non siano cerchi perfetti e la frase scale mette a punto la grandezza del motivo La maggior parte dei pattern sono impostati in modo da fornire un passaggio su una sfera di raggio 1 Un passaggio definito in maniera molto grossolana come una transizione di colore Per esempio una texture legno farebbe un solo anello se applicata senza ridimensionarla ad una sfera di raggio 1 In questo esempio ridimensioniamo il motivo usando il comando scale seguito da un vettore In questo caso lo abbiamo ridimensionato di 0 2 nella direzione delle x 0 3 nella direzione delle y e 1 nella direzione delle z cio rimane inalterato in quella direzione Valori di scale maggiori di 1
251. do la texture silver metal che dichiarata nel file textures inc Ovviamente meglio andare a leggere il file per vedere come la texture stata effettivamente creata Per dare al metallo un aspetto consunto abbiamo aggiunto il pattern di normali dents che crea l illusione che sulla superficie siano stati battuti dei colpi come se la nostra misteriosa scatola di metallo fosse stata maltrattata per un bel po Le macchie di ruggine non sono altro che un pattern granite molto fine che sfuma dal rosso scuro al marrone e raggiunge poi la piena trasparenza nella maggior parte della mappatura del colore E vero probabilmente avremmo potuto inventarci un pattern pi realistico usando delle mappature di pigmenti per raggruppare le macchie di ruggine ma le mappature di pigmenti sono materia di un altro paragrafo del tutorial quindi per adesso accontentiamoci Infine abbiamo aggiunto una terza texture all insieme la texture bozo che gradualmente sfuma da zone scure a zone di grigio medio semitrasparente ed infine a zone del tutto trasparenti nella seconda met della sua mappatura del colore Questo ci d l idea di bruciature fuligginose che ancora di pi tormentano la superficie della nostra scatola di metallo Il risultato finale lascia la superficie della nostra scatola di metallo con un aspetto veramente consunto utilizzando delle texture a strato multiplo per produrre un effetto che nessuna texture semplice avrebbe potuto produrre Fig
252. dro Possiamo anche definire un cilindro come questo cylinder lt 0 1 0 gt centro di un estremit lt 1 2 3 gt centro dell altra estremit 0 5 raggio open elimina le facce piane texture T Stones scale 4 Fig 8 Cilindro 4 3 4 Piano Proviamo uno degli standard della computer grafica il piano a scacchi Aggiungiamo il seguente oggetto alla prima versione del file demo pov quello con la sfera plane lt 0 1 0 gt 1 pigment 43 checker color Red color Blue Fig 9 Piano L oggetto qui definito un piano infinito Il vettore lt 0 1 0 gt la normale alla superficie del piano cio se fossimo in piedi sulla superficie vedremmo questo vettore dirigersi verso l alto Il numero che segue la distanza di cui il piano spostato lungo la normale dall origine In questo caso il piano posto ad y 1 in modo che la sfera centrata a y 1 di raggio 2 sia appoggiata su di esso Notiamo che anche se qui non c una frase texture in effetti c una texture implicita Potremmo accorgerci che scrivere frasi che possono essere annidate come texture pigment pu diventare stancante cos POV Ray ci permette di tralasciare la frase texture in molti casi In generale abbiamo bisogno dei blocchi texture solo quando dobbiamo inserire un identificatore di texture come il precedente T_Stone25 oppure quando dobbiamo costruire texture a strati vedi 4 8 2 4 e 7 6 6 Questo pi
253. e stutieega i bump size 5 0 Prima questo modificatore poteva essere usato solo all interno di una mappatura dei rilievi Ora pu essere usato con ogni normale Bump size usato prevalentemente per sovrascrivere valori 329 definiti in precedenza Per esempio normal My Normal questo un identificatore gi definito bump size 2 0 7 6 2 3 3 Use_Index e Use_Color Di solito la mappatura dei rilievi converte il colore dei pixel nella mappa in scala di grigi con valori compresi nell intervallo 0 0 1 0 e calcola l altezza dei rilievi basandosi su quei valori Se viene specificato use index la mappatura dei rilievi user invece il numero progressivo che i colori hanno nella tavolozza Quindi il colore 0 sar in basso mentre il colore 255 se l immagine ha 256 colori dar 1 rilievi pi alti In questo calcolo non viene preso in considerazione il colore effettivo del pixel Questa opzione disponibile solo su quei formati che si basano sulla tavolozza di colori La parola chiave use color pu essere usata per specificare esplicitamente che si devono invece usare i colori E valida anche la dizione alternativa use colour Questi modificatori possono essere usati esclusivamente all interno di frasi relative a mappature dei rilievi 7 6 3 Finitura Le propriet della finitura finish di una superficie possono influenzare notevolmente il suo aspetto Come si riflette la luce sull oggetto Cosa succede quando la
254. e aspetto della halo Ci significa che uno o due campioni sono appena il minimo necessario per determinare l aspetto della halo Aumentando il numero dei campioni la halo tender rapidamente al suo aspetto reale In breve l aspetto della halo non cambier col tasso di campionamento finch ci sono abbastanza campioni e non si presentano fenomeni di aliasing 4 8 5 6 7 Usare la Turbolenza Come abbiamo notato in uno dei paragrafi precedenti vedi la turbolenza non avr alcun effetto se la applichiamo ad una halo con funzione densit costante Non importa come o dove o di quanto spostiamo i punti della halo dato che la densit costante e quindi non dipende dalla posizione Otterremo quindi lo stesso valore di densit per tutte le posizioni Aumentando il tempo di rendering di quel tanto necessario per il calcolo in questo caso inutile ma lo stesso costoso in termini di tempo della turbolenza N d T Tutte le volte che aggiungiamo turbolenza ad una halo non dobbiamo usare la funzione di densit costante 4 9 Lavorare con Texture Speciali Molte delle colorazioni che abbiamo visto in altri paragrafi facevano uso della frase color map per unire insieme diversi colori In dipendenza da come elenchiamo gli elementi della mappatura del colore possiamo passare con gradualit da un colore all altro o possiamo invece avere una brusca variazione In effetti la mappatura dei colori uno strumento molto potente per personalizzare l
255. e Se un oggetto rosso rgb lt 1 0 0 gt con un valore per il parametro ambient di 0 3 in una situazione normale verr aggiunta una componente di rosso di 0 3 Se attivata la radiosit viene considerato come circondato da un oggetto di colore lt 0 6 0 6 0 6 gt Il colore medio che deriver dopo i calcoli sar immutato Questo colore sar moltiplicato per il valore assegnato al parametro ambient della texture pari a 0 3 dando come risultato il colore lt 0 18 0 18 0 18 gt questo colore molto pi scuro di 0 3 e sar aggiunto al colore definito Tutti i valori risultanti saranno schiariti dell inverso della media dei valori calcolati cosicch non cambi il valore medio di ambient aggiunto Qualche volta sar maggiore di quello specificato maggiore di 0 3 nell esempio e qualche volta minore ma la luminosit dell intera scena non cambier Il valore impostato 3 3 7 8 9 2 2 count Il numero di raggi che sono lanciati quando viene definito un nuovo valore per la radiosit definito dal parametro count Sono appropriati valori intorno a 100 o 150 Pu essere necessario usare valori maggiori per le scene che abbiano contrasti molto elevati tra i livelli di luce o con piccole zone nettamente illuminate preferibile usare questo parametro solo per il rendering finale poich richiede un calcolo piuttosto lungo e laborioso Dal momento che molte scene considerano il valore di ambient impostato dall 1 al 2 dei pixel i vostri
256. e a simulare i diversi climi che si trovano a diverse latitudini 4 8 3 Normali Gli oggetti in POV Ray hanno superfici molto lisce Ci non molto realistico e quindi abbiamo vari modi per disturbare la regolarit della superficie di un oggetto perturbando la normale alla superficie La normale alla superficie il vettore che si trova perpendicolare alla superficie Modificando questo vettore la superficie pu essere resa irregolare grinzosa od ancora in uno dei molti motivi disponibili Proviamone un paio 4 8 3 1 Modificatori di Normali Commentiamo il nostro pianetino per ora e in fondo al file creiamo una nuova sfera con un pigmento semplice ad un colore solo sphere lt 0 0 0 gt 1 pigment Gray75 normal bumps 1 scale 2 Qui abbiamo aggiunto un blocco normal in aggiunta al blocco di istruzioni pigment Nota che non c bisogno di racchiuderli in una frase texture ameno che non debbano essere trasformati insieme o andare a far parte di una texture stratificata Renderizziamo questo esempio per vedere cosa ne esce 92 Fig 113 Bumps Ora uno alla volta sostituiamo a bumps le seguenti parole chiave dents Fig 114 Dents wrinkles Fig 115 Wrinkles ripples 93 Fig 116 Ripples e waves Fig 117 Waves possiamo anche usare tutti i pattern elencati in Pattern Renderizziamo ognuno dei campioni per vedere cosa si ottiene Sperimentiamo diversi valori del numero dec
257. e z e ruotiamolo in direzione y in modo da poterne vedere di pi Notiamo anche che pare esserci un vuoto nel punto dove i mezzi tori si incontrano Questo dovuto al fatto che stiamo osservando la scena giacendo sul piano x z Cambieremo la coordinata y della macchina fotografica da 0 a 0 1 in modo da eliminare questo inconveniente union object Halt Torus object Half Torus rotate Flip It Over translate x Torus Translate object Half Torus translate Torus Translate 2 object Half Torus rotate Flip FL Over 48 translate x Torus Translate 3 object Half Torus rotate Flip It Over translate x Torus_ Translate object Half Torus translate x Torus Translate 2 object Half Torus rotate Flip Lt Over translate x Torus Translate 3 object Half Torus translate x Torus Translate 4 rotate y 45 translate z 20 Fig 57 Serpente formato da mezzi tori Renderizzando questa scena vediamo qualcosa di ondulante serpentiforme o qualcosa del genere Carino Ma vogliamo fare qualcosa di utile qualcosa che possiamo vedere nella vita reale Che ne diresti di una catena Pensandoci un momento ci accorgiamo che un singolo anello di una catena pu essere facilmente realizzato usando due mezzi tori e due cilindri per unire le due met Creiamo un nuovo file ed usiamo le stesse impostazioni di macchina fotografica sfondo sorgenti luminose e oggetti dichiarati che abbiamo usa
258. e 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 finclude colors inc camera location lt 0 1 4 gt look at lt 0 2 0 gt angle 80 156 light source lt 10 10 10 gt White sphere 2 y 1 pigment color rgb lt 1 1 1 gt finish ambient 0 2 diffuse 0 reflection 0 6 sky_sphere pigment gradient y color map 0 color Red 1 color Blue scale 2 translate 1 Fig 174 Usare i gradienti 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 1 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
259. e cos diverse che non possiamo nemmeno iniziare ad elencarle tutte Se l argomento ti interessa e sei portato per la matematica un ottimo libro di riferimento per curve e superfici dove troverai altre formule di quartiche il seguente The CRC Handbook of Mathematical Curves and Surfaces David von Seggern CRC Press 1990 7 5 4 3 Quadrica le superficie quadriche possono creare oggetti come ellissoidi sfere coni cilindri paraboloidi per esempio specchi parabolici e iperboloidi forme a sella o clessidre Non confondete le quartiche con quadriche Una quadrica una polinomiale di secondo grado mentre una quartica di quarto grado Le quadriche assicurano una maggiore velocit di rendering e incorrono in meno errori Una quadrica definita cos 291 quadric lt A B C gt lt D E F gt lt G H I gt J dove le lettere da A a J rappresentano i valori che definiscono i punti x y e z che formano la superficie Questi punti rispondono all equazione A Rozk Be yer sb iC ZZZ Dixy 0 E XZ r E Yz F Gx Hy 1z J 0 Valori diversi di A B C daranno oggetti diversi Se prendi un qualunque punto x y e z e usi le sue coordinate in questa equazione il risultato sar uguale a zero se il punto appartiene alla superficie dell oggetto negativo se si trova dentro all oggetto e positivi se si trova fuori Ecco alcuni esempi X 2 Y 2 Z 2 1 0 Sfera X 2 Y 2 1 0 Cilindro infinito lungo l as
260. e cos facendo verr rallentato il tempo di esecuzione del file Se un unione viene manualmente suddivisa si suppone che veramente si voglia fare questa operazione quindi non viene rimossa tale divisione Se vuoi togliere la suddivisione manuale dalle unioni devi specificare Split Unions ono usare SU Il valore di default Split Unions off 6 2 4 Uscita al Sistema Operativo Pre Scene Command s imposta il commando prima dell intera scena Pre Frame Command s imposta il comando prima di ogni fotogramma Post Scene Command s Imposta i comandi dopo l intera scena Post Frame Command s imposta il comando dopo ogni fotogramma User Abort Command s imposta il comando quando viene interrotto POV Ray Fatal Error Command s imposta il comando quando POV Ray ha un errore fatale Per questa opzione non sono disponibili i parametri e non possono essere usati dalla linea di comando Possono solo essere usati da file ini POV Ray d la possibilit di uscire al sistema operativo in determinati punti chiave per eseguire un 203 altro programma o un file batch Solitamente questo usato per gestire file creati dal loop interno delle animazioni e comunque questi comandi sono utilizzabili per ogni scena Il comando una singola linea di testo che viene passata al sistema operativo per eseguire un programma Per esempio Post Scene Command tga2gif d m myfile user l utilit tga2gif con D e M per convertire myfile tga a myfile g
261. e e variance controllano la funzione di ottimizzazione Il valore di confidence usato per determinare quando i campioni sono essere sufficientemente vicini al colore giusto Il valore di variance specifica una tolleranza accettabile sulla variazione dei campioni presi fino a quel punto In altre parole il processo di invio dei raggi viene terminato quando il valore del colore valutato molto probabilmente come stimato dal valore confidence vicino al vero valore del colore Dato che il valore di confidence ottenuto da un calcolo delle probabilit esso pu variare da 0 a 1 il valore predefinito 0 9 ovvero il 90 Il valore di variance dovrebbe trovarsi nel raggio della minima differenza di colore distinguibile il valore predefinito 1 128 Un alto valore di confidence porter ad un maggior numero di campioni tempi di rendering pi lunghi ed immagini migliori Lo stesso vale per bassi valori di variance Le condizioni predefinite non prevedono l uso della messa a fuoco l apertura focale posta a 0 e il numero di campioni 0 7 4 3 Perturbazione dei Raggi La parola chiave opzionale normal pu essere usata per assegnare un pattern di normali alla macchina fotografica Usando questo pattern tutti i raggi subiranno una perturbazione Questo ti consente di creare effetti speciali Vedi la scena animata camera2 pov come esempio 7 4 4 Posizionare la Macchina Fotografica Nelle seguenti sezioni ci occuperemo di come posizion
262. e il raggio la met del diametro di una sfera la nostra sfera ha un diametro di quattro unit 4 1 5 Aggiungere una Texture ad un Oggetto Dopo avere definito posizione e dimensioni della sfera dobbiamo descrivere come appare la sua superficie Ci descritto dal blocco di istruzioni texture I blocchi texture descrivono il colore la ruvidezza e la finitura di un oggetto In questo esempio specificheremo solo il colore Questo il minimo che dobbiamo fare Tutte le altre opzioni eccetto il colore utilizzeranno valori predefiniti Il colore che definiamo il modo in cui vogliamo che un oggetto appaia se illuminato Se stessimo dipingendo un quadro che rappresenta una sfera utilizzeremmo toni scuri di un colore per indicare la parte in ombra e toni chiari dello stesso colore per indicare la parte illuminata Comunque il raytracing si preoccupa di questo Noi scegliamo il colore base per l oggetto e POV Ray lo schiarisce o scurisce in dipendenza dall illuminazione della scena Dato che stiamo definendo il colore base dell oggetto pi che il suo aspetto il parametro si chiama pigment Molti tipi di colore sono disponibili per essere utilizzati in una frase pigment La parola color specifica che l intero oggetto in un unico colore invece che essere coperto con un qualche motivo decorativo in pi colori Possiamo utilizzare gli identificatori di colore precedentemente definiti nel file colors inc Se non c un colore standard che s
263. e la scena pi credibile Un valore di 0 6 significa che la luce ambiente risultante viene composta per il 60 dei toni di grigio equivalenti ai colori calcolati e per il restante 40 dai colori effettivamente calcolati Impostata a 0 questa funzione non ha effetto mentre al 100 si ottengono luci ambiente bianche e grigie senza tonalit di colore E da notare che non viene modificata la luminosit della luce ambiente ma solo la saturazione del colore Il valore predefinito 0 5 7 8 9 2 6 low_error_factor Se si calcola solo il numero necessario di campioni ma non di pi si otterr un immagine dall illuminazione leggermente chiazzata Ci che si desidera che sia leggermente pi diffusa in modo che le sfumature siano graduali e di bell aspetto La soluzione a questo problema l anteprima a mosaico prima passa una o pi volte l immagine calcolando i valori di radiosity Per assicurarsi di averne un numero leggermente superiore al necessario l algoritmo di radiosity abbassa il valore di error bound durante i passaggi preliminari per poi riportarlo al valore corretto subito prima del rendering vero e proprio Il parametro 10w error factor imposta un fattore per il quale error bound viene moltiplicato durante i passaggi preliminari Ad esempio se error bound 0 4e low error factor 0 8 il programma user un valore effettivo di 0 32 per i passaggi preliminari e di 0 4 per il rendering finale Il valore predefinito 0 8
264. e molte volte all interno di una scena Le successive dichiarazioni default iniziano da quelle che avevano effetto fino a quel momento Se ad un certo punto desideri riprendere le dichiarazioni predefinite di POV Ray dovresti prima salvarle in questo modo All inizio del file declare Original Default texture successivamente dopo aver cambiato le impostazioni predefinite puoi ripristinarle con default texture Original Default Se non specifichi una texture per un oggetto allora la texture predefinita verr assegnata ad esso quando compare nella scena Non verr assegnata quando l oggetto solo dichiarato Per esempio declare My Object sphere lt 0 0 0 gt 1 non c texture predefinita object My Object la texture predefinita viene assegnata qui Puoi forzare POV Ray ad utilizzare una texture predefinita aggiungendo una dichiarazione di texture vuota come segue declare My Thing sphere lt 0 0 0 gt 1 texture Texture predefinita applicata Le condizioni originali predefinite di POV Ray per ogni voce sono fornite nella documentazione in ogni appropriato paragrafo 7 2 4 Istruzioni di Versione Sebbene siano stati introdotti molti cambiamenti nel linguaggio di descrizione della scena in POV Ray 3 0 tutta la sintassi relativa alla versione 2 0 e la maggior parte di quella della versione 1 0 funzionano ancora Ogni qual volta sia possibile cerchiamo di mantenere la compa
265. e poste e delle relative risposte prese direttamente dai messaggi apparsi sul forum POVRAY di CompuServe e sul newsgroup comp graphics rendering raytracing Questa raccolta rivolta soprattutto agli utenti della versione di POV Ray per PC IBM e compatibili Speriamo che versioni future eliminino questa tendenza ma al momento questo il pubblico pi vasto Appendice G 1 Domande Generali Appendice G 2 Domande sulle Opzioni di POV Ray Domanda Come posso impostare l anteprima a mosaico in modo che passi da 8x8 al rendering finale senza passare da 4x4 e 2x2 Risposta Usa il parametro SPn o l opzione Preview Start Size per impostare la risoluzione iniziale e Epn o Preview End Size per impostare la risoluzione finale Con SP8 e EP8 passr da 8x8 in un solo passaggio al rendering definitivo ad 1x1 D Conviene usare il parametro MB in scene molto piccole cio con un piccolo numero di oggetti R Dipende dal numero e dal tipo di oggetti Normalmente non disturba usare sempre la gerarchia di bounding MB0 Se per hai uno o due oggetti pu essere meglio non usarlo D Il parametro MB influisce sulla qualit dell immagine 405 R No influisce solo sulla velocit del rendering D Come posso evitare che la schermata di testo scorra quando ricevo dei messaggi di errore R Usa il parametro P Tutte le volte che POV Ray viene interrotto o che il rendering finisce puoi usare i tasti cursore per rileggere il t
266. e questa posizione necessario traslare ruotare ridimensionare la texture in modo da mapparla attorno all oggetto nel modo desiderato Nella sezione Checker Scacchiera viene spiegato questo tipo di pigmento ed descritto come un insieme di cubi di due colori diversi disposti in maniera alternata dai quali gli oggetti sono intagliati Con l image map la stessa cosa dovresti immaginare che ogni punto sia una bacchetta quadrata lunga e sottile che si estende parallelamente all asse z L immagine costituita da righe e colonne di queste bacchette legate insieme in un blocco e l oggetto viene intagliato dal blocco Se si vuole cambiare questa posizione necessario traslare ruotare ridimensionare la texture in modo da mapparla attorno all oggetto nel modo desiderato 7 6 1 5 2 L Opzione Map_Type La proiezione dell immagine sul piano x y chiamata mappatura di tipo planare Questa opzione pu essere cambiata aggiungendo la parola chiave map_type seguita da un numero che specifica il modo di mappatura map type 0 da la mappatura predefinita e quindi planare gi ampiamente descritta map type 1 da una mappatura sferica Assume che l oggetto sia una sfera di qualunque dimensione posta nell origine L asse y rappresenta il polo sud e nord della sfera La cima e il fondo dell immagine toccano i due poli senza tenere conto delle dimensioni precedenti dell immagine La 317 parte destra dell immagine inizia dal lato dell asse
267. e spesso da un vettore 2D chiamato vettore UV Gli oggetti frattali usano vettori 4D Espressioni del colore usano vettori 5D ma ti permettono di specificare 3 4 o 5 componenti e di tralasciare i valori di default per i componenti non specificati Matematicamente i vettori con 2 4 o 5 componenti sono trattati nello stesso modo dei vettori 3D Solo hanno un numero diverso di componenti 7 1 4 1 Costanti Vettoriali I vettori consistono di due tre quattro o cinque espressioni messe fra parentesi angolari lt e gt I termini sono separati da virgole Nell esempio qui riportato c un tipico vettore a tre componenti lt lt L0 dip Did 56 Le virgole tra le componenti sono necessarie per evitare che il programma consideri il secondo termine come l espressione decimale 3 2 5 4578 e che non esiste il 3 termine Se vedi un messaggio di errore che segnala la mancanza di un valore decimale avendo invece trovato gt probabilmente hai omesso una virgola Qualche volta POV Ray richiede di specificare valori decimali e vettori affiancati Le regole per espressioni vettoriali permettono di unire vettori con vettori o vettori con valori decimali cos sono richieste virgole di separazione ogni qualvolta potrebbe sorgere ambiguit Per esempio lt 1 2 3 gt 4 valutato come un valore decimale unito ad un espressione di vettore dove 4 sottratto da ciascuno dei componenti e quindi ha come conseguenza lt 3 2 1 gt La virgola in lt 1 2 3
268. e un oggetto che galleggia nello spazio Quest oggetto riempito da un campo che ha il suo massimo al centro dell oggetto e che decade a zero sulla superficie La forza del campo di tutte le componenti viene sommata per formare il campo complessivo del blob POV Ray cerca i punti dove il campo ha un valore predefinito cio quello del valore di soglia detto threshold Tutti questi punti formeranno la superficie dell oggetto Punti con un valore della forza maggiore del valore di soglia sono all interno dell oggetto mentre i punti con un valore di forza minore di quello di soglia si trovano all esterno C un modo pi semplice di immaginarsi 1 blob Si possono considerare come unioni di componenti flessibili che si attraggono o si respingono l un l altro La superficie dei componenti si estende gradualmente fino a congiungerli come se fossero fatti di miele o di una qualche sostanza vischiosa Un blob costituito da componenti sferiche e cilindriche ed definito come segue blob threshold VALORE DI SOGLIA cylinder lt ESTREMITA 1 gt lt ESTREMITA 2 gt RAGGIO strength FORZA sphere lt CENTRO gt RAGGIO strength FORZA component FORZA RAGGIO lt CENTRO gt hierarchy on off sturm La parola chiave threshold determina il valore totale della forza del campo ricercato da POV Ray Seguendo il raggio di luce nello spazio ed osservando come questo influenzato da ogni componente POV R
269. e un unico oggetto Proviamo union sphere lt 0 0 O gt 1 translate 0 5 x sphere lt 0 0 O gt 1 translate 0 5 x pigment Red scale lt 1 25 1 gt rotate lt 30 0 45 gt Renderizziamo nuovamente il file 55 Fig 63 Applicare le trasformazioni all unione Come possiamo vedere l oggetto estremamente diverso Sperimentiamo diversi valori di scale e rotate e proviamo qualche texture diversa Ci sono molti vantaggi nell assegnare un unica texture ad un oggetto CSG invece che assegnare la texture ad ogni componente individuale Per prima cosa molto pi semplice usare una sola texture se l oggetto ha un gran numero di componenti perch se vogliamo cambiare il suo aspetto ci basta modificare una sola frase texture Secondo il file viene analizzato pi velocemente dal programma dato che la texture viene messa in memoria una volta sola e richiamata dalle componenti dell oggetto Assegnare la stessa texture a tutte le n componenti di un oggetto CSG significa metterla in memoria n volte 4 5 3 Intersezione Adesso usiamo le stesse sfere di prima per illustarre il secondo tipo di oggetti CSG l intersezione Cambiamo la parola union in intersection e cancelliamo le frasi scale e rotate intersection sphere lt 0 0 O gt 1 translate 0 5 x sphere lt 0 0 O gt 1 translate 0 5 x pigment Red Renderizziamo il file 56 Fig 64 Intersezione di due sfere
270. e varie colorazioni e richiede un po di esercizio per usarlo correttamente E fin qui tutto bene se ci basta utilizzare colori singoli Ma se volessimo unire in motivi complessi interi pigmenti o normali od intere texture A partire da POV Ray 3 possiamo Per potere sperimentare alcune delle nuove opzioni impostiamo un semplice file nel quale inseriremo pi tardi le texture di esempio Per cominciare mettiamoci i file include standard una macchina fotografica ed una sorgente luminosa include colors inc include textures inc camera orthographic up lt 0 5 0 gt right lt 5 0 0 gt location lt 0 0 25 gt look at lt 0 0 0 gt light source lt 100 100 100 gt color White DA QUI IN POI INSERIRE GLI OGGETTI RICHIESTI DA OGNI PARAGRAFO DEI 135 TUTORIAL SUCCESSIVI a 4 9 1 Mappatura di Pigmenti Per iniziare con qualcosa di semplice prendiamo in esame la mappatura di pigmenti o pigment_ map Non dobbiamo confonderla con una mappatura di colore poich la mappatura di colore pu comprendere elementi composti da singoli colori mentre la mappatura di pigmenti pu usare interi pigmenti Per abituarci ad esse iniziamo inserendo nella scena un semplice piano con una mappatura di pigmenti elementare Nel seguente esempio dichiareremo ognuno dei pigmenti che andremo ad usare prima di utilizzarlo Ci non strettamente necessario dato che per ogni elemento della mappatura potr
271. ebbe il solo valore necessario Esso significa semplicemente la frazione di errore tollerata Per esempio se fosse impostato ad 1 l algoritmo non calcolerebbe un nuovo valore fino a che l errore sul precedente non avesse raggiunto il 100 Ignorando per il momento l errore introdotto dalla rotazione sulle superfici piatte esso uguale ad una frazione della distanza di riutilizzo che a sua volta la distanza dall oggetto colpito pi vicino Se hai un precedente campione sul pavimento a 10 pollici dal muro un valore di error bound di 0 5 genererebbe un nuovo campione a 5 pollici dal muro Il valore 0 5 abbastanza sbrigativo 0 33 valido per rendering finali Valori molto inferiori a 0 33 causano dei rendering eterni Il valore predefinito 0 4 7 8 9 2 5 gray_threshold La luce causata dalla riflessione interdiffusa in un punto una funzione degli oggetti che si trovano attorno ad esso Dato che questa funzione definita ricorsivamente fino a milioni di livelli di ricursione in ogni scena reale ogni oggetto illuminato almeno in parte da ogni altro oggetto della scena Poich non possiamo permetterci di calcolare questo effetto facciamo un passaggio solo e quindi la luce ambiente calcolata per un oggetto molto influenzata dai colori degli oggetti vicini Questo effetto avviene realmente ma non cos tanto come questo metodo di calcolo potrebbe far credere La variabile gray threshold ingrigisce un poco l effetto per render
272. ecedente il nome del file della scena myfile Questo nome usato per creare un nome predefinito del file di output Se viene usato come nome del file di input si user l input standard In questo modo si pu redirigere una scena creata da un altro programma a POV Ray e renderizzarla senza creare un file di input Sotto MS DOS si pu provare questa funzione scrivendo type UNASCENA POV povray 1 6 2 3 2 Percorsi delle Librerie Library Path path aggiunge un nuovo percorso alla lista dei percorsi Lpath Lo stesso di Library Path path POV Ray cerca i file nella directory attiva Se non li trova legge nella lista dei percorsi ogni altra directory che puoi specificare POV Ray non cerca i percorsi definiti dal sistema operativo Cerca solo nella directory attiva e in quelle che vengono specificate con questa opzione Per esempio 1 file include standard sono contenuti in una specifica directory Puoi dire a POV Ray di cercarli l con Library Path c povray3 include non si deve specificare nessuna barra o alla fine del percorso La specificazione di molti percorsi non sovrascrive i precedenti che rimangono tutti validi Possono essere specificati fino a dieci percorsi Se si specifica lo stesso percorso due volte questo conter per uno POV Ray cercher per primo nella directory attiva e in seguito in quelle specificate nell ordine in cui sono state specificate 6 2 3 3 Versione del Linguaggio permette la piena compat
273. eclare Colori dell Arcobaleno color map 0 0 color Magenta 0 33 color Yellow 0 67 color Cyan 1 0 color Magenta object Coso pigment gradient x color map Colori dell Arcobaleno 7 6 1 4 Mappe di Pigmento Oltre a poter definire color map si possono definire anche pigment map La sintassi per questo di comando la stessa che per color map con l eccezione che si specifica un pigmento e non un colore La sintassi specifica per la pigment map pigment TIPO DI MOTIVO pigment map NUMERO 1 PIGMENT BODY 1 NUMERO 2 PIGMENT BODY 2 NUMERO 3 PIGMENT BODY 3 MODIFICATORI DEL PIGMENTO Dove NUMERO 1 NUMERO 2 sono numeri decimali compresi tra 0 0 e 1 0 questi inclusi Il 315 PIGMENT_BODY costituito da tutto ci che normalmente sarebbe incluso nella sintassi di un pigment ma in questo caso non necessaria la parola chiave pigment e non sono necessarie neanche le parentesi graffe E da notare che le parentesi quadre sono parte integrante del comando Non denotano in questo caso parti di comando facoltative Le parentesi circondano ogni nuovo fattore che viene aggiunto alla pigment map Si possono avere da 2 a 256 fattori Per esempio sphere A Magee 2 pigment gradient x questo il TIPO DI MOTIVO pigment map 0 3 wood scale 0 2 0 3 Jade questo un identificatore di pigmento 0 6 Jade 0 9 marble turbulence 1
274. eclare Font Name ariel ttf declare Ring torus 5 1 declare Checks pigment checker White Cyan object Rod scale y 5 non cylinder Rod object Ring pigment Checks scale 0 5 241 transform Skew Le dichiarazioni come la maggior parte delle istruzioni del linguaggio possono apparire ovunque nel file anche al centro di altre frasi Per esempio declare Qui lt 1 2 3 gt declare Conta 0 inizio Conta union object Rod translate Here Count declare Count Count 1 ridichiarazione dentro union object Rod translate Here Count declare Count Count l ridichiarazione dentro union object Rod translate Here Count Come questo esempio mostra puoi ri dichiarare un identificatore e puoi usare valori gi dichiarati in quella ri dichiarazione Comunque se tenti di ri dichiarare un identificatore diverso da ci a cui fa riferimento verr generato un messaggio di avvertimento Le dichiarazioni possono essere annidate una dentro l altra senza limiti Nell esempio della sezione precedente potresti dichiarare l intera unione come un oggetto Comunque per ragioni tecniche non puoi usare alcuna istruzione del linguaggio all interno di dichiarazioni che facciano riferimento a valori decimali vettoriali o espressioni del colore 7 2 3 Istruzione Predefinita POV Ray crea una texture predefinita quando inizia l elaborazione Puoi cambiare quelle
275. eculare l effetto che fa s che gli oggetti lucidi abbiano dei riflessi pi chiari Riflessione l effetto specchio Luce Ambiente il livello complessivo di luce che ha la scena e che impedisce alle zone in ombra di essere totalmente oscurate Il sistema di calcolo radiosity di POV Ray basato su un metodo di Greg Ward fornisce la via per sostituire l ultimo di questi termini la luce ambiente costante con un illuminazione basata su quali superfici sono vicine ad un oggetto e quanto sono illuminate La prima cosa che si dovrebbe notare riguardo a questa definizione che essa circolare l illuminazione di ogni oggetto dipende da tutti gli altri e viceversa Ci vero nel mondo reale ma nel raytracing possiamo e dobbiamo accontentarci di un approssimazione L approssimazione che viene usata gli oggetti che osservi hanno il loro valore di luce ambiente che viene calcolato sulla base dell ambiente circostante ma durante i calcoli viene usata l illuminazione ambiente costante Come fa POV Ray a calcolare il termine corrispondente alla luce ambiente per ogni punto Lanciando raggi supplementari in direzioni diverse e facendo una media dei risultati Un punto normalmente pu utilizzare 200 o pi raggi per ritornare un valore corretto di luce ambiente Questo fa pensare che il rendering sarebbe 200 volte pi lento ed vero tranne che per il fatto che il software si avvantaggia del cambiamento molto graduale dei valori della luce
276. ed by Comunque si possono presentare problemi in intersezioni differenze e fusioni merge In questi tre tipi di oggetti CSG il bounding automatico coprir interamente tutti i loro componenti Comunque il risultato di queste intersezioni potr essere un oggetto pi piccolo Confronta le dimensioni per l unione e l intersezione nelle illustrazioni della sezione precedente E possibile disegnare un parallelepipedo pi piccolo intorno all intersezione di A e B rispetto a quello della loro unione ma gli oggetti che delimitano A e B saranno comunque grandi come l unione di A e B a prescindere dal tipo di operazione CSG specificata E quasi sempre una buona idea aggiungere manualmente il comando bounded by a intersezioni differenze e merge ed spesso meglio non applicare il bounding all unione Se l unione non ha componenti del bounding o del clipping POV Ray pu separare i componenti dell unione ed applicare il bounding automatico a ciascuno dei componenti finiti Si deve notare che alcune utility come raw2pov possono generare il bounding con maggiore efficienza di POV Ray Comunque si pu applicare il bounding automatico alla maggior parte delle unioni che possono essere create Per ragioni tecniche POV Ray non pu suddividere un oggetto merge nei suoi componenti E probabilmente meglio applicare il bounding manualmente soprattutto se l oggetto molto complesso E da notare che se l oggetto delimitante troppo piccolo o in una posizione sb
277. eformare un oggetto lungo l asse y object MioOggetto matrix lt ly Ip 0 OF Lg 07 Op On ky 0 0 0 gt 7 3 2 Ordine delle Trasformazioni Poich le rotazioni sono sempre relative agli assi e il ridimensionamento relativo all origine del sistema di riferimento in generale si creano gli oggetti nell origine poi si scalano e ruotano Infine si traslano nella posizione opportuna E un errore comune quello di posizionare correttamente un oggetto e poi decidere di ruotarlo ci comporter una rotazione dell oggetto intorno ad un asse e la sua posizione potrebbe cambiare a tal punto da farlo uscire fuori dal campo visivo Allo stesso modo ridimensionare un oggetto dopo una traslazione pu comportare uno spostamento inaspettato dell oggetto medesimo Se operi il ridimensionamento prima della traslazione il cambio di scala moltiplicher il valore della traslazione stessa Per esempio translate lt 5 6 7 gt scale 4 Trasler l oggetto della trasformazione a lt 20 24 28 gt invece che a lt 5 6 7 gt Poni attenzione all ordine corretto quando operi le trasformazioni 7 3 3 Identificatori di Trasformazione A volte utile combinare insieme molte trasformazioni ed applicarle in diverse circostanze Un identificatore di trasformazione pu essere usato a tale scopo Gli identificatori di trasformazione sono dichiarati nel modo seguente declare IDENTIFICATORE transform TRASFORMAZIONE 251
278. egative verso l origine Naturalmente questa non una regola ma all inizio mantiene le cose semplici Per un illuminazione semplice posiziona una sorgente luminosa vicino all origine Gli oggetti sembreranno piatti ma almeno saranno visibili Da l la luce pu essere spostata in una posizione migliore Appendice F 2 Suggerimenti per la Correzione delle Scene Per vedere velocemente la tua immagine renderizzala molto piccola Con meno punti da calcolare il programma pu finire pi velocemente Una dimensione di 160x100 buona Usa il parametro q quando utile Se c una particolare area della scena che devi controllare ad alta risoluzione magari con anti aliasing ad esempio una texture legno molto fine usa i parametri sc tec sr er per isolare e renderizzare un riquadro Se la tua immagine contiene molte riflessioni reciproche imposta max trace level ad un valore come 1 o 2 Non dimenticare di riportarlo al valore normale quando passi al rendering definitivo Elimina le luci non necessarie Commenta tutte le luci estese quando non sono necessarie per la correzione della scena Di nuovo non dimenticare di rimetterle a posto prima di andare a letto con il rendering definitivo in esecuzione Se sei incorso in un errore che non riesci a vedere il momento di iniziare a commentare il file Usa i caratteri per eliminare la maggior parte della scena e renderizza di nuovo Se non ci sono pi error
279. eguenti paragrafi si possono applicare ai tipi di mappatura elencati sopra 7 6 8 9 1 L Opzione ONCE Normalmente applicando una mappatura si creano infinite copie dell immagine quadrate di lato unitario che ricoprono l intero piano x y come piastrelle Aggiungendo la parola chiave once dopo il nome del file puoi eliminare tutte le copie della mappa tranne quella che si trova nel riquadro che va da 0 0 a 1 1 In mappature di immagini le zone al di fuori di questo riquadro sono completamente trasparenti Nelle mappature di normali alle aree esterne non sono applicate 371 normali Nelle mappature di materiali alle aree esterne applicata la prima texture della lista Per esempio image map gif mypic gif once 7 6 8 9 2 L Opzione MAP_TYPE A meno che non si specifichi in modo diverso l immagine sar proiettata sul piano x y con un metodo che detto mappatura planare Questa opzione pu essere modificata aggiungendo la parola chiave map_ type seguita da un numero che specifica il metodo con il quale l immagine circonder l oggetto map type 0 d la mappatura predefinita e quindi planare gi ampiamente descritta map type 1 d una mappatura sferica Assume che l oggetto sia una sfera di qualunque dimensione posta nell origine L asse y unisce i poli sud e nord della sfera La cima e il fondo dell immagine toccano i due poli senza tenere conto delle dimensioni precedenti dell immagine La parte sinistra dell
280. el file di input Senza il parametro POV Ray crede che il file simple pov sia un file ini Non dimenticate Se nessun pi o meno precede un parametro della linea di comando quel parametro viene considerato come una specificazione di file ini Nella riga di comando possono essere presenti pi file ini e anche parametri Per esempio POVRAY MYOPTS V OTHER Questa linea di comando legge le impostazioni dal file myopts ini imposta il parametro V e legge le impostazioni dal file other ini Un file ini un normale file di testo ASCII con opzioni specificate in una sintassi del tipo Parola dell opzione VALORE Il testo dopo il punto e virgola un commento per esempio il file ini equivalente al parametro Isimple pov Input File Name simple pov Le opzioni sono lette nel file dall alto verso il basso ma possono essere specificate in qualsiasi ordine Se si specifica pi di una volta la stessa opzione il valore della precedente generalmente sovrascritto dall ultima L unica eccezione l opzione Library Path percorso Si possono specificare fino a dieci percorsi path Quasi tutte le opzioni dei file ini hanno un equivalente nei parametri della linea di comando La sezione Guida di Riferimento alle Opzioni di POV Ray d una dettagliata descrizione di tutte le opzioni di POV Ray incluse sia quelle dei file ini che quelle dei parametri Le parole chiave dei file ini non sono sensibili alle maiuscole E
281. ella nebbia o nella polvere che riempie l aria Il modello di atmosfera usato in POV Ray assume una distribuzione costante delle particelle ovunque tranne che all interno degli oggetti Se vuoi creare nuvole simili a nebbia o fumo dovrai usare la funzione Halo descritta nel paragrafo Aloni 4 10 4 1 Iniziare con una Stanza Vuota Vogliamo creare una semplice scena per spiegare come funziona la funzione atmosfera e come ottenere i migliori risultati Immagina una stanza con una finestra La luce passa attraverso la finestra e viene dispersa dalle particelle di luce nell aria Vedrai quindi raggi di luce che provengono dalla finestra e illuminano il pavimento Vogliamo modellare questa scena passo dopo passo Il seguente esempio inizia dalla stanza la finestra ed una luce in qualche punto all esterno Per adesso non c l atmosfera che permette di verificare se l illuminazione corretta vedi atmos1 pov camera location lt 10 8 19 gt look at lt 0 5 0 gt angle 75 background color rgb lt 0 2 0 4 0 8 gt light source lt 0 19 0 gt color rgb 0 5 atmosphere off light_source lt 40 25 0 gt color rgb lt 1 1 1 gt spotlight point at lt 0 5 0 gt radius 20 falloff 20 atmospheric attenuation on union difference box lt 21 1 21 gt lt 21 21 21 gt box lt 20 0 20 gt lt 20 20 20 gt box lt 19 9 5 3 gt lt 21 1 15 3 gt box
282. ella macchina fotografica usando il vettore sky Per esempio camera location lt 3 5 10 gt sky lt 1 1 0 gt look at lt 0 2 1 gt Questa frase permette a POV Ray di ruotare lateralmente la macchina fotografica fino a che il suo lato superiore non perpendicolare al vettore sky Immagina che questo vettore sia un antenna che punta fuori dalla cima della macchina fotografica Quindi POV Ray usa il vettore sky come asse di rotazione e come asse rispetto al quale inclinarsi fino a raggiungere l allineamento con il vettore sky In effetti tu stai dicendo a POV Ray di assumere che il cielo non direttamente sopra la camera fotografica da notare che il vettore sky cielo deve apparire prima del vettore look at Il vettore sky non ha effetto da solo Modifica solamente il modo con cui il vettore look at orienta la macchina fotografica il valore di default per sky lt 0 1 0 gt che orienta la macchina fotografica in maniera parallela al suolo 7 4 4 3 Il Vettore Direzione Il vettore direzione parola chiave direction dice a POV Ray la direzione iniziale lungo la quale puntare la macchina fotografica prima di muoverla con la parola chiave look at o con il vettore rotate il valore di default direction lt 0 0 1 gt Pu anche essere usato per controllare l ampiezza orizzontale della visuale in alcuni tipi di proiezione Dovrebbe tuttavia essere pi semplice usare la parola chiave angle Se stai usando un obiet
283. elle texture stratificate Iniziamo per prima cosa a piazzare una macchina fotografica delle luci ed il primo parallelepipedo A questo stadio la texture semplicemente non stratificata vedi layered1 pov include colors inc camera location lt 0 0 6 gt look at lt 0 0 0 gt light_source lt 20 30 100 gt color White light_source lt 10 30 10 gt color White light_source lt 0 30 10 gt color White declare PLAIN TEXTURE scacchi bianchi e rossi texture pigment checker color rgb lt 1 000 0 000 0 000 gt color rgb lt 1 000 1 000 1 000 gt scale lt 0 2500 0 2500 0 2500 gt 146 parallelepipedo a scacchi bianchi e rossi box lt 1 1 1 gt lt 1 1 1 gt texture PLAIN TEXTURE translate lt 1 5 1 2 0 gt Renderizziamo questa scena Fig 165 Primo campione Non particolarmente interessante vero Questo il motivo per cui useremo delle texture stratificate Per prima cosa aggiungiamo uno strato di due grigi diversi parzialmente trasparenti e li disponiamo come avevamo disposto 1 colori rosso e bianco ma aggiungiamo loro anche un po di turbolenza per rendere la sfumatura pi realistica Aggiungiamo la seguente scatola alla scena precedente e renderizziamo di nuovo vedi file layered2 pov declare FADED TEXTURE scacchi rossi e bianchi texture pigment checker color rgb lt 0 920 0 0
284. ema di Coordinate di POV Ray usi la mano destra per determinare la direzione delle rotazioni In un sistema di assi a due dimensioni la direzione positiva dell asse x sempre rivolta verso destra e la direzione positiva dell asse delle y sempre rivolta in alto Le due diverse possibilit di usare cio sistemi di riferimento destrorsi o sinistrorsi sorgono dal problema di definire se l asse delle z punta all interno o all esterno dello schermo e quale degli assi nel modello al computer si riferisce all altezza nel modo reale I sistemi di CAD per architettura come AutoCAD tendono ad usare un orientazione dall alto in 260 originale God s Eye che significa letteralmente Occhio di Dio poich l asse z corrisponde all elevazione e quindi alla direzione verticale per il modello Questo approccio ha un senso se tu sei un architetto che osserva il progetto di un edificio sullo schermo di un computer Z significa in alto l asse z rivolto verso l osservatore mentre gli assi x ed y sono rispettivamente orizzontale e verticale sullo schermo Sistemi di rendering come POV Ray tendono a considerarti come parte della scena l osservatore rivolto verso lo schermo come un fotografo che si trova nella scena In questo caso la direzione verticale quella delle y come nel mondo reale e l asse delle x rivolto verso destra quidni la direzione delle z deve essere opposta all osservatore punta all interno del monitor Questo
285. emmo inserire la completa descrizione del pigmento ma rende l intero file pi leggibile scacchiera bianca e nera un classico declare Pigmentl pigment checker color Black color White scale 1 effetto anelli psichedelici declare Pigment2 pigment wood color map 0 0 Red 0 3 Yellow 0 6 Green 1 0 Blue Ww Ye mama plane z 0 pigment gradient x pigment map 0 0 Pigmentl 0 5 Pigment2 1 0 Pigmentl Bene ci che abbiamo qui molto semplice e probabilmente riconoscibile se abbiamo gi lavorato sulle mappature di colore Tutto ci che abbiamo fatto stato sostituire una mappa di pigmenti dove normalmente andrebbe una mappa di colori e come elementi della nostra mappatura abbiamo messo i pigmenti dichiarati prima 136 Fig 156 Pigmenti sfumati l uno nell altro Quando renderizziamo questo esempio vediamo un motivo che sfuma alternativamente tra la classica scacchiera e gli anelli colorati Dato che passiamo da pigment1 a pigment2 e viceversa vediamo un chiaro sfumare dei due pattern l uno nell altro nelle zone di transizione Potremmo ottenere un passaggio brusco altrettanto facilmente modificando la mappa in questo modo igment map 0 0 Pigmentl 0 5 Pigmentl 0 5 Pigment2 1 0 Pigment2 P Fig 157 Brusco stacco tra un pigmento e l altro Ma unire insieme pattern di pigmenti solo l inizio 4 9 2
286. ena senza cambiare tutti i valori corrispondenti contenuti nelle frasi di finish Permette anche di creare effetti interessanti cambiando il colore della luce ambiente global settings ambient light COLORE Il valore predefinito una luce ambiente bianca impostata a rgb lt 1 1 1 gt Il valore effettivamente utilizzato dato da LUCE AMBIENTE AMBIENTE DEL FINISH AMBIENTE DELLE IMPOSTAZIONI Vedi il paragrafo Luce Ambiente per maggiori dettagli 7 8 3 Gamma Colore Molte persone si possono essere accorte che talvolta alcune immagini sono troppo 0 troppo poco luminose quando vengono visualizzate sul loro sistema In generale gli utenti di Macintosh trovano che le immagini create su un PC sono troppo luminose mentre coloro che usano i PC vedono le immagini create sui sistemi Macintosh come troppo scure La parola chiave assumed gamma nelle impostazioni globali agisce in unione con l impostazione del file INI Display Gamma vedi il paragrafo Impostazioni Hardware ed assicura che la scena venga renderizzata nello stesso modo sulle varie piattaforme sulle quali pu essere installato POV Ray L impostazione assumed gamma usata nella scena aggiungendo la seguente frase global settings assumed gamma DECIMALE dove il valore attribuito ad assumed gamma il fattore di correzione che deve essere applicato 383 prima che i punti dell immagine vengano visualizzati o salvati su disco Per le scene create con versioni
287. endo l atmosfera o la nebbia alla scena o aggiungendogli una halo E molto importante capire che per riempire un oggetto con qualunque tipo di particelle necessario specificare la parola chiave hollow 7 5 1 1 Tranelli degli Aloni E necessario avvertirvi che in questa versione di POV Ray c un tranello per quanto riguarda gli oggetti pieni e vuoti Per essere in grado di mettere un alone dentro ad oggetti solidi questo vale anche per l atmosfera e la nebbia necessario fare un test per ogni raggio che passa attraverso la halo Se questo raggio passa attraverso un oggetto solido non sar calcolata l halo Questo esattamente quello che ci saremmo aspettati Il problema nasce quando il raggio della macchina fotografica si trova all interno di un oggetto solido In questo caso il raggio sta gi passando attraverso un oggetto non cavo e quindi se l oggetto che contiene l alone colpito da questo raggio e questo oggetto cavo l alone non sar calcolato Non c nessun modo di differenziare questi due casi POV Ray deve determinare se la camera all interno di un oggetto non cavo prima di tracciare i raggi della macchina fotografica per essere in grado di renderizzare correttamente gli aloni quando la macchina fotografica all interno dell oggetto contenitore Non c modo per aggirare questo problema La soluzione al problema che si ripete spesso con oggetti infiniti come i piani di rendere cavi anche questi oggetti Cos
288. ene e l appendice La prima parte vedi i capitoli Descrizione del Programma e Iniziare Subito spiega dove procurarsi e come installare POV Ray e fornisce una breve introduzione al raytracing Il tutorial spiega passo dopo passo come impiegare le differenti funzioni di POV Ray vedi il capitolo Tutorial La guida al linguaggio fornisce una descrizione completa di tutte le funzioni di POV Ray spiegando tutte le opzioni disponibili che vengono impostate per mezzo della linea di comando o tramite parole chiave contenute nei file INI e il linguaggio di descrizione delle scene vedi capitoli Guida al Linguaggio di POV Ray Opzioni di POV Ray e Linguaggio di Descrizione delle Scene L appendice contiene alcuni suggerimenti bibliografia indirizzi per contattare gli autori e informazioni legali POV Ray basato su DKBTrace 2 12 di David K Buck e Aaron A Collins 1 1 Notazione Attraverso tutto il manuale verr usata la seguente notazione per distinguere le parole chiave del linguaggio di descrizione delle scene i parametri della riga di comando le parole chiave dei file INI di inizializzazione e i nomi di file nome parole chiave del linguaggio di descrizione nome opzioni della riga di comando nome parole chiave dei file INI di inizializzazione nome nomi di file nome indirizzo Internet newsgroup Usenet Nota nella versione ASCII del manuale non c differenza tra le varie notazioni 2 Descrizione del programma
289. ene ruotato di un angolo specificato in gradi attraverso il valore decimale F Il risultato un vettore che contiene le nuove coordinate x y z del punto veross A B Prodotto vettoriale di A e B D come risultato il prodotto vettoriale tra i due vettori Il vettore risultante perpendicolare ai due vettori originali e la sua lunghezza proporzionale all angolo tra essi compreso Vedi la scena dimostrativa animata VECT2 POV come esempio vdot A B prodotto scalare di A e B D come risultato un valore decimale che il prodotto scalare di A con B La formula vdot A x B x A y B y A z B z Vedi la scena dimostrativa animata VECT2 POV come esempio vlength A Lunghezza di A D come risultato un valore decimale che rappresenta la lunghezza del vettore A Pu essere usato per calcolare la distanza tra due punti Distanza vlength B A La formula vlength sqrt vdot A A vnormalize A Normalizza il vettore A D come risultato un vettore di lunghezza unitaria con la stessa direzione del vettore A versore La formula vnormalize A vlength A vrotate A B Ruota A intorno all origine di una quantit pari a B Assegnate le coordinate x y z di un punto nello spazio designato dal vettore A la funzione ruota quel punto attorno all origine di una quantit specificata dal vettore B Ruota quel punto intorno all asse x di un angolo espresso in gradi corrispondente alla prima componente di B Allo stesso modo B y e B z specifica
290. ene una directory source windows la versione Unix contiene source unix ecc La directory source msdos contiene un file cmpl_msd doc nel quale si trovano informazioni relative alla compilazione specifiche per la versione MS Dos Altre versioni contengono file analoghi di nome cmpl_xxx doc Assicurarsi di avere letto tutti i file cmp_xxx doc pertinenti alla propria piattaforma e compilatore 2 3 7 2 Configurare il codice sorgente di POV Ray 24 Per ogni piattaforma si ha un file header config h che si trova generalmente nella directory specifica per la piattaforma ma che si pu anche trovare nella directory specifica per il compilatore Alcune piattaforme hanno pi versioni differenti di questo file per cui pu presentarsi la necessit di copiarlo e rinominarlo come config h Questo file incluso in ogni modulo del programma Contiene tutti i prototipi le procedure macro o altre definizioni che sono necessarie per le parti generiche del programma ma che devono essere messe a punto manualmente per una particolare piattaforma o compilatore Per esempio diversi sistemi operativi utilizzano caratteri diversi come separatori tra i nomi delle directory e dei file MS Dos utilizza il back slash Unix il front slash MacOS i due punti Il file config h per MS Dos e Windows contiene il testo seguente define FILENAME SEPARATOR Che istruisce la parte generica di POV Ray ad usare un back slash Ogni personalizzazione
291. eno 2 due volte il raggio minore Si pu descrivere con l espressione Totus Translate 2 2 y E noi dichiariamo l espressione come segue declare Link Translate Torus Translate 2 2 y Nella parte relativa all oggetto useremo questo blocco per moltiplicarlo in modo da creare altri anelli Ora ruotiamo il secondo anello di 90 y in modo che sia perpendicolare al primo come gli anelli di una catena Infine scaliamo l unione di 0 25 in modo da poter vedere l intera cosa union object Link object Link translate y Link Translate rotate y 90 scale 25 Renderizziamo questa scena e vedremo un paio di anelli molto realistico Fig 59 Due anelli Se vogliamo fare un intera catena dobbiamo dichiarare l unione vista sopra e creare un altra unione di questo oggetto dichiarato Dobbiamo essere sicuri di rimuovere la frase scale dall oggetto dichiarato declare Link Pair union object Link object Link translate y Link Translate rotate y 90 52 Ora dichiariamo la nostra catena declare Chain union object Link Pair object Link Pair translate y Link Translate 2 object Link Pair translate y Link Translate 4 object Link Pair translate y Link Translate 6 object Link Pair translate y Link Translate 2 object Link Pair translate lt y Link Translate 4 object Link Pair translate y Link Translate 6 Ed infine creiamo la nostra catena con un paio d
292. enza 4 10 5 2 Arcocoseno acos Arcocoseno iperbolico acosh Arcoseno asin Arcoseno iperbolico asinh Arcotangente atan Arcotangente iperbolico atanh Atmosfera 4 10 4 7 7 1 colorata 4 10 4 4 dispersione 4 10 4 5 3 tasso di campionamento 4 10 4 3 trucchi 4 10 5 Autori Appendice B B Sfondo 4 10 1 7 7 2 Bezier superfici di vedi Oggetti Blob vedi Oggetti Bounding 6 2 3 4 C Campionamento atmosfera 4 10 4 3 halo 7 6 4 7 Cielo 4 10 2 7 7 4 Cilindro vedi Oggetti Commenti 7 1 2 Cono vedi Oggetti Copyright Appendice A 411 Coseno cos Coseno iperbolico cosh Costanti decimali 7 1 3 1 incorporate 7 1 7 1 stringa 7 1 6 1 vettoriali 7 1 4 1 CSG 4 5 7 5 5 1 differenza 4 5 4 7 5 5 6 fusione 4 5 5 7 5 5 7 intersezione 4 5 3 7 5 5 5 inverso 7 5 5 3 tranelli 4 5 6 unione 4 5 2 Densit halo mappatura 7 6 4 4 funzione 7 6 4 5 Disco vedi Oggetti F A Q Appendice G Fase frequenza 7 6 8 2 modificatori 7 6 4 8 2 parola chiave 4 10 6 3 ripples 7 6 7 1 8 wawes 7 6 7 22 File BAT 3 2 4 di output 6 2 2 3 immagine 7 6 1 5 1 7 6 2 3 1 INC 4 1 2 7 2 1 INI 3 2 2 cap 6 6 1 2 POV 4 1 TTF 4 4 10 Finitura 4 8 4 7 6 3 attenuazione della luce attraverso un oggetto 7 6 3 5 1 brillantezza 7 6 3 2 2 caustics 4 8
293. er il Bundling Commerciale 10 Valore Commerciale del Software 11 Altri permessi 12 Revoca della Licenza 13 Scarico di Responsabilita 14 Supporto Tecnico Appendice B Autori Appendice C Contattare gli Autori Appendice D Cartoline per i Membri del POV Ray Team Appendice E Ringraziamenti Appendice F Suggerimenti e Consigli Appendice F 1 Suggerimenti per il Design delle Scene 15 Appendice F 2 Suggerimenti per la Correzione delle Scene Appendice F 3 Suggerimenti per l Animazione Appendice F 4 Suggerimenti per le Texture Appendice F 5 Suggerimenti per gli Height Field Appendice F 6 Convertire la Chiralita Appendice G Domande Frequentemente Poste FAQ Appendice G 1 Domande Generali Appendice G 2 Domande sulle Opzioni di POV Ray Appendice G 3 Domande sui File INC Appendice G 4 Domande sugli Oggetti Appendice G 4 1 Domande sugli Height Field Appendice G 4 2 Domande sul Testo Appendice G 5 Domande Atmosferiche Appendice G 5 1 Domande sull Atmosfera Appendice G 5 2 Domande sulla Nebbia Appendice H Letture Consigliate Indice analitico Indice analitico delle parole chiave Il Gruppo di Lavoro POV IT Nota di Copyright alla Traduzione Italiana 16 1 Introduzione Questo manuale tratta in modo dettagliato l uso del motore di raytracing Persistence of Vision POV Ray E diviso in quattro parti la guida all installazione un dettagliato tutorial la guida al linguaggio di descrizione delle sc
294. er simulare l effetto della riflessione interdiffusa Se non ci fosse la riflessione interdiffusa tutte le zone non illuminate direttamente da una sorgente luminosa sarebbero completamente buie POV Ray utilizza la parola chiave ambient per determinare quanta luce proveniente dalla sorgente di luce ambiente sia riflessa da una superficie Per valore predefinito la luce ambiente che emette luce in ogni direzione ed in ogni punto completamente bianca rgb lt 1 1 1 gt Cambiando il suo colore si possono ottenere alcuni effetti interessanti Per prima cosa il livello di illuminazione totale della scena pu essere regolato con facilit Invece di modificare tutte le frasi ambient di tutti i finish si modifica il valore della luce ambiente Assegnando valori diversi possiamo creare effetti interessanti come un illuminazione rossastra Per maggiori dettagli riguardo la luce ambiente vedi Luce Ambiente Sotto un esempio di luce ambiente rossa global settings ambient light rgb lt 1 0 0 gt 4 6 2 La Luce Puntiforme 62 Una sorgente di luce puntiforme esattamente ci che il suo nome indica Questa luce non ha dimensioni invisibile ed illumina tutto nella scena in maniera uguale non importa quanto lontano dalla luce ma questo comportamento pu essere cambiato Questa la luce pi semplice Ci sono solo due parametri importanti la posizione ed il colore Creiamo una semplice scena ed inseriamoci una luce puntiforme
295. era sorgente luminosa d alla nostra scena un aspetto fumoso misterioso ma il rendering ha preso molto tempo Cambiare gli spot in area light prolungherebbe ulteriormente il rendering Questo l inevitabile compromesso tra velocit del rendering e qualit dell immagine 4 7 Semplici Opzioni sulle Texture Le immagini che abbiamo renderizzato finora erano abbastanza noiose per quello che riguarda l aspetto degli oggetti Aggiungiamo qualche aspetto interessante alle texture 4 7 1 Finitura della Superficie Una delle funzioni principali di un ray tracer la sua capacit di fare cose interessanti con la finitura della superficie degli oggetti come riflessione e illuminazione Aggiungiamo un bel riflesso Phong un punto luminoso alla sfera Per fare questo abbiamo bisogno di aggiungere la parola chiave finish seguita da un parametro Modifichiamo la definizione della sfera in sphere lt 0 1 2 gt 2 texture pigment color Yellow Yellow predefinito in COLORS INC finish phong 1 Renderizziamo la scena 75 Fig 87 Finitura La parola chiave phong aggiunge un riflesso dello stesso colore della luce che brilla sull oggetto Aggiunge molta credibilit all immagine e rende gli oggetti lisci e brillanti Valori minori assegnati al parametro phong renderanno il riflesso meno brillante i valori dovranno essere compresi tra 0 ed 1 4 7 2 Aggiungere Rugosit Il riflesso che abbiamo aggiunto ci mo
296. era pi grande cio una sfera con un raggio maggiore di uno E importante ridimensionare la sfera prima di aggiungere la halo perch altrimenti anche la halo verr ingrandita 120 Notiamo che questo funziona solo per mapping sferico e cubico e per funzioni densit non costanti Tutte le altre funzioni di mappatura sono infinite cio la distribuzione delle particelle copre uno spazio infinito vedi anche Mappatura della Densit 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
297. era siano resi cavi usando la parola chiave hollow Anche se non ovvio ci vale anche per oggetti infiniti e superfici come quadriche quartiche triangoli poligoni ecc Quando utilizzi uno di questi oggetti dovresti sempre aggiungergli la parola chiave hollow a meno che tu non sia assolutamente sicuro di non averne bisogno Devi anche assicurarti che siano cavi tutti gli oggetti all interno dei quali si trova la macchina fotografica Tutte le volte che ottieni strani risultati controlla gli oggetti ed eventualmente aggiungi loro la parola chiave hollow 4 10 5 L Arcobaleno La funzione arcobaleno pu essere usata per creare arcobaleni ed effetti pi strani L arcobaleno un effetto simile a quello della nebbia ma che viene ristretto ad un volume conico 4 10 5 1 Iniziare con un Arcobaleno Semplice L arcobaleno specificato per mezzo di molti parametri l angolo al quale visibile l ampiezza della banda colorata la direzione della luce proveniente la distanza simile a quella specificata per la nebbia ed infine la mappatura dei colori da usare Dimensione e forma dell arcobaleno sono determinati dalle parole chiave angle e width La parola chiave direction serve ad impostare la direzione da cui proviene la luce in modo da determinare la posizione dell arcobaleno L arcobaleno visibile quando l angolo tra il vettore direzione e la direzione di provenienza della luce incidente compreso tra angle width 2 e angle width 2 La lu
298. eractive Computer Graphics J D Foley and A Van Dam ISBN 0 201 14468 9 Addison Wesley 1983 Computer Graphics Principles and Practice 2nd Ed 409 J D Foley A van Dam J F Hughes ISBN 0 201 12110 7 Addison Wesley 1990 Computers Pattern Chaos and Beauty Clifford Pickover St Martin s Press SIGGRAPH Conference Proceedings Association for Computing Machinery Special Interest Group on Computer Graphics IEEE Computer Graphics and Applications The Computer Society 10662 Los Vaqueros Circle Los Alamitos CA 90720 The CRC Handbook of Mathematical Curves and Surfaces David von Seggern CRC Press 1990 The CRC Handbook of Standard Mathematical Tables CRC Press The Beginning of Time 410 Indice analitico I numeri che seguono il segno indicano il paragrafo in cui occorre la voce dell indice analitico Tali richiami sono comunque collegati ai rispettivi paragrafi Le voci sono rigorosamente in ordine alfabetico cos come i numeri che richiamano i paragrafi sono nello stesso ordine in cui appaiono nella guida Questo indice non inclusivo di tutte le voci che avrebbero avuto diritto di trovarvici ma solo delle principali A Alpha canale 7 1 5 7 6 1 5 4 Animazione 4 10 6 clock 4 10 6 1 fase 4 10 6 3 opzioni 6 2 1 suggerimenti Appendice F 3 tranelli 4 10 6 4 Anti aliasing opzioni 6 2 6 4 Arcobaleno 4 10 5 7 7 5 traspar
299. erage normal map gradient x gradient y Cio che abbiamo qui si spiega da solo quando lo renderizziamo 142 Fig 163 Scacchiera Abbiamo unito un pattern di normali a bande verticali con uno a bande orizzontali creando due gradienti che si incrociano In effetti l effetto di incrocio dato da una morbida fusione di gradient xcongradient y su tutto il nostro piano Ora dove sono le differenze Vediamo che la nostra mappa di normali cambiata dagli esempi che avevamo fatto prima Il valore decimale a sinistra di ogni elemento della mappa stato rimosso Questo valore normalmente serve a mappare ogni elemento della mappa sul pattern che abbiamo scelto ma average una unione su tutto il piano e quindi i numeri non servono In effetti includere i numeri pu portare talvolta a risultati inaspettati come una cattiva o mancante rappresentazione di alcuni degli elementi della mappa Per assicurarci che otterremo l unione di pattern che ci aspettiamo lasciamo perdere il valore decimale 4 9 7 Lavorare con Texture Stratificate Con la moltitudine di colori pattern e opzioni per creare texture complesse in POV Ray possiamo facilmente diventare esperti nel mescolare ed armeggiare le texture giuste da applicare alle nostre creazioni Ma mentre lavoriamo prima o poi si deve arrivare a quella texture speciale Quella texture che assomiglia un po a del legno solo verniciato e con un po di venature gialle e qu
300. eshold n o il parametro MBn permettono di impostare il numero minimo di oggetti presenti nella scena superato il quale si usi il bounding il valore predefinito 25 che significa che se nella scena ci sono meno di 25 oggetti POV Ray automaticamente non applicher il bounding Generalmente sarebbe buona norma usare una soglia pi bassa come ad esempio 5 Oltre a questo sistema POV Ray usa altri due metodi di suddivisione spaziale chiamati light buffering e vista buffering anch essi hanno la funzione di rendere pi veloce il rendering Questi sistemi funzionano solo quando attivato il bounding Il vista buffer creato proiettando la gerarchia di scatole sullo schermo e determinando la parte di visuale che coperta da ogni elemento della gerarchia Solo gli oggetti che sono posti in un dato pixel sono affetti dai raggi primari Il vista buffer pu essere usato solo con telecamere che usano viste prospettiche o ortografiche perch con queste si ha un punto di vista stabile e quindi una proiezione ragionevole cio le linee dritte devono rimanere linee dritte anche dopo la proiezione Il light buffer creato racchiudendo ogni fonte di luce in una immaginaria scatola e proiettando la gerarchia delle scatole del bounding in ognuna delle sue sei facce Questo potr essere usato solo per punti di luce fissi e non per le area lights I raggi riflessi o trasmessi non trarranno alcun vantaggio dall uso di light o vista buffer Le impostazio
301. espressioni nello stesso modo in cui avviene per valori decimali Le operazioni vengono eseguite componente per componente Per esempio lt 1 2 3 gt lt 4 5 6 gt viene valutato come lt 1 4 2 5 3 6 gt oppure lt 5 7 9 gt Altre operazioni sono eseguite in modo simile Per esempio lt 1 2 3 gt lt 3 2 1 gt valutato come lt 0 1 0 gt poich i componenti centrali sono uguali mentre gli altri non lo sono Ammettiamo che questo non molto utile ma pu essere interessante per altre operazioni sui vettori Un espressione condizionale come C A B richiede che C sia un espressione decimale ma A e B possono essere espressioni vettoriali Il risultato che l intera espressione condizionale viene valutata come un vettore valido Per esempio se Foo e Bar sono valori decimali allora Foo lt Bar lt 1 2 3 gt lt 5 6 7 gt viene valutato il vettore lt 1 2 3 gt se Foo minore di Bar o lt 5 6 7 gt in caso contrario Puoi usare l operatore punto per estrarre un singolo componente da un vettore Supponi che l identificatore Spot fosse stato precedentemente definito come un vettore Allora Spot x un valore decimale che rappresenta il primo componente di questo vettore a tre componenti Similmente Spot y e Spot z rappresentano il 2 e il 3 componente Se Spot era invece un vettore UV a due componenti avresti dovuto usare Spot u e Spot v per estrarre il primo e secondo componente Per un vettore 4D usa
302. essere trovate nei paragrafi dell appendice Autori Appendice B e Cartoline per i Membri del POV Ray team Appendice D Appendice B Autori Segue una lista in ordine alfabetico degli autori che hanno lavorato nel POV Ray Team o che hanno partecipato in maniera rilevante Se vuoi contattarli o ringraziarli leggi i paragrafi Contattare gli Autori Appendice C e Cartoline per i Membri del POV Ray team Appendice D Claire Amundsen Tutorial per il manuale di POV Ray Steve Anger programmatore delle versioni 2 0 3 0 di POV Ray CIS 70714 3113 Internet sanger hookup net Randy Antler miglioramenti al codice per il display su personal IBM John Baily codice per immagini Targa RLE Eric Barish codice per la nebbia rasoterra Dieter Bayer programmatore di POV Ray 3 0 e coordinatore della documentazione CIS 104707 643 Kendall Bennett supporto per la libreria PMODE Steve Bennett supporto GIF Jeff Bowermaster Beta tester David Buck autore di DKBTrace programmatore di POV Ray 1 0 Chris Cason programmatore di POV Ray 2 0 3 0 POV Help POV Ray per Windows 398 Internet preferibilmente povray mail oaks com au or Chris Cason povray org CIS 104706 3166 Aaron Collins co autore di DKBTrace 2 12 programmatore di POV Ray 1 0 Chris Dailey programmatore di POV Ray 3 0 CIS Steve Demlow programmatore di POV Ray 3 0 CIS Andreas Dilger programmatore di POV Ray 3 0 Inte
303. esto Appendice G 3 Domande sui File INC D Nel file textures v2 le texture relative al vetro sono commentate Perch R Queste texture sono riprodotte in glass ine I vecchi nomi delle texture non adottavano il nuovo schema di denominazione delle texture Glass si chiama T Glass1 Glass2 ora T Glass2 eGlass3 T Glass3 Si possono togliere i commenti ai vecchi nomi ma vi consigliamo di usare i nuovi Appendice G 4 Domande sugli Oggetti Appendice G 4 1 Domande sugli Height Field D Ho 8 megabyte di RAM sul mio computer e ho finito la memoria cercando di usare un file POT di 1024x768 ed una GIF della stesa risoluzione per due scene diverse Sono io che ho poca memoria o da pazzi usare una risoluzione del genere R Gli height field smussati consumeranno molta pi memoria circa tre volte tanto di quelli non smussati Dato che smussare non necessario a queste risoluzioni non farlo D Voglio usare la stessa immagine per una mappa e per l height field ottenendo in questo modo una relazione tra la quota ed il colore Funziona solo quando uso GIF o BMP Non sono riuscito a mappare il formato POT R I file POT non sono supportati per la mappatura delle immagini Il loro scopo in POV Ray di essere usati come base per un height field Questo non impedisce per di ottenere da fractint un immagine GIF che usa i colori che hai usato per il file POT ed usarla come una mappa Ricorda per che mentre gli height field s
304. esto una parte della texture Per esempio questo object Coso texture pigment color Red si pu abbreviare con object COSO 312 pigment color Red Il colore che viene specificato sar quello che l oggetto avr quando sar completamente illuminato Si prende il colore base inerente all oggetto e POV Ray lo schiarir o scurir in relazione all illuminazione della scena Il parametro chiamato pigment perch si sta definendo il colore base dell oggetto piuttosto che il suo vero aspetto La forma pi completa per definire un pigmento la seguente pigment IDENTIFICATORE DEL PIGMENTO DISPOSIZIONE DEI COLORI MODIFICATORI DEL PIGMENTO Ognuno dei termini presenti nel pigmento facoltativo ma se presente deve essere posto nell ordine mostrato sopra per essere sicuri che il risultato sia quello desiderato Qualunque termine dopo l identificatore del pigmento modifica o sovrascrive le impostazioni date nell identificatore Se non viene specificato alcun identificatore allora il termine modificher i valori del pigmento nella texture predefinita Modificatori del pigmento validi sono color map pigment map image map e quick color cos come ognuno dei modificatori generici come traslazione rotazione ridimensionamento turbolenza forme d onda e warp Questi modificatori si applicano soltanto al pigmento e non ad altre parti della texture I modificatori d
305. esto paragrafo useremo una mappa di colore come esempio ma gli stessi principi possono essere applicati anche a tutte le altre mappe La parola chiave frequency influisce sul numero di volte che una mappa viene ripetuta per ogni ciclo di un pattern Per esempio 361 gradient copre i valori della mappa dei colori che vanno da 0 ad 1 nello spazio che va da x 0 ad x 1 Aggiungendo la parola chiave frequency 2 0 la mappa di colore verr ripetuta due volte nello stesso spazio Lo stesso effetto pu essere ottenuto usando scale 0 5 x quindi la parola chiave frequency non indispensabile per pattern come i gradienti Il pattern radial avvolge la mappa di colore intorno all asse y una sola volta Se si desiderano due copie o tre o dieci o cento della mappa necessario creare una mappa pi grande L aggiunta della parola chiave frequency 2 0 far ripetere la mappa di colori due volte Provate questo pigment radial color map 0 5 color Red 0 5 color White frequency 6 Il risultato dato da sei insiemi di strisce radiali rosse e bianche sfalsate attorno all oggetto Il valore decimale dopo frequency pu essere un valore qualunque Valori maggiori di uno faranno s che venga fatta pi di una copia della mappa usata Valori che vanno invece da 0 0 a 1 0 faranno s che solo una frazione della mappa venga usata Valori negativi invertono la mappa Il valore di phase causa uno spostamento degli elementi della mappa di colore
306. etti Normalmente non necessario usare il comando bounded_ by ma ci sono casi in cui usarlo significa anche incrementare la velocit del rendering di oggetti complessi Gli oggetti che determinano il bounding dicono a POV Ray che l oggetto bounded completamente racchiuso in un oggetto pi semplice che viene definito all interno della frase bounded_by Durante il rendering i raggi sono prima provati sull oggetto delimitante bounding box Se i raggi lo colpiscono il programma eseguir ulteriori prove sull oggetto pi complicato che si trova all interno dell oggetto delimitante Se ci non avviene l intero oggetto complesso sar evitato con notevole incremento della velocit di rendering Per usare oggetti delimitanti basta includere le seguenti linee nella dichiarazione del tuo oggetto bounded by object f Un esempio di oggetto delimitante intersection sphere lt 0 0 0 gt 2 plane lt 0 1 0 gt 0 plane lt 1 0 0 gt 0 309 bounded by sphere lt 0 0 0 gt 2 I migliori oggetti delimitanti sono sfere o parallelepipedi poich questi oggetti sono molto ottimizzati comunque ogni oggetto pu essere usato Se lo stesso oggetto delimitante un oggetto finito che risponde alla suddivisione del bounding allora anche l oggetto che racchiude rientrer all interno della suddivisione Gli oggetti CSG possono trarre molto beneficio dal bounding anche senza il comando bound
307. etto mesh pu includere per adesso solo triangoli e triangoli smussati Questa restrizione suscettibile di futuri cambiamenti permettendo l inserimento di componenti poligonali 7 5 3 4 Poligoni I poligoni sono utili per creare quadrati rettangoli e tutte 1 poligoni piani con un numero di angoli superiore a tre La sintassi polygon NUMERO TOTALE DI PUNTI lt A 1 gt lt A 2 gt lt A na gt lt A 1 gt lt B_1 gt lt B_2 gt lt B_nb gt lt B 1 gt ZO Top FC ded SE NCR SE LS I punti da lt A_1 gt ad lt A_na gt descrivono il primo sotto poligono i punti da lt B_1 gt a lt B nb gt descrivono il secondo e cos via Un poligono pu contenere un qualunque numero di sotto poligoni sovrapposti o no Nelle zone dove si sovrappone un numero pari di poligoni l oggetto appare bucato Tutto ci di cui ci si deve assicurare che tutti questi poligoni siano chiusi ripetendo il primo punto di ogni sotto poligono alla fine della sequenza di punti che lo definisce Ci implica che tutti i punti di un sotto poligono devono essere diversi Se l ultimo sotto poligono non chiuso viene visualizzato un messaggio di avvertimento e POV Ray lo chiude automaticamente Ci utile in quanto i poligoni importati da un altro programma possono non essere chiusi cio il loro primo ed ultimo punto possono non essere uguali Tutti i punti di un poligono sono descritti di vettori a tre dimensi
308. ettore repeat col significato che il buco nero non sar ripetuto in quella direzione Turbulence La turbolenza pu essere utilizzata solo con repeat Permette di inserire un elemento di casualit nel metodo con cui i buchi neri si ripetono per dar loro un aspetto pi naturale Un buon esempio sono i nodi nel legno sarebbe artificioso se i nodi si ripetessero tutti ala stessa distanza Il vettore turbulence viene sommato alla posizione del centro di ogni buco nero dopo che ogni sua coordinata viene moltiplicata per un valore casuale che va da 0 ad 1 Ad esempio supponi che unblack hole sia a lt 2 2 2 gt Hai specificato un vettore turbolenza di lt 4 5 3 gt che significa che non vuoi che la posizione del buco nero possa variare pi di quattro unit nella direzione delle x cinque nella direzione delle y e tre nella direzione delle z Le possibili nuove posizioni sono le seguenti x pu variare tra 2 e 6 368 y pu variare tra 2 e 7 z pu variare tra 2 e 5 La posizione del centro del buco nero che ne risulta casuale ma coerente in modo che i rendering possano essere ripetibili e posta all interno di quell intervallo C una limitazione nell uso della turbolenza che riflette quella sull uso del vettore repeat Non si pu specificare un valore che farebbe uscire un buco nero dal suo parallelepipedo Poich POV Ray non sa in anticipo di quanto verr spostato il buco nero a causa della natura casuale dello spostament
309. evono essere specificati in fondo I vari pattern si possono grossolanamente dividere in quattro categorie Ogni categoria verr discussa in seguito Sono pigmenti a tinte unite pigmenti a liste di colori mappature di colori mappature di immagini 7 6 1 1 Pigmento a Colore Unico Il tipo pi semplice di pigmento costituito da un unico colore solid color Per specificare questo colore basta inserire all interno della definizione di pigmento il colore Per esempio pigment color Orange la specificazione del colore costituita dalla parola chiave color seguita dalla quantita di rosso verde blu filtro e trasparenza della superficie Vedere la sezione Specificare i Colori Qualunque modificatore dei motivi usato con un colore solido non considerato non essendoci alcun motivo da modificare 7 6 1 2 Pigmento a Lista di Colori Esistono tre motivi geometrici a lista di colore checker hexagon e brick Il risultato sar un motivo costituito da zone a tinta unita disposte geometricamente Ognuno di questi motivi sar spiegato in una sezione successiva La sintassi pigment brick colorel colore2 Modificatori pigment checker colorel colore2 Modificatori pigment hexagon colorel colore2 colore3 Modificatori ogni coloreN indica una valida specificazione di colore Ci deve essere una virgola a separare i colori della lista oppure si dovr usare la parola chiave color come sep
310. fera celeste utilizzata per creare cieli realistici da usare come sfondo senza bisogno di sfere aggiuntive per simulare il cielo La sintassi sky sphere pigment PIGMENTO1 pigment PIGMENTO2 pigment PIGMENTO3 TRASFORMAZIONI La sfera celeste pu contenere diversi strati di pigmenti con l ultimo pigmento in cima in pratica quello calcolato per ultimo e il primo in fondo vale a dire quello calcolato per primo Se gli strati superiori conterranno filtri o trasparenze gli strati inferiori risplenderanno attraverso essi se invece gli strati superiori non conterranno filtri o trasparenze gli strati inferiori non si vedranno La sfera celeste calcolata usando il vettore direzione come riferimento per i motivi di colore Questo metodo assicura comunque un risultato che modeller un bel cielo che si trover a distanze molto grandi rispetto alle posizioni degli oggetti indipendentemente dall angolo di visuale Se vuoi aggiungere una bella sfumatura di colore al tuo sfondo usa il prossimo esempio sky sphere pigment gradient y color map 0 5 color CornflowerBlue 1 0 color MidnightBlue scale 2 translate 1 Questo da una sfumatura CornflowerBlue all orizzonte per arrivare a MidnightBlue allo zenit Le operazioni di ridimensionamento e traslazione sono usate per mappare i valori del vettore 380 direzione che varia dal valore lt 1 1 1 gt al valore l
311. fficile da comprendere Vedi il paragrafo Height Field per una descrizione di come gli height field di POV Ray sono memorizzati a seconda del tipo di file 7 8 5 Irid_ Wavelenght I calcoli dell iridescenza dipendono dalle lunghezze d onda dominanti dei colori primari rosso verde e blu I valori possono essere modificati utilizzando l impostazione irid wavelenght come segue global settings irid wavelenght COLORE Il valore predefinito rgb lt 0 25 0 18 0 14 gt ed ogni valore assegnato a filtro o trasmittanza viene ignorato Questi valori sono proporzionali alle lunghezze d onda wavelenght della luce solare ma non rappresentano parametri reali In generale i valori predefiniti dovrebbero essere adatti per tutte le situazioni ma questa opzione viene fornita per poter sperimentare con altri valori 7 8 6 Max Trace Level In scene con molte superfici riflettenti e trasparenti POV Ray pu perdersi a tracciare molte riflessioni e rifrazioni che contribuiscono molto poco al colore di un particolare pixel L impostazione globale max trace level definisce un numero massimo di livelli ricorsivi per i quali POV Ray calcola le riflessioni global settings max trace level INTERO Questa impostazione usata quando un raggio si riflette o passa attraverso un oggetto trasparente e quando vengono proiettate le ombre Quando un raggio colpisce una superficie riflettente lancia un secondo raggio per determinare cosa riflette q
312. fornir la maggiore flessibilit Dopo il comando d si pu specificare un terzo carattere che specifica il tipo di tavolozza da utilizzare d 3 Utilizza una tavolozza di tipo 332 predefinita la migliore per i sistemi video VGA E una tavolozza fissa a 256 colori con 3 bit per i dati del rosso 3 per il verde e 2 per il blu Usa una tavolozza HSV per schede VGA E una tavolozza fissa a 256 colori in cui i colori sono individuati per tonalit hue saturazione saturation e intensit invece che per le componenti di rosso verde blu d g Usa una tavolozza a toni di grigio per video VGA d h Usa l opzione hi color Mostra a video pi di 32000 colori con dithering Viene supportato da schede video VESA SpeedSTAR 24X ATI XL HiColor e con processore video Tseng 4000 con opzione per high color a 15 o 16 bit d t Per schede video true color Usa colore a 24 bit E supportata dalla Diamond Speedstar 24X e da schede con supporto VESA a 24 bit Ecco alcuni esempi d0h Riconosci automaticamente la scheda video e mostra a schermo l immagine mentre viene renderizzata Usa 15 bit per pixel mostra l immagine con 32000 colori differenti d4 Mostra l immagine su una scheda video con chip grafico TSENG 4000 usando la tavolozza 33 332 d4h Mostra l immagine su una scheda video con chip grafico TSENG 4000 usando l opzione hi color dg0 Mostra l immagine su una scheda video VGA usando la tavolozza HSV dg3 Mostra l immagi
313. g 6 2 2 1 4 Opzioni di Continuazione del Rendering 193 Continue Trace bool Imposta la continuazione di un rendering interrotto C attiva la continuazione di un rendering interrotto C disattiva la continuazione di un rendering interrotto Create_Ini file genera un file ini di nome file ini Create Ini true genera un file ini con lo stesso nome del file scena Create Ini fals Disattiva l uso di un precedente file ini GIsss Lo stesso che Create Ini sss Se si interrompe un rendering mentre in corso o si usa l opzione End_ Row per interromperlo prima della fine possibile usare queste opzioni per continuare pi tardi il rendering riprendendolo dal punto in cui era stato interrotto L opzione legge il file di output precedentemente generato eventualmente mostra la parte di immagine renderizzata fino ad allora e procede con il rendering del resto Questa opzione non pu essere usata se l output su file disattivato con Output to file off o col parametro F L opzione Continue Trace potrebbe non funzionare se l opzione Start Row stata impostata a partire da una riga di inizio diversa dalla prima in relazione al formato di output usato POV Ray tenta di riprendere un rendering interrotto leggendo tutte le informazioni disponibili su quel file nello specifico file di output Tutti i formati dei file contengono le misure dell immagine e questo sovrascriver ogni altra dimensione specificata Alcuni formati di file
314. gente luminosa non ci interessano le ombre per cui aggiungiamo la parola chiave shadowless un piano a scacchiera ed una sfera di raggio 1 contenente l alone halo camera location lt 0 0 2 5 gt look at lt 0 0 0 gt light_source lt 10 10 10 gt color rgb 1 shadowless plane z 2 pigment checker color rgb 0 color rgb 1 finish ambient 1 diffuse 0 scale 0 5 hollow sphere 0 pigment color rgbt lt 1 1 1 1 gt halo emitting spherical mapping linear color map 0 color rgbt 1 color rgbt samples 10 hollow ct ct 115 Fig 139 Semplice alone Notiamo che la sfera impostata per essere vuota ed ha la superficie completamente trasparente il canale della trasmittanza nel colore impostato ad 1 proprio come richiesto per le halo Notiamo anche che il piano ha la parola chiave hollow nonostante che non abbia associato nessun alone Perch necessario Il motivo molto semplice Come si spiega nel paragrafo Oggetti Vuoti e Oggetti Solidi non ci pu essere nessuna halo all interno di un oggetto non vuoto Dato che la camera si trova all interno del piano dalla parte del piano cio che considerata essere dentro l alone non sarebbe visibile a meno che il piano non sia reso vuoto specificando l attributo hollow cavo oppure si aggiunga la parola chiave negative per portare la camera dal lato positivo del piano
315. getti possono proiettare ombre all interno della polvere Con la polvere si possono usare gli stessi tipi di dispersione della luce che sono usati con l atmosfera nel paragrafo Atmosfera Questi tipi sono declare ISOTROPIC SCATTERING 1 declare MIE HAZY SCATTERING 2 declare MIE MURKY SCATTERING 3 declare RAYLEIGH SCATTERING 4 declare HENYEY GREENSTEIN SCATTERING 5 La funzione di Henyey Greenstein richiede il parametro aggiuntivo eccentricity che descritto nel paragrafo riguardante l atmosfera Questa parola chiave pu essere applicata solamente al tipo 5 la dispersione di Henyey Greenstein 7 6 4 3 3 Alone Emittente Gli aloni emittenti emettono solamente luce Ogni particella una piccola sorgente luminosa La luce che emette non attenuata dalle altre particelle perch queste sono molto piccole Man mano che il raggio attraversa il campo di densit di una halo emittente il colore delle particelle in ciascun elemento di volume e la loro variazione di trasparenza vengono determinati mediante la mappatura di colore Queste intensit sono accumulate per generare il colore totale dell alone L intensit totale aggiunta alla luce che passa attraverso l alone La luce dello sfondo attenuata dalla densit totale dell alone Dal momento che la luce emessa non attenuata pu essere usata per modellare effetti come fuoco esplosioni raggi di luce eccetera Scegliendo una mappatura di co
316. ggio Non sono implementate per altro uso in POV Ray come ad esempio per definire oggetti testo o nomi di file In base alla piattaforma usata possono non essere completamente supportati per messaggi console Comunque essi appariranno in qualsiasi file di testo se indirizzi un flusso di testo su file Le sequenze sono a Beepo allarme 0x07 b Ritorno Backspace 0x08 ip Avanzamento carta 0x0C n Linea nuova avanzamento di una interlinea Ox0A diva Ritorno del carrello 0x0D t Tabulazione orizzontale 0x09 v Tabulazione verticale 0x0B o Nullo 0x00 Backslash 0x5C AN Apice singolo 0x27 Doppio apice 0x22 Per esempio debug Questa una linea nMa questa un altra 7 3 Il Sistema di Coordinate di POV Ray Gli oggetti le luci e il punto di osservazione sono posizionati usando un tipico sistema di coordinate 3D Il sistema di coordinate usato normalmente da POV Ray ha l asse positivo delle y rivolto verso l alto l asse positivo delle x rivolto a destra e l asse positivo delle z che punta in avanti verso lo schermo Le direzioni negative degli assi sono rivolte in direzione contraria a quella appena esposta 248 come mostrato nell immagine della sezione Capire il sistema di coordinate di POV Ray La posizione di un punto in questo sistema di coordinate normalmente definita da un vettore a tre componenti I tre valori corrispondono rispettivamente alle direzioni degli assi x y e z Per ese
317. giornati alla versione 2 2 del programma sono ancora utili Il CD ROM verr aggiornato alla versione 3 0 mentre in preparazione una nuova versione del programma che sar pronta nella prima met del 1997 la versione 3 01 stata pubblicata il 7 febbraio N d T I libri sotto elencati sono stati recentemente catalogati come fuori stampa ma possono ancora essere trovati in qualche libreria o biblioteca visitare http www dnai com 80 waite per maggiori dettagli Tracing Creations 2d Ed Young and Drew Wells 1 878739 69 7 Group Press 1994 pagine con inserto a colori e POV Ray 2 2 su dischi MS Dos da 3 5 Tracing Worlds with POV Ray Alexander Enzmann Lutz Kretzschmar Chris Young 1 878739 64 6 Group Press 1994 Contiene il modellatore Moray 1 5x e POV Ray 2 2 su dischi MS Dos da 3 5 Tracing for the Macintosh CD Eduard Schwan 1 878739 72 7 Group Press 1994 Contiene un CD ROM pieno di immagini scene e filmati QuickTime ed una guida al linguaggio interattiva per parole chiave Inoltre un floppy disk con POV Ray per coloro che fossero sprovvisti di lettore CD ROM Raytrace The official POV Ray CD ROM Il CD ROM ufficiale di POV Ray una raccolta di immagini scene sorgenti per il programma utilit e suggerimenti su POV Ray e la grafica in 3D presi da Internet e CompuServe Questo CD destinato non solo a coloro che vogliono creare le proprie immagini o a chi interessato al lavoro generico di programmazione
318. giungendo atmosphere off alla frase light source La luce emessa da una sorgente luminosa pu anche essere attenuata dall atmosfera ed anche dalla nebbia e quindi diminuir durante il suo percorso aggiungendo atmospheric attenuation on Il decadimento esponenziale e dipende dal parametro distance dell atmosfera o della nebbia E da notare che questa funzione ha effetto solo sulla luce proveniente direttamente dalla sorgente luminosa La luce riflessa e la luce rifratta non vengono modificate Facciamo qualche esperimento con queste parole chiave Per prima cosa dobbiamo aggiungere un atmosfera alla nostra scena include atmos inc atmosphere Atmosphere2 Eliminiamo commentandole le tre linee che cambiano ciascuno dei tre spot in area light Altrimenti il rendering sarebbe troppo lungo flares Light lt 1 0 0 gt lt 0 0 1 gt 2 2 adaptive 1 jitter Renderizzando la scena a 200x150 A 74 Fig 86 atmosfera vediamo che gli spot sono resi visibili Possiamo vedere dove la luce rossa e quella blu si incrociano e dove quella bianca illumina il centro della scena Notiamo anche che le luci diminuiscono in intensit man mano che la luce scende dalla sorgente agli oggetti La luce rossa scomparsa nella parte inferiore sinistra della scena e la luce blu scomparsa nella parte inferiore destra Questo dovuto all attenuazione atmosferica e fornisce ulteriore realismo alla scena L interazione atmosf
319. gmento utilizza il motivo checker scacchiera e specifica di disporre a scacchiera i due colori rosso e blu Dato che i vettori lt 1 0 0 gt lt 0 1 0 gt lt 0 0 1 gt sono usati frequentemente POV Ray ha incorporati tre identificatori per questi vettori chiamati x y z rispettivamente che possono essere utilizzati come abbreviazione Allora il piano potrebbe essere definito come plane y 1 pigment Nota che non usiamo le parentesi angolate lt gt attorno agli identificatori dei vettori Guardando il pavimento notiamo che la sfera forma un ombra sul pavimento Le ombre sono calcolate molto accuratamente dal programma che traccia ombre molto precise nette Nel mondo reale sono molto pi diffuse ombre morbide e penombra Pi tardi impareremo come utilizzare sorgenti luminose estese per ammorbidire le ombre 4 3 5 Oggetti Standard Il file shapes ine contiene alcuni oggetti predefiniti che sono circa delle dimensioni di una sfera di raggio 1 Possiamo utilizzarli in questo modo include shapes inc object 44 UnitBox texture T Stone25 scale 4 scale 0 75 rotate lt 20 25 0 gt translate y 4 4 Oggetti Avanzati Dopo avere fatto un po di esperienza con gli oggetti pi semplici disponibili in POV Ray ora di proseguire con oggetti pi avanzati ed emozionanti Dovremmo fare attenzione al fatto che gli oggetti descritti pi avanti non sono banali da comprendere Non c b
320. gola mobile serie Mac II o Quadra ed almeno 8 megabyte di RAM oppure Qualunque computer Power Macintosh ed almeno 8 megabyte di RAM MacOS 7 o superiore e Quickdraw colore Circa 6 megabyte di spazio disco per l installazione e 2 10 megabyte aggiuntivi per spazio di lavoro Visore di file grafici con supporto per i formati Mac PICT GIF e possibilmente TGA e PNG File di POV Ray richiesti povmacnf sit oppure povmacnf sit hqx archivio stuffit contenente l applicazione per serie 68k senza FPU file esempio file include documentazione versione pi lenta per Mac senza coprocessore matematico oppure povmac68 sit o povmac68 sit hqx archivio stuffit contenente la versione per Macintosh serie 68k con FPU scene d esempio file include standard e documentazione versione pi veloce oppure povpmac sit o povpmac sit hqx archivio stuffit contenente la versione per Power Macintosh scene d esempio file include standard e documentazione Hardware raccomandato Processore 68030 33 o pi veloce con FPU o qualsiasi Power Macintosh Preferibilmente video a colori vanno bene anche 256 colori ma migliaia o milioni di colori sono meglio Opzionale il codice sorgente non necessario per il funzionamento di POV Ray viene fornito per i curiosi e gli avventurosi POV Ray per Macintosh pu essere compilato utilizzando Apple MPW 3 3 Metrowerks Code Warrior 8 o Symantec 8 povmacs sit oppure povmacs sit hqx il codice sorgente com
321. gramma iniziale a n Final Frame n Imposta il numero dell ultimo fotogramma Initial Clock n n Imposta il numero di clock inziale Final Clock n n Imposta il numero di clock finale KFIn Lo stesso che Initial Frame n KFFn Lo stesso che Final Frame n KIn n Lo stesso che Initial Clock n n KFn n Lo stesso che Final Clock n n La novita del loop interno per le animazioni nella versione di POV Ray 3 0 permette di non dover creare complicate serie di file batch per avviare pi volte POV Ray con impostazioni differenti Anche se la molteplicit delle opzioni pu intimidire per l intelligente impostazione dei valori di default baster nella maggior parte dei casi impostare solo Final Frame n o KFFn per specificare il numero dei fotogrammi Tutti gli altri valori possono rimanere come quelli predefiniti Ogni impostazione di Final Frame diversa da 1 far partire il loop interno di POV Ray Per esempio Final Frame 10 oppure KFF10 permette a POV Ray di renderizzare la tua scena 10 volte Se viene specificato output File Name file tga allora per ogni fotogramma si avr un file di output che si chiamer file01 tga file02 tga file03 tga ecc Il numero di zeri dipende dal numero totale dei fotogrammi Per esempio KFF100 generer da file001 tga a file100 tga Il numero progressivo del fotogramma pu invadere il nome del file Con MS DOS ed il suo limite di 8 caratteri per il nome myscene pov darebbe 100 fotogrammi da mysce001 tga a
322. gramma quale file leggere come input Se non viene specificata un estensione al nome del file si assume l estensione pov Quindi ishapes dice al programma di leggere e renderizzare il file shapes pov Il comando d1 d sta per display dice al programma di mostrare sullo schermo l immagine Il comando d disabiliterebbe questa funzione Il numero 1 dice al programma che tipo di risoluzione utilizzare Il tipo 1 la vecchia risoluzione VGA generica a 320 per 200 e solo 256 colori Funziona su tutti i sistemi VGA Ci sono altre opzioni attive oltre a quelle che sono state descritte Sono raccolte in un file di nome povray ini che stato creato dal sistema di installazione POV Ray cerca automaticamente questo file nella stessa directory dove si trova l eseguibile Vedi i paragrafi Usare i File INI e File INI per maggiori informazioni su povray ini ed altri file ini Quando si immette il comando mostrato sopra si vedono forme geometriche colorate apparire sullo schermo via via che POV Ray calcola il colore di ogni punto riga dopo riga Probabilmente il risultato visibile a schermo non sar soddisfacente Questo solo perch si tratta di un immagine di preview La vera immagine a colori a 24 bit ma non pu essere mostrata a schermo utilizzando la modalit VGA con soli 256 colori Se l hardware supporta l interfaccia VESA standard oppure si ha un driver VESA residente in memoria si pu provare a sostituire d1 con dg Questo da
323. h Abbiamo gi descritto come il file runpov bat pu essere utilizzato come un alternativa per fare funzionare POV Ray direttamente runpov bat ha anche un altro utilizzo Usa il comando gi per creare un file chiamato rerun ini Questo rende molto semplice renderizzare lo stesso file con gli stessi parametri Quando crei le tue scene probabilmente farai dozzine di rendering di prova Questa una funzione molto comoda Ecco come funziona supponi di renderizzare una scena in questo modo runpov iscena dl res120 Questa linea di comando renderizza scena pov ad una risoluzione di 120 per 90 Nota che questa scena cio il file scena pov non incluso nel programma E ipotetico dopo aver guardato l immagine hai notato un errore che hai corretto con l editor di testo Per renderizzare nuovamente la scena scrivi rerunpov ed tutto Verr renderizzata la stessa scena di prima con le stesse impostazioni Supponi di volere un maggior dettaglio alla prossima prova Puoi aggiungere altri comandi o file INI come ad esempio rerunpov res320 dar un rendering a risoluzione maggiore Successivi utilizzi di rerunpov daranno immagini a 320 punti per 200 fino a che non specificherai diversamente Un altro esempio il comando A inserisce l antialiasing Scrivere rerunpov A fa partire lo stesso rendering con l antialiasing Tutte le volte successive saranno con antialiasing fino a che non specificherai rerunpov A per disattivarlo
324. hapes inc include textures inc version 3 0 global settings assumed gamma 2 2 max trace level 5 sphere lt 1 0 6 gt 0 5 finish ambient 0 1 diffuse 0 6 pigment NeonPink box lt 1 1 1 gt lt 1 1 1 gt rotate lt 0 20 0 gt finish ambient 0 1 diffuse 0 6 pigment Green cylinder lt 6 6 30 gt lt 6 1 30 gt 3 39 finish ambient diffuse pigment NeonBlue plane y 1 0 pigment checker color Gray65 color Gray30 Light source lt 5 30 30 gt color White light_source lt 5 30 30 gt color White Oil 0 6 Ora possiamo procedere a piazzare la nostra macchina fotografica in una posizione appropriata Mettendola dietro 1 nostri tre oggetti dara un buon risultato Aggiustare il punto focale lo muovera in un qualunque punto della scena Aggiungiamo solo le righe seguenti al file camera location lt 0 0 1 0 10 0 gt look at lt 0 0 1 0 0 0 gt fecal poink lt 6 1 30 gt cilindro blu a fuoco focal poini 0 1 0 gt parallelepipedo verde a fuoco focal point lt 1 1 6 gt sfera rosa a fuoco aperture 0 4 un buon compromesso aperture 0 05 quasi tutto a fuoco aperture 1 5 molto sfuocato blur samples 4 pochi campioni pi veloce blur samples 20 pi campioni immagine di alta qualit Fig 4 Messa a fuoco Il pun
325. hapes pov da un altra directory Se non funziona il computer deve essere riavviato in modo che il nuovo path abbia effetto Se dopo avere riavviato il computer non funziona ancora si dovr adottare una strategia differente Ci sono possibilit che ci siano diverse directory nel path La maggior parte dei computer hanno c dos c windows o qualche directory come c utilities gi nel path Insieme a POV Ray ci sono diversi piccoli file batch che possono essere copiati in quella directory Chiameremo questa strategia metti file batch in una directory gi nel path strategia 2 Ad un prompt di DOS qualsiasi scrivere path e premere INVIO Verranno mostrate le directory che sono gi nel path del sistema operativo Allora si dovranno copiare i seguenti file dalla directory c povray3 ad una qualsiasi delle directory gi nel path I file sono runpov bat rerunpov bat runphelp bat t2g bat Una volta copiati questi file prova il seguente esempio In questo caso non fare partire il programma con il comando povray Usa invece runpov come segue cd povray pov3demo showoff runpov isunset3 d1 Questo porta alla directory povray pov3demo showoff dove si trova il file sunset3 pov e fa partire il file runpov bat Questo file batch impostato per fare partire POV Ray anche se l eseguibile povray exe non si trova nel path Inoltre passa tutti i comandi contenuti nella riga di comando a povray exe Questi file batch hanno altri utilizzi anche se
326. hardware video utilizzare Ecco una lista di tutti 1 tipi supportati comando scheda video D0 identificazione automatica 32 D1 Standard VGA 320x200 D2 Standard VGA 360 x 480 D3 Tseng Labs 3000 SVGA 640x480 D4 Tseng Labs 4000 SVGA D5 AT amp T VDC600 SVGA 640x400 D6 Oak Technologies SVGA 640x480 D7 Video 7 SVGA 640x480 D8 Video 7 Vega Cirrus VGA 360x480 D9 Paradise SVGA 640x480 DA Ahead Systems Ver A SVGA 640x480 DB Ahead Systems Ver B SVGA 640x480 DC Chips amp Technologies SVGA 640x480 DD ATI SGVA 640x480 DE Everex SVGA 640x480 DF Trident SVGA 640x480 DG VESA Standard SVGA DH ATI XL scheda video DI Diamond Computer Systems SpeedSTAR 24X Il genere di hardware video pi diffuso la scheda standard VESA che utilizza il comando dg VESA un interfaccia software standard che funziona su di un ampia gamma di schede video Le schede che non hanno supporto diretto alle specifiche VESA generalmente hanno un driver video che pu essere caricato in memoria per ottenere supporto VESA Il programma UniVBE un driver VESA universale di alta qualit che dovrebbe funzionare per tutti Puoi trovarlo a http www povray org o altri siti Internet di POV Ray Le opzioni elencate sopra sono state provate nelle prime versioni di POV Ray ma ci sono stati molti cambiamenti nel programma e non possiamo garantire che tutte funzionino Se puoi usare lo standard VESA fallo E stato provato approfonditamente e
327. hine crea un immagine la modifica in modo da ottenere una luminosit adatta al monitor sul quale la osserva Quindi i dati memorizzati nel file immagine sono gid corretti del fattore 0 45 che abbiamo visto prima Quando questi file sono visualizzati su sistemi Macintosh la correzione della gamma gi presente nel file sommata a quella operata automaticamente da MacOS rende l immagine troppo luminosa Analogamente le immagini che vengono visualizzate correttamente su sistemi Macintosh o SGI a causa della correzione della gamma automatica saranno troppo scure se visualizzate su un PC I nuovi file in formato PNG generati da POV Ray 3 0 superano questo problema memorizzando le informazioni sulla gamma dell immagine che il reciproco della gamma del monitor Quando il file in formato PNG viene visualizzato da un programma impostato correttamente utilizza il valore di gamma incluso nel file insieme al valore di gamma del monitor per correggere le differenze tra i sistemi Sfortunatamente di tutti i formati supportati da POV Ray PNG l unico che ha funzioni incorporate di correzione della gamma cromatica e quindi viene preferito per immagini che saranno visualizzate su un ampia variet di piattaforme 7 8 3 3 Gamma del File Scena Il problema della gamma colore del file immagine il risultato del metodo con cui le immagini vengono generate in POV Ray Quando inizi una nuova scena e posizioni le luci e imposti le texture ed i colori delle s
328. i declare White rgb lt 1 1 1 gt declare Cyan color blue 1 0 green 1 0 231 declare Weird rgb lt Foo 2 Bar 1 Bob 3 gt declare LightGray White 0 8 declare LightCyan Cyan red 0 6 Come l esempio LightGray mostra non hai bisogno di alcuna parola chiave del colore quando crei espressioni di colore basate su precedenti dichiarazioni L ultimo esempio mostra che puoi utilizzare un identificatore del colore con la sintassi della parola chiave Accertati che l identificatore venga prima di ogni altro componente di parole chiave Come accade per valori decimali e vettori puoi ri definire i colori lungo tutta una scena ma tale necessit rara 7 1 5 4 Operatori sul Colore I vettori colore possono essere combinati in espressioni allo stesso modo in cui avviene per valori decimali o per valori vettoriali Le operazioni sono compiute componente per componente Per esempio tgo lt lt brpa OLS 10 223 0149 viene valutato nello stesso modo di FOD lt 1 0 04590 04 2 Si 409 10197 049 3 o di rgb lt 0 9 0 45 0 18 gt Altre operazioni sono effettuate sullo stesso principio componente per componente Puoi usare l operatore punto per estrarre un singolo componente da un colore Supponi che l identificatore Shade fosse stato definito precedentemente come un colore Allora Shade red il valore decimale del componente rosso di Shade Similmente Shade green Shade blue Shade f
329. i pi dal fatto che sarebbe necessario cambiare il valore finale del clock ogni qual volta si dovesse cambiare il parametro Final Frame Impostando Cyclic Animation on o usando KC POV Ray aggiuster automaticamente il valore finale del clock in relazione al numero totale dei fotogrammi Il valore di default di queste impostazioni off 6 2 1 5 Rendering per campi Field Render bool Attiva disattiva l opzione di rendering per campi on off Odd Field bool Attiva l opzione per il rendering dei campi dispari on off UF Attiva il rendering per campi UF Disattiva il rendering per campi 191 UO Attiva il rendering dei campi dispari UO Disattiva il rendering dei campi dispari Il rendering per campi solitamente usato quando l animazione verr trasmessa via televisione La televisione mostra per ogni refresh verticale dello schermo una passata di linee orizzontali alternate Ogni volta che un fotogramma viene mostrato i due campi di linee alternate sono interlacciati per dare l impressione di una maggiore risoluzione dell immagine Le linee pari formano il campo pari e sono tracciate per prime cio le linee 0 2 4 ecc seguite dal campo dispari formato dalle linee dispari che vengono tracciate subito dopo Se gli oggetti in un animazione si muovono velocemente la loro posizione pu cambiare notevolmente da un campo a quello successivo Potr quindi essere preferibile renderizzare a campi alternati alla velocit effet
330. i Aloni 7 6 4 7 Campionamento per gli Aloni 7 6 4 7 1 Numero di Campioni 7 6 4 7 2 Sovracampionamento 7 6 4 7 3 Jitter 7 6 4 8 Modificatori degli Aloni 7 6 4 8 1 Modificatore Frequency frequenza 7 6 4 8 2 Modificatore Phase Fase 7 6 4 8 3 Modificatori di Trasformazione 7 6 5 Texture Speciali 7 6 5 1 Mappe di Texture 7 6 5 2 Tiles 7 6 5 3 Mappe di Materiali 7 6 5 3 1 Specificare una Mappa di Materiali 7 6 6 Texture Stratificate 7 6 7 Motivi Pattern 7 6 7 1 Agate Agata 7 6 7 2 Average Media 7 6 7 3 Bozo 7 6 7 4 Brick Mattoni 7 6 7 5 Bumps 7 6 7 6 Checker Scacchiera 7 6 7 7 Crackle Spaccature 7 6 7 8 Dents 7 6 7 9 Gradient Gradiente 7 6 7 10 Granite Granito 13 7 6 7 11 Hexagon Esagoni 7 6 7 12 Leopard Leopardo 7 6 7 13 Mandel 7 6 7 14 Marble Marmo 7 6 7 15 Onion Cipolla 7 6 7 16 Quilted Trapunto 7 6 7 17 Radial Radiale 7 6 7 18 Ripples Increspature 7 6 7 19 Spirall Spirale 1 7 6 7 20 Spiral2 Spirale2 7 6 7 21 Spotted 7 6 7 22 Waves Onde 7 6 7 23 Wood Legno 7 6 7 24 Wrinkles Spiegazzature 7 6 8 Modificatori di Pattern 7 6 8 1 Trasformare i Pattern 7 6 8 2 Frequenza e Fase 7 6 8 3 Forma d Onda 7 6 8 4 Turbolenza 7 6 8 5 Ottave Octaves 7 6 8 6 Lambda 7 6 8 7 Omega 7 6 8 8 Warp Deformazioni 7 6 8 8 1 Buco Nero 7 6 8 8 2 Ripetizione 7 6 8 8 3 Turbolenza 7 6 8 9 Modificatori di Immagini Bitmap 7 6 8 9 1 L Opzione ONCE 7 6 8 9 2 L Opzione MAP_T
331. i adatti alle nostre esigenze posiamo definire i nostri colori personalizzati utilizzando la parola color seguita dalle parole red green blue che specificano l ammontare delle componenti di rosso verde e blu da mescolare Ad esempio una bella tonalit di rosa pu essere specificata usando color red 1 0 green 0 8 blue 0 8 I valori dopo ogni keyword parola chiave in questo caso red green blue dovrebbero essere compresi tra 0 ed 1 Se qualcuna delle tre componenti non venisse specificata il suo valore verrebbe interpretato come zero Si pu usare anche una notazione abbreviata La seguente frase 34 produce lo stesso rosa color rgb lt 1 0 0 8 0 8 gt I colori sono spiegati in maggiore dettaglio nella sezione Specificare i Colori 4 1 6 Definire una Sorgente Luminosa Abbiamo bisogno di un altra cosa per la nostra scena Abbiamo bisogno di una sorgente luminosa Fino a che non ne creiamo una non c luce in questo mondo virtuale Quindi aggiungiamo la linea light source lt 2 4 3 gt color White alla nostra scena in modo da ottenere il nostro primo file scena per POV Ray come segue finclude colors inc background color Cyan camera location lt 0 2 3 gt look at lt 0 1 2 gt sphere lt 0 1 2 gt 2 texture pigment color Yellow light Source lt 2 4 3 gt color White Il vettore nella frase light source specifica la posizione della luce due unit alla
332. i alla sua circonferenza quando ruota di 360 gradi In questo modo abbiamo sincronizzato la rotazione della sfera alla sua traslazione facendo sembrare che essa rotoli tranquillamente sul piano Oltre a permetterci di coordinare molteplici aspetti dei cambiamenti che avvengono nella scena durante l animazione matematicamente parlando l altra buona ragione per utilizzare valori normalizzati di clock che non importa se stiamo renderizzando la nostra animazione per fare una GIF animata da 10 fotogrammi o un filmato AVI da 300 I valori di clock sono proporzionali al numero dei fotogrammi e quindi lo stesso codice di POV Ray funzioner indipendentemente da quanto lunga la sequenza La nostra palla si sposter esattamente della stessa distanza e non importa quanto finir con l essere lunga l animazione 4 10 6 2 Variabili Dipendenti da Clock ed Animazioni a pi Fasi Cosa facciamo se vogliamo che la nostra palla rotoli da sinistra a destra per la prima met dell animazione poi cambi direzione di 135 gradi e rotoli da destra a sinistra e indietro per la 179 seconda met dell animazione Avremmo bisogno di utilizzare delle istruzioni condizionali che esaminino il valore di clock per determinare se giunto a met animazione ed in caso positivo comincino a renderizzare una nuova sequenza di animazione sempre dipendente da clock Ma il nostro scopo come sopra di lavorare con una variabile il cui valore vada da 0 ad 1 normalizzata p
333. i ellissoidali La parola chiave component d un componente sferico ed usata solo per mantenere la compatibilit con le precedenti versioni di POV Ray Il parametro strenght un valore decimale che specifica la forza del campo nel centro dell oggetto La forza pu essere positiva o negativa Un valore positivo far s che un componente attragga gli altri componenti una forza negativa glieli far respingere I componenti di blob diversi non si influenzano a vicenda Si deve tenere a mente che 1 Il valore della forza pu essere positivo o negativo Zero non un valore accettabile perch in questo caso non ci sarebbe alcun campo di forza e quindi come se il componente non fosse stato aggiunto 2 Se il valore della forza positivo POV Ray aggiunge la forza del componente allo spazio attorno al suo centro Se la forza aggiunta maggiore del valore di soglia la superficie del componente visibile 3 Se il valore della forza negativo POV Ray sottrae il campo del componente dallo spazio circostante Questo ha effetto solo se ci sono componenti positive vicine Quello che succede che la superficie delle componenti positive che lo circondano viene respinta a partire dal centro del componente negativo I componenti di ogni blob sono delimitati automaticamente da una gerarchia di sfere per accelerare i test di intersezione raggio oggetto e le altre operazioni Usando la parola chiave facoltativa hierarchy si pu disatt
334. i i valori diversi da zero significano che il pattern deve essere capovolto 7 6 8 8 3 Turbolenza Il linguaggio di POV Ray contiene un ambiguit sul modo in cui possono essere specificate la turbolenza e le trasformazioni come traslazione rotazione e ridimensionamento Normalmente la turbolenza viene calcolata per prima Poi tutte le altre trasformazioni vengono eseguite indipendentemente dall ordine con cui vengono specificate rispetto alla turbolenza Per esempio questa frase pigment wood scale 5 turbulence 2 ha esattamente lo stesso significato di pigment wood turbulence 2 scale 5 La turbolenza viene calcolata per prima Un esempio migliore si ha con la turbolenza lungo un asse insieme alle rotazioni confronta infatti pigment wood turbulence 0 5 y rotate z 60 con pigment wood rotate z 60 turbulence 0 5 y 370 Il risultato sar lo stesso in entrambi i casi anche se sembra che le due istruzioni dovrebbero dare risultati diversi Questo comportamento non si pu cambiare perch altrimenti tutte le scene scritte per le versioni precedenti di POV Ray in cui non ci sono differenze nell ordine turbolenza trasformazioni sarebbero renderizzate in modo diverso Invece specificando la turbolenza all interno di una frase warp si permette a POV Ray di distinguere l ordine in cui turbolenza e trasformazioni compaiono Questo un esempio di un warp turbolenza warp tur
335. i idem Puoi creare i tuoi file INI personalizzati che contengano qualunque comando citato nella guida 3 2 3 Alternative a POVRAY INI Il file povray ini dovrebbe contenere tutte le tue opzioni preferite quelle che usi ogni volta Per questo ti dovresti sentire libero di editarlo con le nuove opzioni che possono soddisfare le tue necessit Comunque deve trovarsi nella stessa directory di povray exe o non verr trovato Il path di MS Dos non viene analizzato cos come l aggiunta di un comando 1 non aiuta perch povray ini viene letto da POV Ray prima di qualunque altro comando Se la tua copia di povray exe si trova su un CD ROM allora non puoi editare povray ini sul CD C un alternativa Puoi utilizzare una variabile di ambiente per specificare un valore alternativo Nel tuo file autoexec bat aggiungi una linea simile a questa set POVINI d direct file ini che regola la variabile d ambiente POVINI verso un qualunque drive directory e file INI che tu hai scelto Se specifichi un qualsiasi valore per la variabile d ambiente POVINI allora POV Ray non legge povray ini Questo accade anche se il file INI che hai specificato non esiste Nota che si deve specificare un percorso completo e il nome del file Questo non un puntatore ad una directory contenente povray ini un puntatore al file in s Nota anche che la variabile di ambiente POVRAYOPT delle precedenti versioni di POV Ray non pi supportata 31 3 2 4 File Batc
336. i il problema si trova ovviamente da qualche parte nella zona commentata Un controllo lento e metodico di questo tipo porta a trovare l errore o a impazzire serenamente Forse ad entrambe le cose Se ti sembra di esserti perso o di aver perso un oggetto succede all inizio ci sono alcuni trucchi che talvolta possono aiutare Sposta indietro la camera per avere una visione estesa Ci pu non essere di aiuto con oggetti 403 piccoli che possono essere meno visibili da lontano ma un aiuto Prova ad impostare la luce ambiente ad 1 0 se sospetti che gli oggetti siano semplicemente in ombra Ci li render luminescenti e potrai vederli anche senza luci nella scena Cambia l oggetto con un sostituto pi grande come una grossa sfera o un cubo Assicurati che tutte le trasformazioni che vengono applicate all oggetto siano applicate anche al sostituto in modo che vengano a trovarsi nella stesa posizione Appendice F 3 Suggerimenti per l Animazione Quando si animano degli oggetti con texture la texture deve muoversi insieme all oggetto cio devi applicare le stesse rotazioni o traslazioni alla texture ed all oggetto Ci viene fatto automaticamente se le trasformazioni sono applicate dopo il blocco texture come nel seguente esempio oggetto pigment scale lt gt oggetto e texture verranno ridimensionati nella stessa proporzione mentre oggetto scale lt gt pigment ridimensione
337. i possono essere imposte Gli acquirenti del prodotto non devono essere indotti a credere che stanno pagando per POV Ray Qualunque menzione di POV Ray fatta sul contenitore nella pubblicit o nel manuale di istruzioni deve essere fornita con la chiara informazione che POV Ray software gratuito e che pu essere ottenuto gratis o per un costo simbolico da varie fonti Devono essere incluse informazioni su come ottenere la versione ufficiale di POV Ray Si deve fornire pieno supporto per tutti gli utenti che sono entrati in possesso di POV Ray attraverso il prodotto Il POV Ray Team non obbligato a fornire al distributore o alla sua clientela qualunque supporto tecnico Si deve includere una o pi pagine di credito per POV Ray Se viene modificata una qualunque parte di POV Ray per l utilizzo con hardware o software particolari si devono seguire anche le norme per la distribuzione di versioni personalizzate Devono essere fornite informazioni di supporto tecnico e su come contattare il distributore Si deve includere un pacchetto competo come viene definito nei paragrafi precedenti Appendice A 10 Valore Commerciale del Software Sebbene POV Ray sia quando distribuito entro i termini di questa licenza gratuito il valore commerciale 0 prezzo di questo software determinato in 20 dollari USA per ogni copia distribuita copiata o usata Se il software distribuito copiato o usato senza autorizzazione si legalmente in
338. i predefiniti delle normali nella texture Il TIPO DI MOTIVO pu essere seguito da un valore decimale che controlli la profondit apparente delle irregolarit I valori possono variare tra 0 0 e 1 0 ma possono essere usati anche altri valori Valori negativi invertono l effetto Il valore predefinito usato se non ne viene specificato un altro sar 0 5 Valori validi per i modificatori delle normali sono le parole chiave slope map normal map bump map e bump size cos come tutti i generici modificatori di motivi quali la rotazione la traslazione il ridimensionamento la turbolenza le ondulazioni e il warp Questi modificatori verranno applicati solo alle normali e non ad altre parti della texture I modificatori dovrebbero essere specificati per ultimi Ci sono tre tipi fondamentali di pattern di normali Sono pattern speciali e mappe bump Si differenziano per i tipi di modificatori che si possono usare All inizio POV Ray aveva dei motivi pattern che erano riservati alle normali Dalla versione 3 0 di POV Ray possibile usare qualunque motivo sia per i pigmenti che per le normali Per esempio possibile usare ripples come pigmento 0 wood come tipo di normale I motivi bumps dents ripples waves wrinkles ebump map che prima erano esclusivamente motivi validi per le normali ora possono essere usati anche come pigmenti Siccome questi sei tipi in particolare usano 1 calcoli relativi alle normali non possono avere modificatori quali
339. i trasformazioni affinch sia pi facile vederla Queste includono rimpicciolirla di un fattore 10 e ruotarla in modo che si possano vedere bene tutti gli anelli object Chain scale 1 rotate lt 0 45 45 gt Fig 60 I Tori possono essere usati per creare catene Renderizziamo questa scena e dovremmo vedere una catena dorata molto realistica che si estende diagonalmente attraverso lo schermo 4 5 Geometria Solida Costruttiva CSG Geometria Solida Costruttiva in Inglese Constructive Solid Geometry CSG N d T un potente strumento per combinare oggetti primitivi e creare oggetti pi complessi come mostrato nei paragrafi seguenti 4 5 1 Cosa Vuol Dire CSG CSG significa Geometria Solida Costruttiva POV Ray ci permette di costruire solidi complessi combinando solidi primitivi in quattro modi diversi Ci sono l unione dove due o pi oggetti vengono sommati insieme l intersezione dove due oggetti vengono combinati per ottenere un terzo oggetto che consiste del volume comune ai due oggetti di partenza La differenza dove gli oggetti successivi vengono sottratti dal primo Infine la fusione che come un unione in cui le superfici interne vengono rimosse utile in oggetti CSG trasparenti Tratteremo in dettaglio ciascuno di questi nelle sezioni successive Gli oggetti CSG possono essere estremamente complessi e 53 profondamente annidati In altre parole ci possono essere unioni di differenze o intersezioni
340. i trovano sul piano x z la mappa giace sul piano x y quindi dovray ruotare la mappa di 90 attorno all asse x usa rotate x 90 per fare allineare la mappa all height field Appendice G 4 2 Domande sul Testo D E possibile sapere in qualche modo la dimensione di un oggetto testo R Purtroppo no Ci servirebbe veramente ma non facile Fino a pochi giorni prima dell uscita della versione beta non funzionava nemmeno la spaziatura orizzontale Ora che l abbiamo aggiustata forse troveremo un modo per leggere la lunghezza del testo Appendice G 5 Domande Atmosferiche Appendice G 5 1 Domande sull Atmosfera D Perch l atmosfera che ho aggiunto non visibile R l errore pi comune non aggiungere la parola chiave hollow a tutti gli oggetti entro cui si trova la macchina fotografica Se sei all interno di un parallelepipedo che serve per modellare una stanza devi aggiungere la parola chiave hollow alla frase box se ti servi di un piano per modellare il suolo dovrai aggiungergli hollow solo se ti trovi all interno del piano ma per esserne sicuro puoi farlo sempre Se questo non funziona possono esserci altri problemi da verificare I valori di distance e scattering devono essere maggiori di zero Le sorgenti luminose che devono interagire con 406 l atmosfera non devono contenere il comando atmosphere off D Perch non vedo l atmosfera attraverso un oggetto trasparente R Se hai un oggetto trasparente
341. i vettori up e right insieme con il vettore direction determinano l orientazione della macchina fotografica nella scena Sono determinate implicitamente dai valori di default di tight 4 3 x up Y oppure dal parametro look at in combinazione con location Le direzioni specificate esplicitamente da up e right sono sovrascritte da ogni seguente impostazione del vettore look at Mentre alcuni tipi di macchina fotografica ignorano la lunghezza di questi vettori altri li utilizzano per ottenere informazioni circa le impostazioni della macchina fotografica La lista seguente spiega il significato dei vettori up e right per ogni tipo di macchina fotografica Poich la direzione dei vettori sempre usata per descrivere l orientazione della macchina fotografica l utilizzo del vettore direction non sar spiegato di nuovo Proiezione prospettica La lunghezza dei vettori up e right usata per impostare le dimensioni ed il rapporto altezza larghezza della visuale come viene descritto in dettaglio nella sezione Rapporto Altezza Larghezza Poich il campo visivo dipende dalla lunghezza del vettore direzione regolato implicitamente dalla parola chiave angle o esplicitamente da direction e dalle lunghezze dei vettori up e right si devono scegliere con attenzione i valori con cui si possono ottenere i risultati desiderati Proiezione ortografica la lunghezza dei vettori up e right fissano la dimensione del campo visivo indipendentemente dall
342. iamo 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 61 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 4 6 La Sorgente Luminosa Una qualunque scena renderizzata con tecniche di raytracing il caso di POV Ray la luce necessaria per illuminare 1 nostri oggetti e le loro superfici deve provenire da una sorgente luminosa Ci sono molti tipi di sorgente luminosa in POV Ray e un uso attento del tipo giusto pu condurre a risultati molto notevoli Soffermiamoci un momento sui vari tipi di sorgente luminosa e sui loro vari parametri 4 6 1 La Luce Ambiente Luce ambiente utilizzata p
343. iamo visto non saremo in grado di usare quel motivo di texture come strato Otterremmo solamente un messaggio di errore La soluzione di capovolgere il problema e far diventare la nostra texture stratificata parte della texture stessa come nell esempio Questa parte dichiara un pigmento da usare nella texture macchie di ruggine declare Rusty pigment granite color map 0 rgb lt 0 2 0 0 gt 1 Brown frequency 20 E questa parte lo applica Nota che la nostra texture stratificata originale Speckled Metal ora parte della mappa declare Rust Patches texture bozo texture map 0 0 pigment Rusty 0 75 Speckled Metal 1 0 Speckled Metal L effetto che otteniamo in definitiva come se avessimo messo lo strato macchie di ruggine sopra lo strato Speckled_Metal Con l intera gamma di pattern pigmenti normali finiture texture speciali e stratificate ora possiamo praticamente fare tutto C un numero quasi infinito di combinazioni che aspettano solo di essere create 4 10 Usare Effetti Atmosferici POV Ray offre una quantit di effetti atmosferici cio di funzioni che influiscono sullo sfondo della scena o sull aria di cui tutto circondato E semplice assegnare un singolo colore od un complesso motivo di colori ad una virtuale sfera celeste Puoi creare qualunque cosa da un cielo estivo senza nuvole ad un cielo tempestoso Si p
344. iaramente informati che stanno usando POV Ray che il software gratuito e dove possono reperire le versioni ufficiali del programma Qualunque tentativo di oscurare il fatto che l utente sta utilizzando POV Ray espressamente proibito 394 Tutti i file normalmente disponibili in una distribuzione completa e soprattutto una copia di questa licenza e la documentazioni devono essere resi disponibili per downloading o leggibili on line in modo che gli utilizzatori del programma abbiano accesso al materiale del pacchetto completo Appendice A 8 Condizioni per la Distribuzione di Versioni Personalizzate L utente ha il diritto e il privilegio di poter modificare e compilare il codice sorgente per il proprio uso personale in qualunque modo desideri Ci che fai in casa tua col software sono affari tuoi Se l utente vuole distribuire una versione modificata del software della documentazione o di altre parti del pacchetto deve seguire le istruzioni fornite qui Ci comprende ogni traduzione del manuale in altri linguaggi o altri formati Queste istruzioni sono state scritte per promuovere la crescita di POV Ray e prevenire le difficolt per gli utenti e per gli sviluppatori del programma Qualora si creasse una versione personalizzata seguirle attentamente per il beneficio di tutte le persone coinvolte Nessuna porzione del codice sorgente di POV Ray pu essere inclusa in un altro programma a meno che non sia chiaramente una versione person
345. iarato union object Half Torus translate y Torus Translate 2 object Half Torus rotate Flip It Over translate y Torus Translate 2 object Chain Segment translate x Torus Translate 2 object Chain Segment 50 translate x Torus Translate 2 Renderizziamo questa scena e voila Fig 58 Anello di una catena Un anello di una catena Ma non abbiamo ancora finito Chi ha mai sentito parlare di una catena verde Preferiremmo invece usare un bel colore metallico Per prima cosa eliminiamo tutti i blocchi pigment nelle dichiarazioni di tori e cilindri Poi aggiungiamo queste righe prima di union 3 declare Chain Gold texture pigment BrightGold finish ambient diffuse 4 reflection 25 specular metallic E quindi aggiungiamo la texture all unione e dichiariamo l unione come un singolo anello declare Link union object Half Torus translate y Torus Translate 2 object 4 Half Torus rotate Flip It Over translate y Torus_Translate 2 object Chain Segment translate x Torus Translate 2 object Chain Segment 51 translate x Torus Translate 2 texture Chain Gold Ora facciamo un unione di due anelli Il secondo dovr essere traslato di y in modo che la sua parete interna si incontri appena con la parete interna dell altra maglia proprio come gli anelli di una catena Questa distanza il doppio della distanza Torus Translate m
346. iato in questa infinit di cubi Si possono anche usare frasi di descrizione dei pigmenti al posto dei semplici colori Ad esempio pigment checker pigment Jade pigment Black Marble Quando viene usato con le normali la sintassi normal checker QUANTITA dove QUANTITA e un valore facoltativo che specifica la profondit dei bumps All interno di checker si possono usare anche intere descrizioni delle normali Ad esempio normal checker normal gradient x scale 2 normal gradient y scale 2 Quando si usa con le texture la sintassi invece texture checker texture tT Wood 3A texture Stonel2 Questo utilizzo di checker nelle texture sostituisce la parola chiave tiles delle versioni precedenti di POV Ray Si pu ancora usate tiles ma potrebbe venire eliminata nelle prossime versioni di POV Ray quindi la scelta migliore utilizzare checker Il checker un pattern che non pu usare i modificatori delle forme d onda mappe di colori o slope map 7 6 7 7 Crackle Spaccature Il pattern crackle un insieme di poligoni disposti casualmente che suddividono lo spazio Ingrandito e senza turbolenza rende bene un pavimento o un muro di pietra Rimpicciolito e senza turbolenza rende bene l aspetto di una ceramica leggermente crepata Usare alti valori della turbolenza lo rende un buon marmo che evita anche il problema della presenza di strati apparentemente uguali nel pigmento marble Matematicame
347. ibilit con versioni precedenti di POV Ray Version n n specificate con n n MVn n Lo stesso di Version n n Nonostante che nella versione di POV Ray 3 0 siano stati fatti molti cambiamenti nel linguaggio e nella sintassi resta ancora possibile utilizzare la sintassi delle precedenti versioni 2 0 e 1 0 Quando possibile si cercato di mantenere la piena compatibilit con le precedenti versioni Una delle funzioni della versione 2 0 che incompatibile con qualunque file di una scena creato con la versione 1 0 il parsing di espressioni a virgola mobile Impostando Version 1 0 o usando il parametro MV1 0 si potranno evitare le funzioni del parsing non presenti nella versioni 1 0 e molti dei messaggi di attenzione e cos quasi tutti i file della versione 1 0 potranno funzionare I 202 cambiamenti fra la versione 2 0 e 3 0 sono meno fondamentali Impostare Version 2 0 necessario solo per eliminare qualche messaggio di attenzione Naturalmente l impostazione predefinita per questa opzione Version 3 0 Questa opzione influenzer le impostazioni iniziali mentre la funzione version render possibile cambiare anche pi volte all interno della scena il tipo di linguaggio e di sintassi compatibile Vedere la sezione Istruzioni di Versione 6 2 3 4 Rimuovere il Bounding Impostato Manualmente Remove Bounds bool Permette di rimuovere i bounds non necessari on off UR Permette di rimuovere i bounds non necessari UR Permette
348. icate nel paragrafo seguente Gli archivi devono essere facilmente disponibili e raccolti in un area serie di directory con programmi simili Si richiede che 1 siti di distribuzione on line rimuovano le precedenti versioni di POV Ray per evitare confusione all utente e semplificare o minimizzare i nostri sforzi di supporto Il sito pu ricaricare solo tariffe di utilizzo standard per il downloading del software Non si possono richiedere extra per questo pacchetto Ad esempio CompuServe o America On Line possono rendere disponibile il software ai loro utenti ma possono richiedere solo le normali tariffe di uso per il tempo necessario al downloading del software Appendice A 7 Esecuzione remota di POV Ray Alcuni siti internet sono stati impostati in maniera tale che utenti remoti possano eseguire POV Ray sul server internet Altre societ vendono tempo di CPU per eseguire POV Ray su workstation o computer ad alta velocit Un simile utilizzo di POV Ray permesso alle seguenti condizioni Tariffe per simili servizi devono venire imposte ESCLUSIVAMENTE sulla base del tempo di connessione dello spazio disco utilizzato e dell utilizzo del processore Non possono venire ricaricate tariffe per l utilizzo di POV Ray oltre a quelle imposte per l utilizzo di altro software Si devono informare chiaramente gli utenti che le tariffe che pagano sono per l utilizzo del computer e non per l utilizzo del software POV Ray Gli utenti devono essere ch
349. ici vanno da 0 01 a 0 5 o maggiori Il valore predefinito zero Ad esempio finish crand 0 05 La granulosit introdotta da questa funzione applicata punto per punto Questo significa che apparir uguale sia in oggetti vicini che in oggetti lontani L effetto varier invece in relazione alla risoluzione usata per il rendering Per questa ragione non un modo molto realistico di rendere le superfici granulose ma alcuni oggetti potrebbero risultare migliori Crand non dovrebbe essere usato nelle animazioni Questa una delle pochissime funzioni completamente casuali di POV Ray e nelle animazioni produrrebbe delle differenze non volute tra fotogramma e fotogramma 7 6 3 3 Punti Illuminati Si chiamano highlights quei punti chiari che appaiono quando una sorgente luminosa riflessa da un oggetto liscio Sono dati da un misto di riflessione speculare e diffusa Si comportano come la luce speculare perch dipendono dagli angoli di illuminazione e di osservazione D altra parte sono simili anche alla luce diffusa perch avviene dispersione Per modellare con esattezza questi punti illuminati dovresti calcolare la riflessione speculare di migliaia di microscopici rilievi chiamati microsuperfici Quanto pi queste sono rivolte verso l osservatore pi l oggetto sembrer luminoso e pi stretta apparir la zona del riflesso POV Ray usa due modelli diversi per simulare questi punti illuminati senza calcolare le microsuperfici Questi me
350. ico di Responsabilit Il software fornito come senza qualunque garanzia Sebbene gli autori abbiano cercato di scoprire e correggere qualunque difetto nel software non sono responsabili per qualunque danno o perdita di qualunque tipo causata dall uso o dall abuso del software Gli autori non sono obbligati a fornire servizio correzioni o miglioramenti a questo pacchetto Appendice A 14 Supporto Tecnico Speriamo sinceramente che vi divertiate col nostro programma Se avete problemi col programma il Team vorrebbe esserne informato Se ci sono commenti domande o possibili miglioramenti contattate il POV Ray Team sul forum POVRAY di CompuServe Visitate anche i siti internet http www povray org ed ftp povray org Il gruppo USENET comp graphics rendering raytracing una grande fonte di informazioni su POV Ray e sugli argomenti correlati Richieste di licenza e di limitato supporto tecnico dovrebbero essere fatte via e mail a Chris Young POV Ray Team Coordinator CIS 76702 1655 Internet 76702 1655 compuserve com Il seguente indirizzo postale solo per questioni di licenza qualora non fosse possibile inviare posta elettronica 397 Non forniamo supporto per posta solo per posta elettronica e non ci interessa se non hai un modem o accesso a servizi on line Non spediamo dischi con aggiornamenti Non spedite soldi Chris Young 3119 Cossell Drive Indianapolis IN 46224 U S A Altre informazioni sugli autori possono
351. icolarmente ad essa Manipolando artificialmente questo vettore si possono simulare superfici non lisce Le frasi relative alle normali sono frasi che fanno parte della sintassi delle texture e definiscono in particolare le modifiche da applicare alla componente normale della superficie Come le frasi relative al pigmento possibile omettere l intero blocco delle frasi relative alla texture pi propriamente diminuendo i tempi di battitura Non bisogna per dimenticarsi che comunque implicito il concetto di texture Per esempio questa object Coso texture pigment color Purple normal bumps 0 3 pu essere accorciata cos object Coso pigment color Purple normal bumps 0 3 Inserire una frase per le normali non modifica realmente le superfici Modifica solamente il modo in cui le luci vengono rifratte e riflesse Il modo completo per definire le normali questo normal IDENTIFICATORE DI NORMALI 320 TIPO DI MOTIVO valore decimale MODIFICATORI DI NORMALI TRANSFORMAZIONI Ognuno degli elementi che compongono l intera sintassi delle normali facoltativo ma se presente deve essere nell ordine che mostrato qui sopra per essere sicuri che il risultato sia quello desiderato Ogni frase dopo l IDENTIFICATORE DELLE NORMALI modificher o sovrascriver precedenti impostazioni Se non viene specificato alcun identificatore allora la frase modificher i valor
352. icubic patch black_hole blob blue blur samples bounded by box box mapping bozo break brick brick size brightness brilliance bumps bumpy1 bumpy2 bumpy3 bump map 418 caustics ceil checker chr clipped by clock color color map colour colour map component composite concat cone confidence conic sweep constant controlo controll cos cosh count crackle crand cube cubic cube spiine cylinder cylindrical mapping debug declare default degrees dents difference diffuse direction disc distance distance maximum div dust dust type eccentricity else emitting end 419 error error bound exp exponent fade distance fade power falloff falloff angle false file exists filter finish fisheye flatness flip floor focal point fog offset fog type frequency global settings glowing gradient granite gray threshold green alo eight _ field exagon f gray _ 16 ierarchy ollow ypercomplex Toog oo D if ifdef iff image map incidence include int interpolate intersection inverse ior irid irid wavelength 420 jitter julia fractal lambda lathe leopard Light_source linear linear spline linear sweep location log looks like look at low error factor a M mandel ma
353. if dopo che stato completato il rendering della scena 6 2 4 1 Sostituzione di Stringhe nei Comandi di Shell Pu essere noioso cambiare l opzione Post_Scene Command ogni volta che viene cambiato il nome del file di scena POV Ray pu sostituire automaticamente alcuni valori nelle righe di comando Per esempio Post Scene _ Command tga2gif d m Gs POV Ray sostituir il Ss con il nome del file di scena Tale nome specificato nell opzione INI Input File Name o nel parametro I e verr utilizzato dal Post_ Scene Command eliminando dal nome il percorso Per esempio Input File Name c povray3 scenes waycool pov diventer Post Scene Command tga2gif d m waycool Per le animazioni pu essere necessario avere il nome esatto del file di output con l appropriato numero di fotogramma incluso Supponendo che si desideri salvare le immagini di output in un file zip usando pkzip si potrebbe fare Q Post Frame Command pkzip m s o dopo aver renderizzato il fotogramma 12 di myscene pov POV Ray passer al sistema operativo con pkzip m myscene mysce012 tga Il parametro M in pkzip sposta mysce012 tga a myscene zip e lo cancella dalla directory Da notare che o aggiunge i numeri al nome del fotogramma solo quando si tratta di un animazione Per le opzioni Pre Scene Command e Post Scene Command non c nessun numero di fotogramma cos verr usato il nome dell originale file di output senza aggiunta di un numero Ogni
354. ight n con alterazioni nel suo contenuto 427 Coloro che trasgrediscono a queste norme sono passibili di denuncia per violazione delle leggi italiane sui diritti di autore Persistence Of Visions POV Ray e POV Team sono marchi registrati del POV Ray Development Team POSTSCRIPT un marchio registrato di Adobe Microsoft MS DOS Windows Windows 95 Windows NT sono marchi registrati da Microsoft Corporation MacOS Macintosh e Power Macintosh sono marchi registrati da Apple Computers Inc SunOS un marchio registrato da Sun Computer Systems Inc Cray e Silicon Graphics sono marchi di propriet del gruppo Silicon Graphics Inc Tutti gli altri marchi citati sono dei rispettivi proprietari 428
355. ight field per renderizzare paesaggi Si potrebbe infatti usare un height field per creare un isola e usare un altro oggetto per simulare il mare Una gran parte dell height field sarebbe sotto il livello dell acqua quindi stato introdotto il parametro water level che permette a POV Ray di ignorarne la parte non visibile La parola chiave water level pu servire anche per rimuovere parti indesiderate di 271 un height field corrispondenti a quote basse Ad esempio se hai un immagine di un frattale su uno sfondo a tinta unita ed il colore dello sfondo il colore 0 nella tavolozza lo si pu rimuovere dall height field specificando water level 001 Normalmente gli height field hanno un aspetto ruvido ed irregolare poich sono costituiti da molti triangoli Aggiungendo la parola chiave smooth POV Ray pu modificare i vettori normali alla superficie dei triangoli in modo tale che le luci e le ombre dei triangoli appaiano pi uniformi Questo pu permetterti di utilizzare una minore risoluzione di quella che sarebbe in realt necessaria quando renderizzi l height field Comunque l uso dei triangoli smussati aumenter il tempo di rendering Per aumentare le velocit dei test di intersezione raggio oggetto possibile una gerarchia di bounding ad un livello Per default questa viene sempre usata ma pu essere disattivata per aumentare la velocit di rendering per piccoli height field generati cio da immagini a bassa risoluzione
356. il raggio passer attraverso oggetti cavi colpir l oggetto contenitore e sar possibile calcolare l halo Quanto detto sopra vale anche per la nebbia e per l atmosfera 7 5 1 2 Tranelli della rifrazione Questo tranello coinvolge gli oggetti che possono dar luogo a rifrazione e quelli trasparenti ma non rifrangenti Immaginate di voler creare un oggetto che fatto in parte di vetro e in parte di pietra usando una frase merge per non vedere le superfici interne merge sphere lt 1 0 0 gt 2 texture Pietra sphere lt 1 0 0 gt 2 texture Vetro Cosa c di sbagliato qui Il problema che non c modo di distinguere di quale materiale sara l interno dell oggetto Questo non un problema solo di POV Ray ma generale Non possibile definire l interno di un oggetto in un modello basato sulle superfici Sarebbe necessario creare regole molto complesse per poter stabilire di quale materiale costituito l oggetto all interno Sar fatto di pietra Di vetro Di una strana mistura fra i due E se fosse fatto per met di pietra e per met di vetro Come risulter il passaggio tra i due materiali Non sarai in grado di rispondere a nessuna di queste domande guardando semplicemente l oggetto Ti saranno necessarie maggiori informazioni Se vuoi creare un oggetto met di pietra e met di vetro usa la seguente sintassi union intersection sphere lt 1 0 0 gt 2 plane
357. il valore di tightness a 100 maggiore pi stretto e renderizziamo di nuovo 65 Fig 75 Aumentare il valore di tightness La luce sembra essersi ristretta ma ci che veramente successo che la zona di falloff diventata talmente larga che il raggio appare effettivamente minore Decidiamo che un valore di 10 il valore predefinito per tightness e 18 per falloff sono una regolazione ottimale per questo spot e ora vogliamo metterne qualcuno qui e l per la scena per aumentare l effetto Creiamo uno spot blu leggermente pi stretto di questo ed uno rosso in aggiunta a quello bianco che abbiamo gi light source 4 lt l0 10 L gt color Red spotlight radius 12 falloff 14 tightness 10 point at lt 2 0 0 gt light_source lt 12 10 1 gt color Blue spotlight radius 12 falloff 14 tightness 10 point at lt 2 0 0 gt Renderizzando questa scena 66 Fig 76 Spot colorati Vediamo che le abbiamo aggiunto un aspetto meravigliosamente misterioso I tre spot convergono tutti sugli oggetti rendendoli blu su un lato e rossi sull altro con abbastanza bianco al centro per bilanciare l effetto 4 6 4 Luci Cilindriche Gli spot sono conici nel senso che il loro effetto cambia con la distanza Pi lontano si trova un oggetto dallo spot pi largo sar il raggio della zona illuminata Ma noi potremmo desiderare che raggio e falloff siano di una particolare dimensione indipen
358. ile Da Mi sa invia il testo relativo alle informazioni sui messaggi di A File file ue attenzione debug errori fatali rendering statistiche a file GAfile sia All Console 0n siaAll File file GAfile sia All Console 0ff sia All File file Si pu inviare una copia dei messaggi a un file per i messaggi di debug errore fatale rendering statistiche o di attenzione Per esempio utilizzando l opzione Statistic File s o il parametro GSs Se la stringa s true o uno degli altri parametri validi allora si potranno inviare i messaggi ad un file con nome predefinito Valori validi sono true yes on o 1 Se il valore false non si avr file di output Valori validi per false are false no off o 0 Ogni altra stringa specificata attiva il file di output e la stringa interpretata come il nome del file di output Allo stesso modo si possono specificare true false od il nome del file dopo un parametro per esempio GS file E anche possibile mandare ad uno stesso file tutti e cinque i tipi di messaggio con l opzione All File oil parametro GA Non devi specificare lo stesso nome di file per pi tipi di messaggi perch POV Ray fallir nell aprire o chiudere lo stesso file due volte Queste opzioni hanno effetto immediato una volta specificate Ovviamente un messaggio di errore o di attenzione che si verificato prima del cambiamento dell impostazione non ne risulter variato 6 2 5 4 Comandi per le Schermate di Aiuto Ho0 Mostr
359. ile include Standard 4 1 3 Aggiungere la Macchina Fotografica 4 1 4 Descrivere un Oggetto 4 1 5 Aggiungere una Texture ad un Oggetto 4 1 6 Definire una Sorgente Luminosa 4 2 Usare la Macchina Fotografica 4 2 1 Usare la Messa a Fuoco 4 3 Oggetti Semplici 4 3 1 Parallelepipedo 4 3 2 Cono 4 3 3 Cilindro 4 3 4 Piano 4 3 5 Oggetti Standard 4 4 Oggetti Avanzati 4 4 1 Superfici Bicubiche Patches 4 4 2 Blob 4 4 2 1 Tipi di Componenti ed Altre Funzioni 4 4 2 2 Costruzione di Blob Complessi e Forza Negativa 4 4 3 Height Field 4 4 4 Oggetti Torniti Lathe 4 4 4 1 Capire il Concetto di Spline 4 4 5 Mesh Triangolari 4 4 6 Poligoni 4 4 7 Prismi 4 4 7 1 Nuovi Trucchi per Vecchie Spline 4 4 7 2 Transizioni Uniformi 4 4 7 3 Sotto oggetti Multipli 4 4 7 4 Estrusione Conica ed Affusolamento 4 4 8 Superellissoide 4 4 9 Superficie di Rotazione SOR 4 4 10 Testo 4 4 11 Toro 4 5 Geometria Solida Costruttiva CSG 4 5 1 Cosa Vuol Dire CSG 4 5 2 Unione 4 5 3 Intersezione 4 5 4 Differenza 4 5 5 Fusione 4 5 6 Tranelli in CSG 4 5 6 1 Superfici Coincidenti 4 6 La Sorgente Luminosa 4 6 1 La Luce Ambiente 4 6 2 La Luce Puntiforme 4 6 3 La Luce Spot 4 6 4 Luci Cilindriche 4 6 5 Luci Diffuse 4 6 6 Assegnare un Oggetto ad una Sorgente Luminosa 4 6 7 Funzioni Speciali 4 6 7 1 Luci Senza Ombra 4 6 7 2 Attenuazione 4 6 7 3 Sorgenti Luminose ed Atmosfera 4 7 Semplici Opzioni sulle Texture 4 7 1 Finit
360. ile a ripples ma le onde sono pi ampie ed arrotondate L effetto da onde che assomigliano pi ad onde marine che non a increspature sull acqua Le onde si irradiano da dieci posizioni casuali all interno del cubo che si estende da lt 0 0 0 gt ad lt 1 1 1 gt Ridimensionando il pattern si possono avvicinare od allontanare questi punti Normalmente le onde distano tra loro circa 1 unit La parola chiave frequency modifica lo spazio tra le onde mentre phase le fa scorrere verso l esterno per ottenere realistici effetti di animazione Il numero di punti nei quali le onde hanno origine pu essere cambiato con l impostazione globale gobal settings number of waves DECIMALE che modifica i pattern ripples e waves presenti in tutta la scena Vedi il paragrafo Number Of Waves Numero d Onde per maggiori dettagli Quando viene usato per le normali il pattern waves fa uso di una funzione speciale di perturbazione delle normali e quindi non si pu utilizzare con modificatori di mappe di normali slope o di forme d onda Quando viene usato in una frase pigment otexture il pattern waves usa l onda ramp wave di default ma pu usare qualunque tipo di onda Il pattern waves pu essere usato con mappe di colore pigmento e texture 360 7 6 7 23 Wood Legno Il pattern wood consiste di cilindri concentrici centrati sull asse delle z Quando si usa un appropriata mappa di colore il pattern assomiglia alle venature degli anelli di cresc
361. ilter e Shade transmit estraggono il valore decimale degli altri componenti del colore 7 1 5 5 Comuni Tranelli sul Colore La variet e la complessit dei metodi relativi alla specificazione del colore possono condurre ad alcuni comuni errori Vi sono alcune cose da considerare quando si specifica un colore Quando si usa un valore di filtro i colori che lo attraversano vengono moltiplicati per le componenti del colore a cui si riferisce il filtro Per esempio se la luce grigia rgb lt 0 9 0 9 0 9 gt il passaggio attraverso un filtro rgbf lt 1 0 0 5 0 0 1 0 gt dar come risultato il colore rgb lt 0 9 0 45 0 0 gt dove la componente rossa non viene modificata il valore della componente verde viene dimezzato passando da 0 9 a 0 45 ed il blu risulta totalmente bloccato Spesso si pensa di definire un oggetto completamente trasparente con la frase color filter 1 0 ma questo comporta un valore uguale a zero per le componenti di rosso verde e blu In questo modo si specifica infatti un filtro totalmente nero che impedisce il passaggio della luce La procedura corretta descritta dagli esempi che seguono color red 1 0 green 1 0 blue 1 0 filter 1 0 232 oppure color transmit 1 0 Nel secondo esempio i valori di rgb non sono importanti Tutte le componenti della luce non verranno modificate da questo filtro Un altro errore comune l uso di identificatori di colore insieme alle parole chiavi relative al colo
362. ima scena senza problemi Il file dovrebbe essere messo nella stessa 30 directory in cui si trova l eseguibile e verr automaticamente letto quando verr fatto girare il programma Se dovessi spostare povray exe in una directory differente assicurati di spostare anche povray ini Dettagli completi su tutti i comandi e opzioni che possono essere date tramite la linea di comando o il file povray ini sono dati nel capitolo Opzioni di POV Ray Puoi anche crearti i tuoi file INI con comandi od opzioni simili a povray ini Se scrivi il nome di un file senza i segni pi o meno davanti POV Ray lo interpreta come l indicazione di un file INI Prova questo povray resl120 ishapes dl Questo fa s che POV Ray cerchi un file chiamato res120 ini che abbiamo fornito Questo file regola la risoluzione a 120 punti per 90 per dare una preview molto veloce Sono disponibili i seguenti file res120 ini regola la risoluzione a 120 per 90 res320 ini regola la risoluzione a 320 per 200 res640 ini regola la risoluzione a 640 per 480 res800 ini regola la risoluzione a 800 per 600 reslk ini regola la risoluzione a 1024 per 768 low ini regola la risoluzione a 120 per 90 a bassa qualit slow ini attiva radiosity ed antialiasing Molto lento ma bello tgafli ini crea un animazione da immagini TGA tgaflc ini idem pngfli ini crea un animazione da immagini PNG pngfle ini idem zipfli ini crea un animazione da immagini compresse con pkzip zipflc in
363. imale che segue la parola chiave Proviamo anche a ridiemnsionare il blocco normal con l istruzione scale Per maggiore interesse cambiamo la texture del piano in una texture con normali come segue plane y 1 5 pigment color rgb lt 65 45 35 gt normal dents 75 scale 25 94 Fig 118 Anche per il piano 4 8 3 2 Fondere le Normali Le normali possono essere stratificate in maniera analoga ai pigmenti ma i risultati possono essere inattesi Proviamo modificando la sfera come segue sphere lt 0 0 0 gt 1 pigment Gray75 normal radial frequency 10 normal gradient y scale 2 Fig 118 Normali sovrapposte Come possiamo vedere il motivo risultante nelle normali non n radiale n un gradiente E invece il risultato che si ottiene prima calcolando un motivo radiale e poi sovrapponendogli additivamente un gradiente Questo metodo pu essere difficoltoso da controllare e cos POV Ray fornisce all utente altri modi per unire insieme normali diverse Un metodo possibile usare una mappa delle normali Una mappa di normali funziona nello stesso modo in cui funzionano le mappe di pigmenti che abbiamo usato prima Modifichiamo la texture della nostra sfera come segue sphere lt 0 0 0 gt 1 pigment Gray75 95 normal gradient y frequency 3 turbulence 5 ormal map 0 00 granite 0 25 spotted turbulence 35 0 50 marble turbulence 5 0 1
364. immagine inizia dal lato dell asse x positivo e trascina l immagine lungo una rotazione intorno all asse y L immagine copre la sfera esattamente una volta La parola chiave once non ha nessun rapporto con questi comandi Con map_type 2 si avr una mappatura cilindrica Si assume che un cilindro di un qualunque diametro giaccia lungo l asse y L immagine si srotola intorno al cilindro con le stesse modalit viste per la sfera e rimane alta 1 cio da y 0 a y 1 Questo applicato a tutte le altezze superiori a meno che non sia specificata la parola chiave once Infine map type 5 a forma di toro Si assume cio che un toro di raggio maggiore uguale ad uno sia posizionato all origine del piano x z L immagine si comporta come nei due metodi descritti sopra La parte superiore ed inferiore del contorno della mappa si muoveranno attorno al toro e si uniranno nella parte interna del toro I tipi 3 e 4 sono ancora in via di ampliamento Per esempio sphere lt 0 0 0 gt 1 pigment image map gif world gif map type 1 7 6 8 9 3 L Opzione INTERPOLATE Aggiungendo la parola chiave interpolate possibile smussare l aspetto irregolare di un immagine Quando POV Ray richiede un valore di colore per una mappatura di un immagine o di normali spesso cerca un punto che non corrisponde direttamente ad un pixel della mappa ma che 372 si trova in mezzo tra due pixel colorati diversamente L interpolazione restituisce un valore
365. in modo tale che la mappa inizi e finisca in una posizione diversa Nell esempio precedente se vengono renderizzati fotogrammi successivi partendo da phase 0 0 seguito da phase 0 1 phase 0 2 ecc si creer un animazione nella quale le strisce ruotano Lo stesso effetto si pu ottenere facilmente ruotando il pigmento radiale usando la parola chiave rotate y angolo ma ci sono altri casi in cui la parola chiave phase pu essere indispensabile Qualche volta capita di creare un bellissimo gradiente o una bella mappa di colore per un legno ma magari si vorrebbero sfasare leggermente i colori nella mappa Potresti rimettere in ordine i vari elementi della mappa di colore ma un lavoro lungo L utilizzo di phase permette di spostare tutti i colori mantenendoli in scala Prova ad animare un pigmento mandel per vedere un effetto di rotazione della tavolozza dei colori Frequenza e fase non hanno effetto su pattern a blocchi come checker brick ed hexagon e nemmeno su mappature di immagini per pigmenti normali e texture Non hanno effetto neanche all interno di frasi di descrizione delle normali in associazione con bumps dents quiltedo wrinkles poich questi pattern di normali non possono fare uso di mappe di normali o slope Possono essere usati con i pattern di normali ripples e waves anche se questi due pattern non possono fare uso di mappe di normali o slope Quando sono usati con ripples e waves frequency modifica lo spazio tra due onde successi
366. inari renderizzino solo i punti necessari il passaggio 1x1 renderizza nuovamente ogni pixel in modo che l antialiasing ed il salvataggio dell immagine funzionino correttamente Ci causa una maggiore durata del rendering fino al 25 in pi e quindi si suggerisce di non usare l anteprima a mosaico per il rendering finale Inoltre poich il file non viene salvato fino all ultimo passaggio i rendering interrotti prima non possono venire recuperati senza ricominciare dall inizio Future versioni di POV Ray includeranno file temporanei che elimineranno queste inefficienze L anteprima a mosaico resta comunque una utile opzione per fare rendering di prova 6 2 2 3 Opzioni di Output su File Output to File bool Permette l output dell immagine su file on off Permette l output dell immagine su file usando il formato ve predefinito F Non permette l output dell immagine su file POV Ray impostato in modo da permettere l output dell immagine su file Quando si stanno creando delle scene e quindi facendo rendering di prova pu bastare la modalit grafica Per risparmiare tempo e spazio su disco si pu impostare Output to File off 0 F 6 2 2 3 1 Tipo di File di Output Output File Type x Imposta il formato del file di output a x Inserisce l output dell immagine su file imposta il formato del file Fxn i i di output a x e il numero di colori a n Disinserisce l output dell immagine su file ma in futuro imposter Fxn i
367. inose per determinare se quel punto di quell oggetto in ombra oppure no Se la superficie dell oggetto riflettente oppure traslucida vengono impostati e tracciati nuovi raggi per determinare il contributo delle luci riflessa e rifratta al colore finale della superficie Caratteristiche speciali come la riflessione interdiffusa radiosity effetti atmosferici ed area lights 17 ovvero luci estese su di una superficie rendono necessaria la creazione di un grande numero di raggi supplementari all interno della scena per ogni punto dell immagine 2 2 Cos POV Ray Il raytracer Persistence of Vision stato sviluppato a partire dal programma DKBTrace 2 12 scritto da David K Buck e Aaron A Collins da un gruppo di persone chiamato POV Team nel loro tempo libero Il quartier generale del POV Team si trova nel forum POVRAY su CompuServe vedi il paragrafo Forum POVRAY su CompuServe per maggiori informazioni Il pacchetto software contiene dettagliate istruzioni sull uso del programma e sulla creazione di scene Molte sorprendenti scene sono incluse con POV Ray cos da poter cominciare immediatamente a creare immagini Queste scene possono essere modificate In aggiunta alle scene predefinite sono fornite ampie librerie di oggetti geometrici e materiali predefiniti E possibile includere questi oggetti e materiali nella propria scena semplicemente includendovi il nome dell oggetto o del materiale ed il nome del relativo fi
368. interno di un oggetto e non si pu descrivere l interno di un oggetto descrivendo come la sua superficie Non possiamo sapere a cosa assomiglier l interno della sfera Sara completamente riempito dalla halo Ci saranno zone riempite dalla halo ed altre vuote Come saranno fatte Non possiamo conoscere le propriet dell interno di un oggetto guardando la sua superficie Non possibile Bisognerebbe sempre ricordarlo Se l esempio che abbiamo visto sopra fosse servito per creare una sfera riempita con una halo e coperta con un motivo a scacchiera che avesse parzialmente coperto la halo avremmo usato la seguente sintassi sphere 0 1 pigment checker texture pigment color Clear texture pigment color Red halo hollow Una halo viene sempre applicata ad un oggetto nel modo seguente OGGETTO 133 texture pigment normal finish halon ceste 3 hollow Non possibile includere una halo in nessuna delle frasi pigment color map pigment map texture map material map o qualunque altra Non ci impedito farlo ma non otterremo ci che vogliamo Possiamo usare gli aloni con texture stratificate nella misura in cui ci assicuriamo ghe gli aloni sono inclusi nell ultimo strato che deve comunque essere parzialmente trasparente per rendere visibile la halo 4 8 5 6 2 Sovrapposizione degli Oggetti Contenitori
369. ioni per la Distribuzione di Versioni Personalizzate Appendice A 9 Condizioni per il Bundling Commerciale Appendice A 10 Valore Commerciale del Software Appendice A 11 Altri permessi Appendice A 12 Revoca della Licenza Appendice A 13 Scarico di Responsabilit Appendice A 14 Supporto Tecnico Appendice A 1 Accordo Sulla Licenza QUESTO MESSAGGIO DEVE ESSERE INCLUSO IN TUTTI I FILE DI PERSISTENCE OF VISION UFFICIALI O PERSONALIZZATI NON PU ESSERE CANCELLATO O MODIFICATO LE INFORMAZIONI IN ESSO INCLUSE TRATTANO DELL UTILIZZO DEL PACCHETTO SOFTWARE IN TUTTO IL MONDO IL DOCUMENTO SOSTITUISCE OGNI PRECEDENTE LICENZA D USO O PERMESSO DI DISTRIBUZIONE OGNI INDIVIDUO COMPAGNIA O GRUPPO CUI SONO STATE CONCESSE LICENZE SPECIALI POSSONO CONTINUARE A DISTRIBUIRE LA VERSIONE 2 x MA DEVONO RICHIEDERLE PER LE VERSIONI 3 00 O SUCCESSIVE Questo documento riguarda l uso e la distribuzione del motore di raytracing Persistence of Vision chiamato anche POV Ray Esso si applica a tutti i codici sorgenti del programma ai file eseguibili binari ai file di descrizione delle scene file contenenti la documentazione file di aiuto immagini e file INI contenuti negli archivi ufficiali distribuiti dal POV Ray Team A tutto questo ci si riferir come al software Tutto questo software posto sotto diritto di riproduzione copyright 1991 1997 da parte del POV Ray Team Sebbene sia distribuito come software gratuito NON di pub
370. ions POV Ray utilizza normalmente 64 allocazioni di memoria interne per raccogliere i punti di intersezione tra raggi ed oggetti Scene complesse possono causare un overflow in queste allocazioni POV Ray non si ferma ma pu renderizzare la scena in maniera non corretta Quando il rendering termina se compare la voce Stack Overflows nelle statistiche che vengono mostrate necessario aumentare il numero delle allocazioni utilizzando l impostazione global settings max intersections INTERO Se la voce I Stack Overflows rimane presente nelle statistiche aumentare il numero degli stack fino a che non cessa 7 8 8 Number_Of_Waves I motivi wave e ripples sono generati sommando una serie di onde ognuna leggermente diversa dalla altre per centro e dimensioni Normalmente vengono sommate dieci onde ma questo numero pu essere controllato modificando l impostazione number of waves nel modo seguente global settings number of waves INTERO Modificando questo parametro si influenzano sia le waves che le ripples presenti in tutta la scena 7 8 9 Radiosity Nota Bene la funzione radiosity sperimentale per POV Ray 3 0 C un alta probabilit che questa funzione venga cambiata in futuro Non possiamo garantire che le scene che usano questa funzione nella versione 3 0 appariranno identiche nelle versioni future o che rimanga la piena compatibilit con la sintassi attuale Il metodo radiosity un algoritmo che calcola in modo pi
371. isogno di preoccuparsi se non sappiamo come usarli o come funzionano Per ora proviamo gli esempi e giochiamo con le opzioni che sono spiegate pi approfonditamente nel capitolo dedicato al linguaggio Non c niente di meglio che imparare facendo 4 4 11 Toro Un toro pu essere pensato come una ciambella o un tubo richiuso E un oggetto molto utile in molti tipi di costruzioni CSG cos POV Ray ha adottato questa superficie polinomiale di 4 ordine come una primitiva La sintassi per il toro talmente semplice da renderlo un oggetto molto comodo con cui lavorare una volta imparato cosa significano i due valori numerici Invece di fare una lezione sull argomento facciamone uno e sperimentiamoci un po sopra Creiamo un file di nome tordemo pov e lo editiamo come segue finclude colors inc camera location lt 0 1 25 gt look at 0 angle 30 background color Gray50 per vederlo meglio light source lt 300 300 1000 gt White torus 4 1 raggi maggiore e minore rotate 90 x per vederlo da sopra pigment Green Tracciamo la scena e vediamo cosa succede 45 Fig 52 Toro Bene una ciambella Proviamo a cambiare i valori del raggio maggiore e minore e vediamo cosa succede Li modifichiamo come segue torus 5 25 raggi maggiore e minore Fig 53 Toro pi sottile Questo sembra di pi un hula hoop Proviamo questo torus 3 5 2 5 raggi maggiore e mino
372. istance 20 scattering 0 3 aa_level 3 aa _ threshold 0 1 jitter 0 2 light source lt 0 15 0 gt color rgb 7 shadowless light_source lt 5 15 0 gt color rgb lt 1 0 0 gt spotlight point cat lt 53 O 0 gt radius 10 falloff 15 tightness 1 atmospheric attenuation on 407 light source lt 0 15 0 gt color rgb lt 0 1 0 gt spotlight point at lt 0 0 0 gt radius 10 falloff 15 tightness 1 atmospheric attenuation on Light source 4 lt 5 15 0 gt color rgb lt 0 0 1 gt spotlight point at lt 5 0 0 gt radius 10 falloff 15 tightness 1 atmospheric attenuation on plane z 10 pigment checker color rgb lt l1 hollow 0 0 gt color rgb lt 0 1 Fig 233 Effetti atmosferici Nello sfondo si vede un piano a scacchi rossi e verdi Il colore dello sfondo visibile attraverso l atmosfera aggiunto alla luce dispersa degli spot Noterai che nonostante i quadrati rossi dietro lo spot rosso siano pi chiari di quelli non illuminati da esso quelli verdi non lo sono Per lo spot verde la situazione capovolta i quadrati verdi sembrano essere amplificati mentre i rossi no Lo spot blu non mostra questo effetto D Il manuale dice che il parametro distance dell atmosfera funziona nello stesso modo di quello per la nebbia E vero R Si vero Prova a usare fog invece di atmosphere Se tutto sembra a posto i
373. ita del legno Con l aggiunta di poca turbolenza il pattern assume maggiore realismo poich per default wood non ha turbolenza A differenza della maggior parte dei pattern wood usa un onda triangolare triangle wave per default Ci significa che la mappa dei colori viene ripetuta da 0 0 a 1 0 e poi al contrario da 1 0 a 0 0 Ad ogni modo si pu usare qualunque forma d onda Il pattern pu essere usato con mappe di colore pigmento texture normali e slope 7 6 7 24 Wrinkles Spiegazzature Il pattern wrinkles era stato originariamente concepito come un pattern di normali Fa uso di una funzione di rumore frattale del tipo 1 f simile a quella che usa granite ma l effetto pi netto Il pattern pu esssere usato per simulare ad esempio del cellophane spiegazzato ma pu dare anche un ottimo intonaco Quando wrinkles usato come pattern di normali fa uso di una funzione speciale di perturbazione delle normali e quindi non si pu utilizzare con modificatori di mappe di normali slope o di forme d onda Quando viene usato in una frase pigment otexture ilpatternwrinkles usa l onda ramp_wave di default ma pu usare qualunque tipo di onda Il pattern wrinkles pu essere usato con mappe di colore pigmento e texture 7 6 8 Modificatori di Pattern I modificatori di pattern sono frasi o parametri che alternano il calcolo o l aspetto dei pattern I modificatori color map o pigment_ map si applicano solo ai pigmenti vedi il
374. itano di un grande numero di campioni per ottenere effetti realistici 7 6 4 7 2 Sovracampionamento Tutti i processi legati al campionamento tendono per natura a dare risultati artificiosi che si rivelano nell immagine come delle scalettature ad esempio lungo le linee curve aliasing Un metodo per ridurre le artificiosit dovute all aliasing usare il sovracampionamento supersampling come avviene per il rendering dell atmosfera Se due raggi campione adiacenti riportano valori molto differenti tra loro ne viene calcolato un terzo fra i due Questo processo viene attivato solo se i raggi in questione differiscono almeno di un certo valore detto di soglia threshold indicato dalla parola chiave aa_thresholde prosegue per un numero massimo di iterazioni aa_ level o fino a quando la differenza tra due pixel adiacenti non sia sotto il valore di soglia Di default il sovracampionamento non viene usato I valori predefiniti diaa _thresholde aa level sono rispettivamente 0 3 e 3 7 6 4 7 3 Jitter Il jittering pu essere usato per deviare casualmente i campioni di una piccola quantit Ci pu alutare a ridurre le artificiosit dovute all aliasing al costo di aumentare il livello di rumore dell immagine Questo non un problema grave dato che il nostro sistema visivo nota molto meno una dispersione casuale dell errore piuttosto che la sua distribuzione regolare Di default la 342 funzione di jittering non attiva Il valore
375. itch version warning Versioni precedenti di POV Ray consideravano max_intersections e max_trace_ level come delle istruzioni del linguaggio ora sono invece parte delle impostazioni generali global settings E ancora consentito il loro uso come istruzione ma questo genera un avvertimento e potrebbe essere escluso nel futuro 7 2 1 File Include Il linguaggio della scena consente di specificare i file include ponendo la linea include nome del file inc in ogni punto del file di input Il nome del file pu essere specificato usando ogni stringa valida ma comunemente rappresentato da una stringa di lettere inclusa tra virgolette Pu essere lunga fino a 40 caratteri o i limiti del tuo computer inclusi i due caratteri delle virgolette Il file include viene letto come se fosse inserito per intero in quel punto del file di scena Usando include come se tagliassi e copiassi l intero contenuto di questo file all interno della tua scena I file include possono definiti anche all interno di altri file dello stesso tipo possono essere annidati 240 l uno nell altro Puoi avere al massimo 10 file include annidati Non c nessuno limite per 1 file include non annidati Generalmente i file include contengono dati per le scene ma non sono scene vere e proprie Per convenzione i file di scena hanno estensione pov ed i file include hanno estensione inc E consentito specificare informazioni contenute in altri drive e
376. ivare questa funzione Un esempio di un blob a tre componenti 265 blob threshold 0 6 sphere lt 75 0 0 gt 1 1 sphere lt 375 64952 0 gt 1 1 sphere lt 375 64952 0 gt 1 1 scale 2 Se il tuo blob costituito da un unico componente allora la superficie visibile come quella del componente cio una sfera o un cilindro la cui superficie si trova all interno i quella specificata L esatta posizione della superficie pu essere determinata usando l equazione del blob che si trova qui sotto probabilmente non avrai mai bisogno di saperla i blob sono pi utili per il loro aspetto che per modellazione precisa Per quelli pi portati per la matematica questa la formula che POV Ray usa per creare i blob Non necessario capirla per usarli La formula usata per un blob composto da un unico componente densit forza l raggio 2 2 7 5 2 2 Parallelepipedo Un semplice parallelepipedo puo essere definito elencandone due vertici in questo modo box lt VERTICE1 gt lt VERTICE2 gt angolo 2 angolo 1 Fig 198 Parallelepipedo 266 Dove lt VERTICE1 gt e lt VERTICE2 gt sono vettori che definiscono le coordinate x y z di due vertici opposti del parallelepipedo E da notare che tutti i parallelepipedi hanno le facce parallele agli assi coordinati Possono essere in seguito ruotati usando la parola chiave rotate Ogni elemento del vettore lt VERTICE1 gt deve e
377. k 0 per il primo fotogramma e 1 per l ultimo Tutte le altre immagini sono inserite tra questi valori Per esempio se il tuo oggetto deve ruotare di un giro nel corso dell animazione si dovrebbe specificare rotate 360 clock y Allora mentre clock procede da 0 a 1 l oggetto ruota intorno all asse y da 0 a 360 gradi Bench il valore di clock cambi da un fotogramma all altro non cambier mai nel corso dell analisi parsing di una scena Vedi Opzioni sull Animazione per maggiori dettagli 7 1 7 3 Identificatore Version L identificatore decimale version contiene l impostazione corrente delle opzioni compatibili con la versione del programma specificata Bench questo assuma per default il valore 3 che il numero corrente della versione di POV Ray il valore iniziale della versione potrebbe essere introdotto nell opzione del file INI Version n n o dal comando di linea MVn n Questo fa analizzare a POV Ray la scena usando la sintassi di una versione precedente L opzione INI ha effetto solo nell impostazione iniziale Diversamente da altri identificatori incorporati puoi cambiare il valore della versione in tutto il file di una scena Per cambiare il suo valore usa version enon declare Tali cambi possono avvenire pi volte nei file di scena Insieme con l identificatore version l istruzione version consente di salvare e ripristinare i valori precedenti di queste impostazioni Per esempio si supponga che mystuff ine sia stato creat
378. l contenitore in modo da ottenere un ellissoide che pu essere usato per dare forma ad una nuvola Possiamo farlo col comando scale lt 1 5 0 75 1 gt in fondo alla frase sphere In questo modo vengono ridimensionati sia la sfera che il contenitore sphere 0 pigment color rgbt lt 1 1 1 1 gt halo attenuating spherical mapping linear turbulence 1 125 color map 0 color rgbt lt 1 0 0 1 gt 1 color rgbt lt 1 0 0 1 gt samples 10 scale 0 75 hollow scale lt 1 5 0 75 1 gt Fig 149 Comincia ad assomigliare ad una nuvola Osservando il risultato di halo22 pov vediamo che questa sembra pi una vera nuvola a parte il colore 4 8 5 4 3 Aggiungere Aloni Supplementari Un altro sistema per ottenere maggiore realismo utilizzare aloni multipli Se guardiamo le nubi a cumulo per esempio notiamo che si estendono spesso verso l alto mentre sono quasi piatte in basso Vogliamo modellare questo aspetto aggiungendo due halo supplementari al nostro oggetto contenitore vedi il paragrafo Aloni Multipli per maggiori dettagli nel modo seguente sphere 0 1 5 pigment color rgbt lt 1 1 1 halo attenuating spherical mapping linear turbulence 1 color map 0 color rgbt lt 1 0 0 1 gt 1 color rgbt lt 1 0 0 1 gt samples 10 scale lt 0 75 0 5 1 gt translate lt 0 4 0 0 gt halo 1 gt
379. l quale viene associata la luce la intercetti allora dovrebbe essere unito alla luce da una frase union comesegue union baught source lt 100 200 300 gt color White object Lampadina Presumibilmente parti della lampadina sono trasparenti per permettere alla luce di uscirne 7 5 6 7 Attenuazione Per default POV Ray non attenua la luce di nessuna sorgente luminosa in relazione alla distanza Per ottenere effetti pi realistici si possono utilizzare i comandi fade_distance e fade power per simulare il decadimento dell intensit della luce in relazione alla distanza La parola chiave fade distance usata per specificare la distanza alla quale arriva la piena intensit luminosa cio l intensit che stata definita con la parola chiave color Il decadimento viene specificato dalla parola chiave fade power che ne determina la velocit Per esempio decadimenti lineari o quadratici possono essere usati impostando fade power a 1 02 306 rispettivamente La formula completa per calcolare il fattore di decadimento Z TOPLINO RIT 1 d distanza_ di decadimento Nella quale d rappresenta la distanza dalla sorgente luminosa 20 nessuna attenuazione i potenza 1 l potenza 2 ni potenza 3 Moltiplicatore dell intensit della luce 0 0 A A etc eee eee 0 0 5 0 10 0 Distanza relativa dalla sorgente luminosa Figura 217 Curva di intensita relativa della l
380. l risultato che abbiamo ottenuto prima colorato troppo intensamente Ridurre l intensit dei colori di aiuto ma molto meglio aumentare la trasparenza dell arcobaleno poich l effetto riesce pi realistico se lo sfondo visibile attraverso l arcobaleno Possiamo usare il canale della trasmittanza nella mappa dei colori per specificare una trasparenza minima come abbiamo fatto per la nebbia Per ottenere risultati realistici dobbiamo usare valori della trasmittanza molto alti come si pu vedere nel seguente esempio rainbow2 pov rainbow angle 42 5 width 5 distance 1 0e7 direction lt 0 2 0 2 1 gt jitter 0 01 colour map 0 000 colour r violetl transmit 0 98 100 colour r violet2 transmit 0 96 214 colour r indigo transmit 0 94 320 colour r blue transmit 0 92 442 colour r cyan transmit 0 90 556 colour r green transmit 0 92 670 colour r yellow transmit 0 94 784 colour r orange transmit 0 96 900 colour r redi transmit 0 98 o ooo Il valore della trasmittanza aumenta nelle fasce esterne in modo da sfumare nello sfondo L immagine che ne risulta molto pi realistica della precedente 175 Fig 191 Arcobaleno 4 10 5 3 Usare un Arco di Arcobaleno Il nostro arcobaleno ha forma ad anello per quanto la maggior parte di esso si trovi nascosta dietro il piano Possiamo creare facilmente un arco di arcobaleno mediante la parola chiave arc_angle fornendole come valore un a
381. l sito internet ufficiale di POV Ray Il newsgroup comp graphics rendering raytracing popolato da molti utenti competenti di POV Ray desiderosi di condividere le loro conoscenze In generale chiedono di leggere qualche articolo per controllare se qualcuno abbia gi risposto alla stessa domanda e naturalmente di seguire una corretta netiquette Se ci sono dubbi riguardo la loro qualificazione ed autorevolezza alcuni minuti spesi alla Ray Tracing Competition a www irtc org vi convinceranno velocemente 2 4 2 1 Siti FTP per POV Ray raggiungibili dall Italia Questi siti costituiscono dei mirror del sito ufficiale fip povray org e vengono aggiornati con una certa frequenza La ricezione dati dall Italia veloce e permettono di scaricare mediante FTP anonimo tutti i file correlati a POV Ray di cui si possa avere bisogno ftp fh wolfenbuettel de pub graphics povray ftp flashnet it mirror2 ftp povray org povray ftp informatik uni oldenburg de pub2 pov ray 2 4 3 Area dedicata a PC Graphics su America On Line C un area su America On Line dedicata a informazioni su POV Ray Si trova nella sezione PC Graphics di AOL con la parola chiave POV Quest area contiene anche gli eseguibili per Macintosh E meglio se i messaggi sono lasciati nella sezione Company Support Attualmente Bill Pulver il nostro rappresentante 2 4 4 The Graphics Alternative BBS El Cerrito California Per quelli che vivono sulla West Coast degli Stati U
382. l valore str A 3 1 pollici Se il valore decimale A era 12 34 il risultato Il valore 12 3 pollici che rappresenta una stringa file_exists S1 Ricerca il file specificato da S1 Tenta di aprire il file il cui nome specificato dalla stringa S1 La ricerca viene operata sulla directory corrente e in tutte quelle specificate in ogni opzione Library_Path INI o attraverso il parametro L della linea di comando Il file chiuso immediatamente D come risultato il valore booleano pari ad 1 in caso di successo a 0 in caso di un fallimento nella ricerca str A L P Converte il valore decimale A in una stringa D come risultato una stringa che rappresenta il valore decimale A Il parametro decimale L specifica la lunghezza minima della stringa ed il tipo di riempimento dello spazio a sinistra usato se la rappresentazione della stringa pi corta del minimo Se L positivo allora l area a sinistra riempita da spazi vuoti Se L negativo allora l area a sinistra riempita con zeri L intera lunghezza minima della stringa data da abs L Se la stringa necessita di una lunghezza maggiore essa sar allungata quanto necessario per rappresentare il valore Il parametro decimale P specifica il numero di cifre dopo il punto decimale Se P negativo allora viene usata una precisione di default come specificato dal compilatore Qui di seguito alcuni esempi 123 456 0 3 123 456 str str 123 45
383. la luminosit dell output e dell input uguali si deve avere un valore di gamma per tutto il sistema uguale ad 1 Per ottenere ci dobbiamo correggere la luminosit dell input nello stesso modo descritto sopra ma con un valore di gamma di 1 gamma del monitor prima di inviarla al monitor Per correggere una gamma del monitor di 2 2 questa correzione usa un valore di 1 2 2 circa 0 45 Il modo in cui la correzione di gamma pre monitor viene effettuata dipende dall hardware e dal software che si stanno usando Sui sistemi Macintosh il sistema operativo si occupa di uniformare le differenze tra le applicazioni e l hardware Attraverso un pannello di controllo della gamma l utente pu impostare il valore di gamma del monitor e MacOS converte tutte le intensit dei pixel in modo che il monitor apparir come se avesse uno specifico valore di gamma Sulle macchine Silicon Graphics la scheda video ha la correzione della gamma incorporata e calibrata al monitor dando cos il valore di gamma complessivo desiderato il valore di default 1 7 Sfortunatamente 384 sui PC e sulla maggior parte dei sistemi UNIX dipende dall applicazione effettuare le correzioni di gamma necessarie 7 8 3 2 Gamma del File Immagine Dato che la maggior parte delle applicazioni e dei formati delle immagini su Personal Computer e macchine Unix non implementano la gamma colore del monitor non fanno niente per correggerla Ne risulta che quando un utente di queste macc
384. lathe 4 4 4 7 5 2 7 mesh 4 4 5 7 5 3 3 modificatori 7 5 7 parallelepipedo 4 3 1 7 5 2 2 piano 4 3 4 7 5 4 1 poligoni 4 4 6 7 5 3 4 polinomiali 7 5 4 2 predefiniti 4 3 5 prismi 4 4 7 7 5 2 8 quadrica 7 5 4 3 Sfera 4 1 4 7 5 2 9 superellissoidi 4 4 8 7 5 2 10 superfici di Bezier 4 4 1 7 5 3 1 superfici di rotazione 4 4 3 7 5 2 11 testo 4 4 10 7 5 2 12 toro 4 4 11 7 5 2 13 trasformazione 7 3 4 Operatori colori 7 1 5 4 decimali 7 1 3 3 promozioni 7 1 4 4 vettoriali 7 1 4 3 415 Output 6 2 2 anteprima 6 2 2 2 3 a schermo 6 2 2 2 di testo 6 2 5 istogramma 6 2 2 4 opzioni generiche 6 2 2 1 su file 6 2 2 3 p Parallelepipedo vedi Oggetti Pattern 7 6 7 modificatori 7 6 8 Piano vedi Oggetti Pigmenti 4 8 2 7 6 1 a colore pieno 7 6 1 1 a lista di colore 4 8 2 1 7 6 1 2 mappature 4 8 2 5 4 9 1 7 6 1 4 modificatori 7 6 1 5 3 pattern 4 8 2 2 7 6 7 modificatori 4 8 2 3 7 6 8 trasparenti 4 8 2 4 Poligoni vedi Oggetti Polinomiali vedi Oggetti Potenza pow quadrato Sqr cubo cube Potenza complessa pwr POV Ray 2 2 autori Appendice B compilazione 2 3 7 copyright Appendice A installazione 3 1 opzioni cap 6 reperibilita 2 4 versioni 2 3 Prismi vedi Oggetti Q
385. ld pot filename pot height field ppm filerame ppm height field sys filename 9 height field tga filename tga Il file immagine che si usa per creare un height field pu essere in formato GIF TGA POT PNG 270 PGM PPM e se disponibile anche un formato specifico per la piattaforma come BMP per Windows oppure Pict per Macintosh I formati GIF PNG PGM e quello specifico per sistema ovviamente in dipendenza dal sistema sono gli unici che possono essere creati usando un programma di disegno Anche se esistono programmi di disegno che creano file TGA non saranno molto utili per creare lo speciale formato TGA a 16 bit pixel che POV Ray usa vedi pi avanti ed il paragrafo HF_Gray_16 In un formato di immagine come GIF che usa la tavolozza dei colori il numero di colore il numero progressivo che il colore di un certo pixel ha nella tavolozza Usa un programma di disegno per vedere la tavolozza di colori dell immagine Il primo colore contrassegnato dal numero zero il secondo ha il numero 1 e cos via L ultimo colore della tavolozza il numero 255 Le parti dell immagine che usano colori il cui numero d ordine basso risulteranno in parti pi basse dell height field Parti dell immagine che usano colori il cui numero d ordine pi alto daranno le parti pi alte Gli height field creati da immagini GIF possono avere solo 256 livelli di quota diversi perch il numero massimo di colori in un immagine
386. le Ecco alcune funzioni di POV Ray Semplice linguaggio di descrizione delle scene Vasta libreria di incredibili scene di esempio File da includere che predefiniscono molte forme geometriche colori e materiali File immagine di output di altissima qualit fino a 48 bit pixel Display a colori a 15 e 24 bit su Personal Computer IBM e compatibili utilizzando hardware video appropriato Possibilit di creare paesaggi utilizzando campi di quota height fields Luci coniche cilindriche e puntiformi per sofisticati effetti di illuminazione Riflessione speculare e Phong per un maggiore realismo delle superfici Riflessione interdiffusa radiosity per un maggiore realismo dell illuminazione Fffetti atmosferici come nebbie arcobaleni ed atmosfera Aloni oggetti particellari per modellare effetti come nuvole polvere fuoco e vapore Diversi formati di output per le immagini prodotte tra cui Targa PPM PNG Primitive geometriche di base quali sfere parallelepipedi superfici quadriche cilindri coni triangoli e piani Primitive geometriche avanzate quali toroidi superfici di Bezier campi di quota montagne blob quartiche triangoli testo frattali superellissoidi superfici di rotazione prismi poligoni solidi di rotazione Le primitive geometriche possono essere facilmente combinate fra loro per formare oggetti pi complessi mediante Geometria Costruttiva Solida o booleana CSG Constructive Solid Geometry POV
387. le inc la stessa macchina fotografica e la stessa luce degli esempi precedenti inseriamo l oggetto che segue include textures inc plane z 0 texture material map gif povmap gif interpolate 2 once texture PinkAlabaster bordo interno texture pigment DMFDarkOak bordo esterno texture Gold Metal lettere texture Chrome Metal sfondo translate lt 0 5 0 5 0 gt scale 5 Persistence of Vision Fig 170 Prima prova La posizione della sorgente luminosa e la mancanza di oggetti che si possano riflettere non permettono di mostrare al loro meglio queste texture Ma almeno possiamo vedere come funziona il procedimento Le texture sono state semplicemente disposte in accordo alla posizione dei pixel il cui colore corrisponde ad un particolare numero d ordine della tavolozza Usando la parola chiave once per evitare che le texture risultino affiancate e traslando e scalando la nostra mappa affinch questa possa rientrare all interno dell inquadratura che avevamo usato arriviamo a vedere l intera scena Naturalmente ci vale solo per immagini che sfruttano la tavolozza dei colori come GIF ed alcuni tipi di PNG Le mappature di materiali possono anche usare formati che non usano la tavolozza di colori come i file TGA che costituiscono l output di POV Ray Ci porta ad un interessante conseguenza possiamo usare POV Ray per produrre mappe per POV Ray stesso Prima di conc
388. le lt 2 1 0 5 gt allungher e plasmer la sfera in una forma ellissoidale che lunga il doppio rispetto all originale lungo l asse x uguale sull asse y e dimezzata sempre rispetto alla dimensione originale nella direzione z Se specificato un solo valore decimale esso verr riferito a tutte e tre le componenti vettoriali Cos l oggetto scalato uniformemente dello stesso valore in tutte le direzioni per esempio object MioOggetto scale 5 Viene considerato come lt 5 5 5 gt quindi lo scaling sar uniforme in ogni direzione 7 3 1 3 Rotazioni Puoi cambiare l orientamento di un oggetto o di una texture aggiungendo un parametro di rotazione Esso consiste della parola chiave rotate seguita da un espressione vettoriale I tre termini del vettore specificano la rotazione in gradi relativa ad ognuno degli assi x y e z attorno all origine Fai attenzione al fatto che l ordine delle rotazioni importante Le rotazioni devono riferirsi prima all asse x poi all asse y e infine all asse z Se non sei sicuro che questo ci che vuoi dovresti operare la rotazione intorno ad un asse alla volta usando rotazioni multiple per ottenere la giusta posizione finale Come in rotate lt 0 30 0 gt 30 gradi intorno all asse Y poi rotate lt 20 0 0 gt 20 gradi intorno all asse X poi rotate lt 0 0 10 gt 10 gradi intorno all asse Z La rotazione sempre intorno ad
389. le a quella specificata nel parametro del formato del file 6 2 2 4 3 Dimensioni della Griglia Histogram Grid Size xx yy Imposta le dimensioni della griglia da xx a yy HSxx yy Lo stesso che Histogram Grid Size xx yy La dimensione della griglia determina la quantit di porzioni in cui l immagine verr suddivisa sia in verticale che in orizzontale Per esempio povray Isample W640 H480 HTN HS160 120 HNhistogrm png divider l immagine in 160x120 blocchi ognuno dei quali sar 4x4 pixel il file di output sar in formato PNG utilizzabile sia per la lettura diretta dei dati che per la creazione di height field Assegnando numeri pi piccoli alla dimensione della griglia si avranno blocchi con un maggior numero di pixel Utilizzando come file di output un file in formato CSV il numero di valori contenuti nel file di output sar lo stesso del numero di blocchi della griglia Per gli altri formati la dimensione dell immagine dell istogramma sar la stessa di quella dell immagine renderizzata per facilitare il confronto tra l immagine dell istogramma e l immagine renderizzata Se la dimensione della griglia dell istogramma non specificata sar considerato come se ci fosse un blocco della griglia per pixel In sistemi multi tasking o task switching l istogramma potrebbe non rappresentare correttamente l esatto tempo impiegato da POV Ray in un dato blocco dal momento che l istogramma basato sul tempo reale e non su quello di CPU
390. li che sono in A ma non in B quelli che sono in B ma non in A e quelli che sono sia in A che in B Fig 206 Due oggetti chi si sovrappongono Ricordarsi di questo faciliter la comprensione del funzionamento degli oggetti CSG 7 5 5 3 Inverso Quando si usano gli oggetti CSG spesso utile invertire un oggetto in modo che il suo interno si trovi all esterno Ci cambia il modo in cui POV Ray lo calcola ma non il suo aspetto Quando si usa la parola chiave inverse l interno dell oggetto diventa il suo esterno e viceversa 293 Nota che l operazione di differenza eseguita intersecando il primo oggetto con la negazione del secondo 7 5 5 4 Unione Fig 207 L unione di due oggetti Le frasi union sono semplicemente colla utilizzata per legare insieme due o pi oggetti in un nuovo oggetto risultante detto unione che pu essere manipolato come una singola entit L immagine sopra mostra l unione degli oggetti A e B Il nuovo oggetto creato con l operazione di unione pu essere scalato spostato o ruotato L intera unione pu avere un unica texture ma comunque possibile assegnare ad ogni oggetto che la compone una texture individuale che sovrascriver le eventuali frasi di texture assegnate all unione Le superfici all interno dell unione non saranno rimosse e come si pu capire dalla figura ci pu rappresentare un problema per gli oggetti trasparenti Se desideri che le superfici condivise tra gli oggetti che fa
391. liamo fornire finiture diverse a parti diverse dell oggetto come in questo caso sia che vogliamo alternare texture completamente diverse Ci si potrebbe chiedere se esiste la mappatura delle texture perch abbiamo bisogno di mappature dei pigmenti e delle normali Ottima domanda La risposta velocit di calcolo Se usiamo una mappatura di texture per ogni punto intermedio tra due elementi della mappa POV Ray deve fare calcoli per ogni elemento della texture e quindi calcolare una media pesata per determinare il corretto colore di quel punto Usando solo una mappatura di pigmenti o di normali si riduce il numero totale di operazioni e la nostra texture viene renderizzata un po pi velocemente Come regola generale si usano mappature di pigmenti e di normali dove si pu e mappature di texture dove richiesta una flessibilit superiore 4 9 4 Lista di Texture 139 Se abbiamo seguito il tutorial corrispondente sui pigmenti semplici sappiamo che ci sono tre motivi geometrici che vengono chiamati motivi a lista di colore dato che invece di usare una mappatura di colore questi motivi semplici ma utili usano una lista di colori che segue immediatamente la parola chiave che definisce il tipo di pattern Stiamo parlando di checker scacchiera hexagon esagoni e da POV Ray 3 brick mattoni Naturalmente questi funzionano con pigmenti normali ed intere texture come gli altri pattern visti sopra La sola differenza che elenchiamo
392. lit del progetto Manuzio invia una donazione a Liber Liber Il tuo sostegno ci aiuter a far crescere ulteriormente la nostra biblioteca Qui le istruzioni http www liberliber it sostieni POV Ray Persistence of Vision Raytracer versione 3 01 Manuale di Utilizzo Traduzione Italiana a cura del Gruppo di Lavoro POV it Sommario 1 Introduzione 1 1 Notazione 2 Descrizione del programma 2 1 Cos il Raytracing 2 2 Cos POV Ray 2 3 Quale versione di POV Ray usare 2 3 1 Personal Computer IBM e Compatibili 2 3 1 1 MS Dos 2 3 1 2 Windows 2 3 1 3 Linux 2 3 2 Apple Macintosh 2 3 3 Commodore Amiga 2 3 4 SunOS 2 3 5 Sistemi Unix generici 2 3 6 Tutte le versioni 2 3 7 Compilare POV Ray 2 3 7 1 Struttura delle directory 2 3 7 2 Configurare il codice sorgente di POV Ray 2 3 7 3 Conclusione 2 4 Dove trovare i File di POV Ray 2 4 1 Forum POVRAY su CompuServe 2 4 2 Internet 2 4 2 I Siti FTP per POV Ray raggiungibili dall Italia 2 4 3 Area dedicata a PC Graphics su America On Line 2 4 4 The Graphics Alternative BBS El Cerrito California 2 4 5 PCGNet 2 4 6 Libri e CD ROM su POV Ray 3 Iniziare Subito 3 1 Installare POV Ray 3 2 Utilizzo di Base 3 2 1 Renderizzare File in Altre Directory 3 2 2 File INI 3 2 3 Alternative a POVRAY INI 3 2 4 File Batch 3 2 5 Tipi di Display 4 Tutorial 4 1 La Nostra Prima Immagine 4 1 1 Capire il sistema di coordinate di POV Ray 4 1 2 Aggiungere F
393. ll area light Se la quantit di luce ricevuta da tutti e quattro gli angoli approssimativamente la stessa allora l area light pu essere interamente visibile o interamente coperta da qualche oggetto L intensit della luce quindi calcolata come la media delle intensit della luce ricevuta dai quattro angoli Se invece l intensit della luce che giunge ai quattro angoli significativamente diversa allora POV Ray interpreta che l area light parzialmente coperta L area light quindi divisa in altri quattro quarti ed ogni sezione campionata come descritto sopra Ci permette a POV Ray di calcolare rapidamente quanta parte dell area light inclusa nell inquadratura senza avere bisogno di tracciare un raggio per ogni luce dell insieme Il campionamento funziona come mostrato nella figura seguente livello 0 livello 1 livello 2 2x2 raggi 3x3 raggi 5x5 raggi 0600600 _ eee 7 080 OO 6 080 0000 nuovi campioni O campioni riutilizzati dal livello precedente 305 Fig 216 Sovracampionamento adattivo nelle area light Anche se il metodo di campionamento adattivo veloce relativamente parlando pu comunque creare ombre non molto accurate La soluzione di ridurre la quantit di campionamento adattivo senza disattivarlo completamente Il numero dopo la parola chiave adaptive imposta il numero di sezioni in cui l area light sar divisa prima che inizi la fase di campionamento adattivo vera e p
394. ll interno della lista delle texture 7 6 6 Texture Stratificate 346 E possibile creare diversi effetti speciali usando texture stratificate Una texture stratificata costituita da diverse texture che sono parzialmente trasparenti disposte una sopra l altra per creare texture pi complesse I diversi strati di texture sono visibili attraverso le parti trasparenti e contribuiscono a creare l aspetto di un unica texture che in realt la combinazione di diverse altre Si possono creare texture stratificate inserendo in una lista due o pi texture una dopo l altra L ultima texture nella lista costituir lo strato superiore e la prima lo strato inferiore Tutte le texture in una texture stratificata tranne lo strato pi basso dovranno essere almeno in parte trasparenti Per esempio object My Object texture T1 strato inferiore texture T2 strato semitrasparente texture T3 strato superiore semitrasparente Nell esempio T2 sar visibile solo dove T3 trasparente e T1 sar visibile solo dove T2 e T3 sono trasparenti Il colore degli strati sottostanti filtrato dagli strati superiori ma il risultato non apparir come una serie di superfici trasparenti Se avessi una pila di superfici con le texture applicate a ciascuna di esse la luce sarebbe filtrata due volte una volta all entrata quando gli strati inferiori sono illuminati dalla luce filtrata ed una all uscita Le te
395. llo di cambiarne 1 valori di trasparenza e di filtro Applicare la rifrazione ad un oggetto non vuol dire renderlo trasparente La trasparenza sia ha solo quando i valori di filter o transmit sono diversi da zero La quantit di luce deviata o rifratta dipende dalla densit del materiale Aria acqua cristalli e diamante hanno tutti diverse densit e quindi rifrangeranno la luce in maniere diverse L indice di rifrazione o ior viene usato dagli scienziati per descrivere la densit relativa delle sostanze La parola chiave ior usata da POV Ray per specificare questo valore Per esempio texture pigment White filter 0 9 finish refraction 1 jor 1 5 Il valore di default di ior di 1 e non dar luogo a rifrazione L indice di rifrazione dell aria 1 0 quello dell acqua di 1 33 1 5 per il vetro e quello del diamante 2 4 Il file consts inc contiene alcuni valori utili di ior Se la texture ha un filtro e non sono stati specificati valori per la rifrazione e per lo ior il risultato non sar influenzato dalla rifrazione e i raggi non saranno quindi deviati Nel caso di texture stratificate le parole chiave riguardanti la rifrazione e l indice di rifrazione dovranno essere incluse nell ultima texture altrimenti non avranno effetto 7 6 3 5 1 Attenuazione della Luce L attenuazione della luce usata per simulare la diminuzione dell intensit luminosa quando la luce passa attraverso un oggetto trasparente L
396. llow hypercomplex If ifdef EET image_map include int interpolate intersection inverse lor l cid irid wavelength Ey oe fae ie Danti co n jitter julia fractal lambda lathe leopard light_source linear linear spline linear sweep location log looks like look at Low error factor 220 mandel map type marble material map matrix max max intersections max iteration max Lraco Level max value merge mesh metallic min minimum reuse mod mortar nearest count no normal normal map n n o_shadow umber of waves object octaves off offset omega omnimax on once onion open orthographic panoramic perspective pgm phase phong phong size pi pigmeni pigment map planar mapping plane png point at poly potygon pot pow ct ct 221 ppm precision prism pwr uadratic spline uadric uartic uaternion uick color uick colour uilted radial radians radiosity radius rainbow ramp wave rand range reciprocal recursion limit red reflection refraction render repeat rgb rgbf rgbEt rgbt right ripples rotate roughness OOO OO QO samples scale scallop wave scattering seed shadowless sin sine wave sinh sky sky sphere slice slope map smooth smooth triangle sor specular 222 sphere spherical mapping spiral spirall spiral2 spotlight
397. lori appropriata questi effetti possono essere resi con un alto grado di realismo Usando una mappatura planare si pu raggiungere un alto grado di realismo per il fuoco Per creare esplosioni pi opportuno invece usare una mappatura sferica e valori piuttosto alti di turbolenza la cosa migliore usare una mappa di colori periodica e frequenze maggiori di 1 Gli aloni emittenti non proiettano alcuna luce sugli altri oggetti comportandosi diversamente dalle sorgenti luminose anche se sono composti da piccole particelle che emettono luce Per farli realmente emettere luce si dovrebbero usare centinaia o migliaia di piccole sorgenti luminose Questo rallenterebbe il rendering in modo tale da renderlo inutilizzabile 7 6 4 3 4 Alone Tralucente L alone tralucente molto simile all alone emittente La differenza che la luce emessa dalle particelle attenuata dalle altre particelle Si pu pensarlo come una combinazione degli aloni attenuante e emittente 7 6 4 4 Mappatura della Densit La mappatura della densit generalmente usata per mappare dei punti nello spazio a tre dimensioni su un intervallo ad una dimensione compreso tra 0 0 e 1 0 cos da descrivere una distribuzione spaziale di particelle I tipi differenti di mappature sono specificate da halo planar mapping spherical mapping cylindrical mapping box mapping Il tipo di mappatura predefinita quella planare planar mapping Poich la mappatura
398. lour rgb lt 0 3 0 5 0 2 gt 161 Fig 178 Nebbia costante In relazione alla loro distanza le sfere di questa scena scompaiono pi o meno nella nebbia verdastra allo stesso modo si comporta il piano 4 10 3 2 Impostare una Trasparenza Minima Se vuoi assicurarti che lo sfondo non scompaia completamente nella nebbia puoi impostare il canale della trasmittanza del colore della nebbia alla quantit di sfondo che vuoi che rimanga sempre visibile Usando un valore di trasmittanza di 0 2 come in fog distance 150 colour rgbt lt 0 3 0 5 0 2 0 2 gt Fig 179 Trasparenza della nebbia la trasparenza della nebbia non scende mai al di sotto del 20 come puoi vedere dall immagine risultante fog2 pov 4 10 3 3 Creare una Nebbia Filtrante La nebbia verdastra che abbiamo usato fino ad ora non filtra la luce che le passa attraverso Tutto ci che fa diminuire l intensit della luce Possiamo modificare questo comportamento usando un valore diverso da zero per la componente di filtro del colore della nebbia fog3 pov fog distance 150 colour rgbf lt 0 3 0 5 0 2 1 0 gt 162 Fig 180 Nebbia filtrante Il valore del filtro determina la quantit di luce che viene filtrata dalla nebbia Nel nostro esempio il 100 della luce che passa attraverso la nebbia sar filtrata Se avessimo usato un valore di 0 7 solo il 70 della luce sarebbe stata filtrata il restante 30 avrebbe attraversat
399. ludere con alcune delle limitazioni di queste texture speciali facciamo un altra cosa con le mappature dei materiali per far vedere come POV Ray pu prodursi le mappe Per cominciare se si sta usando un immagine che non fa uso della tavolozza POV Ray guarda al componente rosso del colore del pixel che pu avere un valore da 0 a 255 per determinare quale texture della lista usare Quindi per creare una mappa abbiamo bisogno di controllare con esattezza 152 quale sar il valore di rosso di un determinato pixel Possiamo fare questo controllo cos 1 Usando una frase rgb per scegliere il nostro colore Ad esempio rgb lt x 255 0 0 gt dove x il valore di rosso che vogliamo assegnare a quel pigmento e poi 2 Evitando di usare sorgenti luminose ed applicando una finitura finish ambient 1 atutti gli oggetti per assicurarsi che le luci e le ombre non interferiscano Confusi Bene questo un esempio che generer una mappa molto simile a povmap gif che abbiamo usato prima tranne per il formato che sar TGA Notiamo che sono specificati anche i componenti di colore blu e verde POV Ray li ignorer nell immagine finale ma sono specificati per noi umani poich i nostri occhi non possono distinguere la differenza tra variazioni nel rosso tra 0 e 4 255 Senza le variazioni di blu e verde la nostra mappa ci apparirebbe come un immagine completamente nera Questo pu essere un modo geniale di mandare messaggi segreti usando POV
400. ma i raggi di luce sono contenuti in un cilindro e non in un cono La sintassi tight sources 4 lt posizione gt color lt colore gt cylinder point at lt puntata verso gt radius raggio falloff FALLOFF tightness apertura looks like oggetto fade distance distanza di decadimento fade power potenza di decadimento atmospheric attenuation on off Le parole chiave radius falloff e tightness si comportano come per gli spot 303 Si dovrebbe ricordare che le luci cilindriche sono comunque delle sorgenti luminose puntiformi I raggi sono emessi da un punto e contenuti in un cilindro ma non sono paralleli e quindi non si comportano come un laser N d T 7 5 6 4 Area Light Le area light sorgenti di luce estese occupano un area finita di spazio e hanno una o due dimensioni Sono in grado di creare ombre sfumate Le area light usate da POV Ray sono di forma rettangolare come un pannello di luci Piuttosto che usare un modello di calcolo piuttosto complesso per modellare un area light effettiva questa stata approssimata ad una sorgente puntiforme che si diparte dall area occupata dalla luce stessa L intensit di ogni singolo punto di luce che compreso nell area light quindi ridotta cosicch il valore totale di luce emessa risulter uguale al colore della luce specificato La sintassi light source lt posizione gt color lt colore gt area light lt assel gt lt
401. mancanza della prova matematica La presenza di una delle funzioni sqr cube ecc determina quale di queste funzioni viene usata 273 per f h nella formula ricorsiva h n 1 f h n p La maggior parte delle funzioni valida solo se presente la parola chiave hypercomplex Con i quaternioni funzionano solamente sqr e cube Le funzioni sono funzioni complesse estese alle quattro dimensioni Parola chiave della f Porta i valori 4D a sqr h h cube h h h exp e elevato allah reciprocal 1 h sin seno di h asin arcoseno di h sinh seno iperbolico di h asinh inverso del seno iperbolico di h COS coseno di h acos arcocoseno di h cosh coseno iperbolico di h acosh inverso del coseno iperbolico di h tan tangente di h atan arcotangente di h tanh tangente iperbolica di h atanh a della tangente iperbolica di log logaritmo naturale di h HEGY h elevato alla potenza complessa di x iy Un semplice esempio di frattale Julia julia fractal lt 0 083 0 0 0 83 0 025 gt quaternion sqr max iteration 8 precision 15 Il primo rendering di frattali Julia usando i quaternioni stato fatto da Alan Norton e pi tardi da John Hart negli anni 80 Questa nuova possibilit di POV Ray segue Fractint nell idea di andare oltre a ci che noto nella letteratura matematica sull uso degli ipercomplessi e generalizzando la formula ricorsiva per arrivare ad usare una quantit maggiore di funzioni oltre alla classica formula di Mandelbrot
402. mangano identiche nel futuro o che rimanga in uso la stessa sintassi Un alone utilizzato per simulare gli effetti atmosferici che accadono quando singole particelle interagiscono con la luce o emettono luce Questi effetti includono le nuvole la nebbia il fuoco ecc L alone contenuto e riempie completamente un oggetto chiamato oggetto contenitore Se l oggetto parzialmente o completamente trasparente ed cavo hollow vedere la sezione Hollow Vuoto l alone sar visibile Gli effetti creati dall alone saranno comunque limitati al volume occupato dall oggetto Bisogna sempre ricordarsi questo L aspetto dell alone coinvolge numerosi parametri Primo necessario specificare quale tipo di oggetto si vuole simulare Dopo di che sar necessario chiarire la distribuzione delle particelle E possibile fare questo in due passaggi selezionare una funzione di mapping e una funzione che indichi la densit La prima funzione mapper le coordinate del mondo in un intervallo avente una dimensione mentre l altra funzione definir il modo in cui questo mappa lineare sar applicata ai valori di densit Le propriet delle particelle come il loro colore la loro trasparenza sono determinate da una mappatura dei colori I valori della densit sono calcolati dal processo di mappatura e verranno usati per determinare il colore appropriato Il percorso del raggio usato sia per campionare il volume dell alone sia per valutare l accumulazi
403. mazione che possiamo creare senza effettivamente dover nemmeno muovere l oggetto 4 10 6 4 Non Usare Jitter o Crand Un ultima informazione per risparmiarti frustrazione Dato che jitter uno degli elementi dell anti aliasing potremmo limitarci a citarlo nel capitolo sulle informazioni nei file ini ma l anti aliasing interviene anche nelle area light e nei nuovi effetti atmosferici di POV Ray quindi questa un occasione buona come altre Il jittering una piccolissima perturbazione che viene introdotta nei raggi luminosi per diffondere e disperdere i piccoli errori di aliasing che non potrebbero essere eliminati in altro modo anche con alti livelli di anti aliasing Disponendo in maniera casuale i pixel sbagliati l errore diventa meno visibile ai nostri occhi dato che siamo portati per natura ad accorgerci di motivi regolari pi che di distorsioni casuali Questo concetto che funziona meravigliosamente per le immagini pu diventare facilmente un incubo nelle animazioni Dato che per sua natura jitter casuale dar risultati differenti per ogni fotogramma che renderizziamo e dar differenze ancora pi evidenti se riduciamo l immagine finale a 256 colori ad esempio per formati FLC o GIF animate Il risultato sono pixel che saltellano qua e l per la scena ma soprattutto in quei punti dove normalmente ci sarebbero problemi di aliasing ad esempio dove un piano infinito incontra l orizzonte Per questo motivo dovremmo sem
404. me risultato la parte intera di A Arrotonda verso lo zero log A Logaritmo naturale di A D come risultato il logaritmo naturale di base e del valore A dove e rappresenta il numero irrazionale approssimativamente uguale a 2 71828182846 che la base dei logaritmi naturali max A B Il valore massimo tra A e B D come risultato A se A maggiore di B In caso contrario d B min A B Il valore minimo tra A e B D come risultato A se A pi piccolo di B In caso contrario d B mod A B Valore di A modulo B D come risultato il resto dopo la divisione di A B La formula mod A B int A B B pow A B Potenza D come risultato il valore di A elevato alla B esima potenza radians A Converte i gradi in radianti D come risultato l angolo misurato in radianti il cui valore in gradi rappresentato da A La formula radianti A pi 180 0 rand A D come risultato il successivo numero pseudo casuale dal flusso specificato con il numero intero positivo A Devi richiamare seed per inizializzare il flusso casuale prima di richiamare rand I numeri sono distribuiti uniformemente e hanno valori compresi tra 0 0 e 1 0 inclusi entrambi I numeri generati da flussi separati sono variabili indipendenti casuali seed A Inizializza un nuovo flusso pseudo casuale col valore iniziale A come origine E riportato il numero corrispondente a questo flusso casuale Qualsiasi numero di flussi pseudo casuali pu essere
405. medio in modo tale che i passaggi tra i pixel di un immagine siano pi fluidi Sebbene sia possibile usare interpolate in mappe di materiali la mappa viene interpolata prima che vengano assegnate le texture Non viene interpolato il colore finale come invece si potrebbe sperare In generale l interpolazione di una mappa dei materiali non di particolare utilit ma ssar migliorata in futuro Al momento sono disponibili due tipi di interpolazione interpolate 2 bilineare e interpolate 4 distanza normalizzata Ad esempio image map gif mypic gif interpolate 2 Nessuna interpolazione viene effettuata a meno che non vengano specificati questi parametri La pi veloce delle due opzioni interpolate 4 ma il metodo bilineare pi funzionale per questo scopo Normalmente viene utilizzato proprio questo Se la tua mappa appare irregolare prova ad usare l interpolazione invece di aumentare la risoluzione dell immagine ed il risultato pu essere ottimo 7 7 Effetti Atmosferici Gli effetti atmosferici sono un gruppo di funzioni che influenzano lo sfondo e l atmosfera nella quale si trova la scena POV Ray permette di renderizzare diversi effetti atmosferici quali la nebbia 7 7 1 Atmosfera Annotazione importante la funzione atmosfera sperimentale per POV Ray 3 0 C un alta probabilit che questa funzione venga cambiata in futuro Non possiamo garantire che le scene che usano l atmosfera nella versione 3 0 apparir
406. minime x y z e il secondo dalle coordinate massime Si vede come l oggetto box possa essere definito solo parallelamente agli assi di riferimento In seguito lo possiamo ruotare di un qualsiasi angolo Nota che possiamo eseguire semplici operazioni matematiche sui vettori e sui valori numerici Per esempio nel parametro rotate abbiamo moltiplicato l identificatore y per 20 Questo lo stesso che scrivere lt 0 1 0 gt 20 oppure lt 0 20 0 gt 4 3 2 Cono Ecco un esempio su come usare un cono cone lt 0 1 0 gt 0 3 centro e raggio di un estremit lt 1 2 3 gt 1 0 centro e raggio dell altra estremit texture T _Stone25 scale 4 Fig 6 Cono Un cono o tronco di cono viene definito mediante il centro ed il raggio delle sue due estremit In questo esempio un estremit si trova a lt 0 1 0 gt e ha raggio 0 3 mentre l altra si trova a lt 1 2 3 gt con raggio 1 Se vogliamo che il cono abbia una punta dobbiamo porre uguale a zero uno dei due raggi Le facce piane del cono sono parallele l una all altra e perpendicolari all asse del cono Se vogliamo un cono senza queste facce dobbiamo aggiungere la parola open dopo il secondo raggio in questo modo cone lt 0 1 0 gt 0 3 centro e raggio di un estremit lt 1 2 3 gt 1 0 centro e raggio dell altra estremit open elimina le facce piane texture T Stone2s scale 4 42 Fig 7 Cono senza le facce piane open 4 3 3 Cilin
407. mo bene osserviamo che ci sono zone pi chiare nell ombra Queste sono zone dove le propriet di rifrazione del bicchiere concentrano abbastanza luce da creare un punto luminoso Se c una decorazione 109 incisa sul bicchiere potremo riconoscere la decorazione nelle zone chiare dell ombra Queste zone chiare sono riflessi proiettati causati dalla rifrazione Ci saranno anche zone illuminate del tavolo causate dalla luce riflessa dal vetro Queste sono riflessi proiettati caustics causati dalla riflessione Ora che sappiamo cosa stiamo cercando troveremo questi riflessi in molte situazioni della vita di tutti i giorni l ombra proiettata da una lente di ingrandimento ne ha uno la luce che filtra attraverso un acquario la luce attraverso un pezzo di cellophane spiegazzato eccetera Li vediamo anche sul fondo di una piscina in una giornata luminosa Questi riflessi sono un effetto dell illuminazione che pu aumentare il realismo delle immagini renderizzate di questo genere di oggetti POV Ray utilizza metodi che simulano solo i riflessi proiettati causati dalla rifrazione quelli causati dalla riflessione non sono possibili da calcolare Ci sono limitazioni nel processo di raytracing standard che lo rendono inadatto per certe applicazioni di simulazione dell illuminazione come prove ottiche e certe particolari applicazioni di progetti di illuminazione architettonica I metodi che eseguono i calcoli molto pi complessi necessari per avere
408. mo nuovamente Fig 127 Valori pi bassi di luce ambiente e diffusa Ora va molto meglio Facciamo brillare la nostra sfera come una palla d oro lucidata sphere lt 0 0 0 gt pigment BrightGold finish ambient diffuse 105 specular 1 roughness 001 reflection 75 Fig 128 Poca luce ambiente poca luce diffusa e molta riflessione speculare Ci siamo molto vicini ma c qualcosa di sbagliato nel riflesso Per rendere la superficie pi simile al metallo usiamo la parola chiave metallic Aggiungiamola ora per vedere la differenza sphere lt 0 0 0 gt 1 pigment BrightGold finish ambient diffuse specular 1 roughness 001 reflection 75 metallic 106 Fig 129 La parola chiave metallic Vediamo che il punto luminoso sulla sfera ha pi il colore della superficie che quello della sorgente luminosa Questo d alla superficie un aspetto pi metallico 4 8 4 4 Rifrazione Gli oggetti trasparenti permettono alla luce di attraversarli Con alcuni materiali in effetti tutti tranne il vuoto assoluto N d T i raggi di luce vengono curvati mentre viaggiano attraverso l oggetto a causa della diversa densit ottica degli oggetti Questo fenomeno chiamato rifrazione L acqua ed il vetro ad esempio piegano la luce in questo modo Per simulare adeguatamente l acqua o il vetro POV Ray ci fornisce un metodo per specificare la rifrazione con le parole chiave
409. modalit grafica spesso preferibile tenere sotto controllo il procedere del rendering Usare il comando Verbose on 0 V attiva un rapporto dettagliato sul procedere del 196 rendering Riporta infatti il numero della riga che viene renderizzata il tempo impiegato per il fotogramma corrente e altre informazioni Su alcuni sistemi queste informazioni di testo possono causare un conflitto con la modalit grafica Pu essere necessario disattivarle quando attiva l opzione di visualizzazione dell immagine L impostazione predefinita of f V L opzione Draw Vistas on o UD era in origine una funzione per la correzione della funzione vista buffer di POV Ray ma era cos divertente che abbiamo deciso di tenerla Il vista buffering un metodo di suddivisione dello spazio che proietta altezza e larghezza dei parallelepipedi che delimitano lo spazio tridimensionale all interno del quale si trovano gli oggetti bounding boxes sul piano visuale dell osservatore POV Ray controlla la posizione x y di queste aree rettangolari per determinare velocemente quali oggetti saranno visibili L impostazione predefinita of perch la rappresentazione dei rettangoli pu richiedere molto tempo in scene complesse e non ha particolare utilit Vedi il paragrafo Controllo sul Bounding Automatico per maggiori dettagli 6 2 2 2 3 Anteprima a Mosaico Imposta la dimensione di partenza dell anteprima a mosaico a n Preview Start Size n pixels
410. mpilazione su IBM PC Anton Raves Beta tester ha aiutato su diverse cosette relative al Mac CIS 100022 2603 Dan Richardson 400 Manuali CIS Tim Rowley supporto ai formati PPM e BMP Internet trowley geom umn edu Robert Schadewald Beta tester CIS Eduard Schwan Versione Mac anteprima a mosaico manuale CIS 104706 3276 or POVRAYMAC or ESPSW Internet povraymac compuserve com or espsw compuserve com WWW http ourworld compuserve com homepages povraymac Robert Skinner funzioni Noise Erkki Sondergaard File Scena CIS Zsolt Szalavari Codice per gli Aloni Internet zsolt cg tuwien ac at Scott Taylor texture Leopard e onion Timothy Wegner Oggetti frattali supporto per il formato PNG CIS 71320 675 Internet twegner phoenix net Drew Wells programmatore di POV Ray 1 0 coordinatore del POV Ray 1 0 Team Chris Young programmatore di POV Ray 1 0 2 0 3 0 coordinatore del POV Ray 2 0 3 0 Team CIS 76702 1655 Appendice C Contattare gli Autori Il POV Ray Team una squadra di programmatori progettisti animatori ed artisti volontari che si incontrano via posta elettronica sul forum POVRAY di CompuServe Lo scopo del POV Ray Team di creare software di alta qualit per il rendering e l animazione scritto in C che possa essere portato su molte piattaforme Se hai domande su POV Ray contatta Chris Young 401 Coordinatore del POV Team CIS 76702 1655 Internet 76702 1
411. mpio il vettore lt 1 2 3 gt indica il punto che si trova un unit a destra due unit verso l alto e tre unit di fronte rispetto al centro dell universo che si trova per convenzione a lt 0 0 0 gt I vettori comunque non rappresentano sempre punti Essi si possono riferire a un valore di ridimensionamento a una traslazione o a una rotazione di un elemento della scena o per modificare la texture applicata a un oggetto Le trasformazioni consentite sono la rotazione il ridimensionamento scaling e la traslazione Esse sono usate per ruotare dimensionare o traslare un oggetto o una texture Pu essere usata anche una trasformazione matrice per specificare direttamente trasformazioni complesse 7 3 1 Trasformazioni Le trasformazioni consentite sono la rotazione il ridimensionamento e la traslazione Esse sono usate per ruotare dimensionare o traslare un oggetto o una texture rotate lt VETTORE gt scale lt VETTORE gt translate lt VETTORE gt 7 3 1 1 Traslazioni Un oggetto o una texture si possono spostare aggiungendo il parametro di traslazione Esso consiste della parola chiave translate seguita da un espressione vettoriale I termini del vettore specificano il numero di unit di cui spostare l oggetto in ognuna delle direzioni x y e z La traslazione muove l elemento a cui si riferisce dalla sua posizione corrente Per esempio sphere lt 10 10 10 gt 1 pigment Green translate lt 5 2 1 gt
412. mponenti nella mappa Per esempio normal gradient x questo il TIPO DI MOTIVO normal map 0 3 bumps scale 2 0 3 dents 6 dents 9 marble turbulence 1 Quando la funzione gradient x assume valori compresi tra 0 0 e 0 3 allora usata una normale bumps scalata Da 0 3 a 0 6 vale la normale dents da 0 6 a 0 9 si passa dalla normale dents a marble con turbolenza Da 0 9 in poi viene usato solo marble Le mappe delle normali possono essere complesse quanto si vuole Le normali presenti in una mappa possono avere slope maps o normal maps di ogni tipo La mappatura delle normali usata con la parola chiave average Vedi Average Media per ulteriori informazioni Le normali possono anche essere usate con motivi come checker hexagon e brick Per esempio normal checker normal gradient x scale 2 normal gradient y scale 2 E da notare che in casi di motivi come quelli appena elencati la frase normal deve precedere il pattern Non puoi usare normal map o singole normali con una bump_map Vedere il paragrafo Mappe di Texture per soluzioni alternative 7 6 2 3 Mappe Bump Quando non funziona niente e nessun tipo di normale gia descritto ti soddisfa puoi usare una bump map una immagine come mappa per mettere cio intorno al tuo oggetto tridimensionale un immagine 2D che ne simula le irregolarit della superficie Invece di porre i colori dell immagine sull ogge
413. mpostazione sovrascrive le precedenti Dettagli su ogni elemento sono forniti nei prossimi paragrafi 7 8 1 ADC_Bailout Nelle scene con molte superfici riflettenti e trasparenti il rendering pu essere molto lento perch POV Ray traccer molti raggi per determinare le riflessioni e le rifrazioni che per avranno un contributo piuttosto piccolo sul colore di un particolare punto Il programma usa un sistema chiamato adaptive depth control ADC per limitare i raggi aggiuntivi quando il loro contributo non particolarmente significativo E possibile usare la parola chiave adc_bailout nelle impostazioni generali per specificare il momento a partire dal quale il contributo di un raggio considerato trascurabile global settings adc bailout DECIMALE Il valore predefinito di 1 255 0 0039 poich una differenza minore non sarebbe visibile in un immagine a 24 bit Generalmente quest impostazione pi che adeguata Impostare adc_bailout a 0 disattivera la funzione lasciando amax trace level il compito di stabilire un limite superiore al numero dei raggi lanciati Vedere il paragrafo Max _Trace_Level per dettagli su come i due parametri interagiscono 7 8 2 Luce Ambiente La luce ambiente usata per simulare l effetto della riflessione interdiffusa che responsabile della tenue illuminazione delle aree che sono parzialmente o totalmente in ombra POV Ray prevede una luce ambiente per cambiare facilmente la luminosit della sc
414. mps stato creato originariamente per essere usato come un pattern delle normali Usa una funzione casuale che crea vasti rigonfiamenti bumps della superficie quando ingrandita e ha l aspetto di una buccia d arancia quando rimpicciolita Di solito i bumps sono distanti circa un unit Quando usato come una normale bumps usa una funzione di perturbazione particolare Questo significa che questo pattern non pu essere usato con le mappe di normali le slope map e le varie forme d onda Quando usato come un pattern di pigmenti o di texture identico abozo 0 a spotted e simile ai bumps delle normali ma non identico come invece la maggior parte dei pattern delle normali quando vengono applicati ad un pigmento Quando usato in frasi di pigmento o texture il pattern bumps usa l onda ramp_wave per default ma pu usare qualunque tipo di onda Il pattern bumps pu essere usato con mappe di colore pigmento normali e texture 7 6 7 6 Checker Scacchiera 350 Il pattern checker produce un motivo a scacchiera consistente di quadrati alternati dei colori COLORE_1 e COLORE_ 2 Se non sono specificati colori la scacchiera sar blu e verde La sintassi pigment checker COLORE 1 COLORE 2 Il pattern checker in effetti una serie infinita di cubi di lato 1 disposti nello spazio in modo che siano alternati in ogni direzione Se si assegna questo pattern ad un qualunque oggetto lo si vedr come se fosse stato intagl
415. munque la superficie come specificato da u stepsev steps Se flatness maggiore di 0 allora ogni volta che la superficie divisa POV Ray controlla se c bisogno di eseguire un ulteriore suddivisione Usare valori diversi da zero per flatness comporta sia vantaggi che svantaggi I vantaggi sono se la superficie non molto curva allora POV Ray se ne accorger e non perder tempo cercando di calcolare parti non influenti se la superficie molto curva in zone molto ristrette POV Ray si concentrer su queste creando ulteriori suddivisioni solo dove sono necessarie Il maggiore svantaggio invece che POV Ray termina la suddivisione a livelli diversi nelle diverse zone della superficie questo pu far s che la superficie appaia spezzata Questo fenomeno si manifesta in zone trasparenti della superficie La gravit di questo inconveniente dipende pi che altro dall angolo dal quale si osserva l oggetto Come 1 triangoli le superfici bicubiche non sono state ideate per essere scritte a mano Questi 285 oggetti dovrebbero essere creati da programmi esterni che sono generalmente disponibili alla stessa fonte dalla quale si ottenuto POV Ray bicubic patch type 1 flatness 0 01 u_ steps 4 x_BL6eps 4 lt 0 0 2 gt lt 0 1 0 gt lt 0 2p OS lt 0 Sy 02 lt 1 lt 1 lt 1 lt 1 0 0 gt 0 gt 0 gt 0 gt lt 2 lt 2 lt 2 lt 2 0 i Zi di 0 gt 0 gt
416. mysce100 tga Il valore di default di Initial Frame 1 non avr probabilmente mai bisogno di essere cambiato Si potrebbe aver bisogno di cambiarlo solo se si stanno assemblando insieme parti di complesse animazioni divise in distinte sequenze allora una scena potr andare dal fotogramma 1 al 50 e la successiva dal 51 al 100 e proprio a questo servono i parametri Initial Frame n e KFIn Nota che se volessi renderizzare un sottoinsieme di fotogrammi come ad esempio i fotogrammi da 30 a 40 di un animazione che va dal fotogramma 1 al fotogramma 100 non dovresti cambiare i valori di Initial Frame o Final Frame Dovresti invece usare i comandi descritti nel paragrafo Sottoinsiemi di fotogrammi Diversamente da altri programmi di animazione l azione nelle scene animate di POV Ray non 189 dipende solo dal numero progressivo del fotogramma Infatti si organizza la scena grazie alla variabile clock Di default il valore di clock 0 0 per il fotogramma iniziale e di 1 0 per quello finale mentre tutti gli altri sono interpolati tra questi due valori Per esempio se il tuo oggetto dovesse ruotare facendo un giro completo durante il corso dell animazione possibile specificare rotate 360 clock y cosicch via via che la variabile clock varia tra 0 0 e 1 0 l oggetto ruota rispetto all asse y da 0 a 360 gradi Il maggiore vantaggio di questo sistema che si possono renderizzare animazioni con 10 100 500 o 329 fotogrammi e l oggetto ruoter
417. n altre parole 408 0 gt se puoi sempre vedere lo sfondo o tutto quello che vuoi vedere usa la stessa distanza e lo stesso colore per l atmosfera Appendice G 5 2 Domande sulla Nebbia D Sto usando moray per costruire una scena che contiene della nebbia rasoterra Il problema che la nebbia sfuma lungo l asse y In moray l asse delle altezze l asse z quindi io ottengo un muro di nebbia invece di uno strato orizzontale Che fare R C una parola chiave che si chiama up e che pu essere usata per specificare la direzione verticale ella nebbia Aggiungendo la linea up z alla tua nebbia risolverai il problema Appendice H Letture Consigliate Oltre ai libri specifici citati nel paragrafo Libri e CD ROM su POV Ray vedi 2 4 6 ci sono alcuni buoni libri o periodici che dovresti poter trovare in negozi specializzati e grandi librerie o nelle biblioteche universitarie An Introduction to Ray tracing Andrew S Glassner editor ISBN 0 12 286160 4 Academic Press 1989 3D Artist Newsletter The Only Newsletter about Affordable PC 3D Tools and Techniques Publisher Bill Allen P O Box 4787 Santa Fe NM 87502 4787 505 982 3532 Image Synthesis Theory and Practice Nadia Magnenat Thalman and Daniel Thalmann Springer Verlag 1987 The RenderMan Companion Steve Upstill Addison Wesley 1989 Graphics Gems Andrew S Glassner editor Academic Press 1990 Fundamentals of Int
418. n altro modo per ridurre le malefatte dell aliasing quello di introdurre del rumore nel processo di campionamento Questo metodo chiamato jittering e funziona perch il nostro meccanismo di vista molto meno attento al rumore che ai colori 0 ai motivi di colore regolari La posizione del campionamento soggetta ad una piccola turbolenza dove si sta facendo uso dell anti aliasing Il Jittering usato di default ma pu essere disattivato con l opzione Jitter off o con il parametro J La quantit di jittering pu essere impostata con l opzione Jitter Amount n n Quando si usano i parametri della linea di comando il valore di jittering pu essere impostato immediatamente dopo il parametro J Per esempio 30 5 usa la meta del valore normale di Jittering Il valore predefinito di jitter anche il massimo valore di jittering possibile che assicurer che tutto il processo di sovracampionamento rimarr all interno del pixel su cui si sta lavorando E da notare che il jittering casuale e non ripetibile quindi dovrai evitare di usarlo nelle animazioni poich il pixel che ha subito il processo di anti aliasing potrebbe risultare diverso di fotogramma in fotogramma Se non viene usato l anti aliasing per ogni pixel viene preso un solo campione indipendentemente dal metodo di sovracampionamento specificato qui sopra 7 Linguaggio di Descrizione delle Scene Il linguaggio di descrizione delle scene di POV Ray consente di descrivere
419. n vero e proprio ma elencato qui perch la sintassi simile a quella degli altri pattern Normalmente un pattern specifica come i colori o le normali sono scelti da una mappa mentre average fa calcolare a POV Ray la media di tutti pattern che vengono specificati Average era stato originalmente ideato per l uso in una frase di 348 descrizione delle normali insieme ad una mappa di normali come metodo per usare pi di un pattern di normali sulla stessa superficie Comunque average pu essere usato in una frase pigment insieme ad una mappa di pigmenti o in una frase texture insieme ad una mappa di texture Quando usato con i pigmenti la sintassi pigment average pigment map PESO 1 PIGMENTO 1 PESO 2 PIGMENTO 2 PESO n PIGMENTO n MODIFICATORI Allo stesso modo si pu usare una mappa di texture in una frase texture Tutte le texture sono calcolate per intero i colori vengono pesati e ne viene fatta la media Quando viene usata con una mappa di normali vengono calcolate pi copie della superficie originaria Queste sono perturbate da ogni pattern di normali presente nella lista ed infine vengono pesate sommate e normalizzate Vedi i paragrafi Mappe di pigmento Mappe normali e Mappe di texture 7 6 7 3 Bozo Il pattern bozo una funzione casuale che con l aggiunta di una leggera turbolenza di solito usata per creare nuvole Il pattern spotted identico a bozo ma
420. na il modo in cui le immagini si ripetono dipende dalla macchina fotografica Questo potrebbe essere utile per effetti speciali Nota che funzione Vista_Buffer pu essere usata solo con la macchina fotografica prospettica e con quella ortogonale 7 4 2 Messa a Fuoco Simula la profondit di campo inviando un numero di campioni da punti leggermente spostati all interno di ogni pixel e calcolando la media dei risultati L impostazione dell apertura parola chiave aperture determina la profondit di campo che interessa le varie zone Aperture grandi danno molta sfocatura mentre aperture strette daranno una ampia zona a fuoco Nota che mentre in questo si comporta come una vera macchina fotografica i 259 valori dell apertura sono puramente arbitrari e non riferibili direttamente alle aperture di diaframma di una reale macchina fotografica Il centro della zona nitida rappresentato dal vettore che determina il punto focale focal point focal point ha normalmente un valore predefinito di lt 0 0 0 gt Il valore diblur samples controlla il numero massimo di raggi utilizzati per ciascun pixel Pi raggi danno un immagine pi omogenea ma rendono il calcolo pi lento bench questa elaborazione sia controllata da un algoritmo di ottimizzazione che blocca i raggi inviati quando stato raggiunto un certo grado di accuratezza tale che un numero maggiore di raggi non porterebbe a risultati di rilievo Le parole chiave confidenc
421. na definita Questo il caso di tutti gli oggetti descritti nei paragrafi Primitive Solide Finite e Primitive Solide Infinite Gli oggetti CSG possono essere utilizzati ovunque si sia fatto uso di un oggetto standard anche 292 all interno dell oggetto CSG stesso Possono essere spostati ruotati e ridimensionati come un qualunque oggetto sia gli oggetti componenti che l intero oggetto 7 5 5 2 Dentro e Fuori Molte primitive come sfere parallelepipedi e blob dividono il mondo in due regioni una regione all interno dell oggetto l altra all esterno Dato un qualunque punto nello spazio si pu stabilire facilmente se all interno o all esterno di una primitiva Potrebbe essere esattamente sulla superficie ma in questo caso sarebbe piuttosto problematico determinare dov per ragioni numeriche Anche i piani hanno un dentro e un fuori Per definizione la normale alla superficie di un piano rivolta all esterno E da notare che i triangoli e gli oggetti basati su essi come mesh e superfici di Bezier non possono essere usati all interno di oggetti CSG perch non hanno un interno ed un esterno definiti La geometria CSG utilizza i concetti di interno ed esterno per combinare oggetti come spiegato nei paragrafi seguenti Immaginate di avere oggetti che si sovrappongono parzialmente come mostrato nella figura seguente Si possono distinguere quattro tipi diversi di punti i punti che non sono n in A n in B quel
422. na qualche utilit per realizzare la tua immagine puoi usare una immagine come mappa per avvolgere cio il tuo oggetto tridimensionale con un immagine 2D 7 6 1 5 1 Specificare un Immagine La sintassi per la mappatura di un immagine parola chiave image map pigment image map TIPO DI FILE nome del file MODIFICATORI Dove TIPO DI FILE specifica uno dei seguenti formati gif tga iff ppm pgm png 0 sys Questo sar seguito dal nome del file tra virgolette Ci possono essere alcuni modificatori dopo questa specificazione Questi modificatori sono descritti sotto Alcune versioni precedenti di POV Ray permettevano di inserire alcuni modificatori prima dell opzione che specifica il tipo di file ma questa sintassi stata soppiantata dalla nuova qui descritta Il nome del file dir a POV Ray quale file cercare e POV Ray lo cercher prima nella directory corrente e poi se non lo ha trovato lo cercher nelle directory specificate nelle librerie Questo per facilitare l archiviazione di tutte le immagini per le mappe in una specifica sottodirectory che potr essere eventualmente inclusa nei percorsi specificati dalle librerie Di default le immagini sono mappate sul piano x y L immagine proiettata sull oggetto come se ci fosse un proiettore sull asse z l immagine riempie l area dal punto di coordinate x y 0 0 al punto 1 1 senza considerare le dimensioni dell immagine di partenza Se si vuole cambiar
423. nd se c d Si ripete dal punto 4 finch non sono stati rederizzati tutti i fotogrammi 5 Si esegue il Post Scene Command se c 6 Uscita da POV Ray Se presente il comando User Abort Command il processo pu essere interrotto quando lo si ritenga necessario Le interruzioni possono essere eseguite dolo durante il parsing e nelle parti del rendering che seguono il passaggio 4 Se si incorre in un errore fatale ed presente il comando Fatal Error Command allora questo eseguito In qualche caso un errore nella memoria o altro pu essere la causa di un crash totale del programma in questo caso non c nessuna possibilit di uscita Gli errori fatali possono essere annidati in ogni punto del processo inclusi i comandi le opzioni e i parametri E da notare che viene fatto il parsing dell intera scena per ogni fotogramma Le versioni future di POV Ray permetteranno di memorizzare parti di un fotogramma per passarle al successivo ma per ora ricomincia tutto il processo ogni volta Anche il comando Pre Frame Command viene eseguito prima del parsing E possibile usarlo per richiamare alcune utilit per la generazione della scena del fotogramma corrente Queste utilit possono sovrascrivere via via il tuo file pov o inc se necessario Ad esempio potresti volere una nuova immagine gif o tga da ogni fotogramma da utilizzare per mappe di immagini o per gli height field 6 2 4 3 Azioni di Ritorno dei Comandi di Shell Imposta i
424. ne con bassi valori di densit e i colori alla fine della mappa con alti valori saranno usati per le zone di alta densit Nel nostro esempio la halo sar gialla al centro dove la densit maggiore e sfumer al rosso verso la superficie della sfera dove la densit si avvicina allo 0 Il canale della trasmittanza dei colori nella mappa usato per modellare la trasparenza del campo di densit Un valore di 0 rappresenta la completa opacit cio aree con la densit corrispondente saranno quasi opache mentre il valore di 1 significa quasi totale trasparenza Nel nostro esempio usiamo color map 0 color rgbt 1 color rgbt Che risulta in una halo con una zona esterna molto trasparente rossastra ed una zona interna quasi opaca e gialla C un altro parametro che deve ancora essere spiegato la parola chiave samples Questa parola chiave dice a POV Ray quanti campioni devono essere presi lungo ogni raggio che attraversa la halo per calcolare il suo effetto Usare un basso valore porter ad un alta velocit del rendering mentre un alto valore dar tempi di rendering considerevolmente pi lunghi Il numero di campioni deve essere aumentato quando l alone ha un aspetto confuso cio quando risultano evidenti alcune irregolarit dovute al basso tasso di campionamento Per maggiori dettagli vedi il paragrafo Campionamento per gli Aloni Un buon valore iniziale per il numero di campioni 10 CT i
425. ne della vista e la luce incidente La dispersione di Rayleigh un modello di dispersione per particelle molto piccole come le molecole dell aria La quantit di luce dispersa dipende dall angolo di incidenza della luce E pi grande quando la luce incidente parallela alla direzione della vista e pi piccola quando la luce incidente perpendicolare Il modello di Rayleigh usato da POV Ray non prende in considerazione la dipendenza della dispersione dalla lunghezza d onda della luce 1 0 we ES 5 oc co w c 2 amp gt 0 0 o Q w ta 3 0 5 1 0 i f i 1 0 0 5 0 0 0 5 1 0 Figura 229 La funzione di dispersione di Rayleigh La dispersione di Mie usata per particelle abbastanza piccole come le minuscole gocce d acqua che costituiscono la nebbia le nuvole e le particelle inquinanti Questo modello di dispersione estremamente direzionale la quantit di luce dispersa maggiore quando la luce incidente rivolta direttamente contro l osservatore E minore quando la luce incidente si allontana dall osservatore rimanendo parallela con la sua vista C inoltre differenza tra i modelli che descrivono la foschia e l atmosfera inquinata Il modello che descrive questo secondo tipo di atmosfera molto pi direzionale dell altro 374 F o D c gt 2 a m O 5 Re Figura 230 La funzione di dispersione di Mie per la foschia 379 1 0 DA 0 5 5 o Gy
426. ne su una scheda video VGA usando la tavolozza 332 dgh Mostra l immagine su una scheda video VGA usando l opzione hi color dgt Mostra l immagine su una scheda video VGA usando l opzione true color Nota che il BIOS VESA deve supportare queste opzioni affinch tu le possa usare Alcune schede possono supportare hi color o true color a livello hardware ma non tramite il loro BIOS VESA 4 Tutorial Questo capitolo spiega passo dopo passo come utilizzare il linguaggio di cui POV Ray fa uso per creare le proprie scene Verr spiegato in dettaglio l utilizzo di quasi tutte le funzioni del linguaggio di POV Ray Impareremo funzioni elementari come posizionare il punto di osservazione e le sorgenti luminose impareremo anche come creare una grande variet di oggetti ed assegnare loro texture differenti Le funzioni pi sofisticate come radiosity riflessione interdiffusa aloni oggetti particellari ed effetti atmosferici verranno spiegate in dettaglio I paragrafi seguenti spiegano le funzioni all incirca nello stesso ordine in cui compaiono nella guida di riferimento vedi capitolo 7 4 1 La Nostra Prima Immagine Creeremo un file scena per un immagine semplice Dato che i programmi di raytracing si basano sulle sfere partiremo da l 4 1 1 Capire il sistema di coordinate di POV Ray Per prima cosa dobbiamo dire a POV Ray dove si trova il nostro punto di osservazione e dove stiamo guardando il punto di osservazione indicato dall is
427. ngolo minore di 360 Se usiamo ad esempio arc angle 120 otterremo un arco di arcobaleno di 120 gradi che termina bruscamente alle sue estremit Per evitare ci possiamo usare la parola chiave falloff angle per specificare una regione in cui l arcobaleno si fonda gradualmente con lo sfondo Come spiegato nel paragrafo Arcobaleno vedi 7 7 5 l arco si estende da arc_angle 2a arc _angle 2 mentre la sfumatura si verifica da arc angle 2 a falloff angle 2e da falloff angle 2 finoa arc angle 2 Questo il motivo per cui il valore di falloff angle deve essere minore o uguale a quello di arc angle Nell esempio seguente usiamo un arco di 120 con un angolo di falloff di 45 su entrambi i lati dell arcobaleno rainbow3 pov rainbow angle 42 5 width 5 arc_ angle 120 falloff angle 30 distance 1 0e7 direction lt 0 2 0 2 1 gt jitter 0 01 colour map 0 000 colour r violetl transmit 0 98 100 colour r violet transmit 0 96 214 colour r indigo transmit 0 94 928 colour r blue transmit 0 92 442 colour r cyan transmit 0 90 556 colour r green transmit 0 92 670 colour r yellow transmit 0 94 784 colour r orange transmit 0 96 900 colour r redl transmit 0 98 So O O 176 Gli angoli dell arcobaleno sono misurati sulla direzione verticale dell arcobaleno che pu essere specificata usando la parola chiave up seguita da un vettore Per default questa direzione l asse
428. ni Gli aloni sono una funzione delle texture che ci permette di riempire l interno di un oggetto con particelle La distribuzione di queste particelle pu essere modificata usando diverse funzioni di densit e di mappatura della densit Le particelle possono emettere luce per dare effetti come fuoco o laser o possono assorbire luce per creare nebbia o nuvole Un alone attaccato ad un oggetto il cosiddetto contenitore come se fosse una frase di specificazione di pigmento normali o finitura L oggetto contenitore completamente riempito dall alone ma non possiamo vedere nulla se non ci assicuriamo che l oggetto sia vuoto e che la superficie sia trasparente Mostreremo nel prossimo paragrafo come ottenere ci Lavorando con gli aloni dobbiamo sempre ricordare che l oggetto contenitore deve sempre essere vuoto e trasparente 4 8 5 2 L Alone Emittente Iniziamo con uno dei tipi pi semplici l alone emittente Usa solo particelle che emettono luce Non ci sono particelle che assorbono la luce emessa dalle altre particelle o da sorgenti luminose 4 8 5 2 1 Iniziare con un Alone Semplice Un approccio metodico nel creare un effetto di alone iniziare con un oggetto semplice di dimensione unitaria che si trova al centro del nostro sistema di riferimento Nel primo esempio file halo01 pov cerchiamo di creare una potente esplosione per cui l oggetto migliore la sfera Iniziamo con una semplice scena costituita da una camera una sor
429. ni piattaforma per la quale viene distribuito Un pacchetto software completo consiste in Archivi eseguibili direttamente contenenti un programma eseguibile la documentazione e le scene di esempio ma non il codice sorgente oppure Archivi destinati al programmatore contenenti il codice sorgente del programma competo ma non i file eseguibili Si deve includere un archivio contenente le scene di esempio e la documentazione Per alcune piattaforme la documentazione e le scene campione sono archiviate separatamente dal codice sorgente Il codice sorgente da solo non basta Devono esserci anche documentazione e scene d esempio POV Ray distribuito nelle versioni ufficiali per MS Dos Windows 32 Linux per processori serie Intel x86 Apple Macintosh Apple PowerPC SunOS ed Amiga Altri sistemi possono essere aggiunti in futuro Chi distribuisce POV Ray non tenuto a offrire supporto per tutte le piattaforme ma per ogni piattaforma supportata deve essere resa disponibile una versione completa del programma Ad esempio una BBS dedicata al Macintosh non obbligata a distribuire la versione per Windows 393 Il software pu essere associato ad altri pacchetti software solo alle condizioni specificate nelle istruzioni seguenti Appendice A 5 Condizioni per le Compagnie di Distribuzione di Programmi Shareware Freeware Le compagnie di distribuzione di programmi shareware e freeware possono distribuire il programma in racc
430. ni predefinite sono Vista Buffer on o UV and Light Buffer on o UL Le opzioni di disattivazione di questi metodi di calcolo sono a disposizione anche per dimostrare la loro utilit e come protezione per eventuali errori in cui potrebbero incorrere In generale ogni oggetto di dimensioni finite e molti degli oggetti creati con operazioni CSG risponderanno senza errori a questo sistema di divisione Inoltre gli oggetti blob e mesh usano un metodo di bounding interno Questo non pu essere regolato con i comandi che sono stati illustrati sin qui Possono essere disattivati usando la sintassi appropriata nel file della scena vedere Blob e Meshes per ulteriori dettagli Anche il testo diviso nelle singole lettere che sono poi sottoposte alla gerarchia del bounding anche alcune combinazioni booleane di oggetti finiti e infiniti sono sottoposte al bounding Il risultato finale che ti sar necessario raramente aggiungere manualmente il bounding come era invece necessario nelle precedenti versioni di POV Ray a meno che non usi molti oggetti infiniti 213 6 2 6 4 Opzioni sull Anti Aliasing Antialias bool attiva disattiva l anti aliasing on off A attiva l anti aliasing con soglia 0 3 o precedenti A disattiva l anti aliasing Sampling Method n imposta il metodo di campionamento 1 or 2 AMn lo stesso di Sampling Method n Antialias Threshold n n imposta la soglia di anti aliasing An n imposta la soglia di anti aliasing a n n
431. nico ogni fotogramma senza bisogno che ce ne preoccupiamo Inoltre per default far variare il valore di clock tra zero ed uno ad incrementi inversamente proporzionali al numero totale di fotogrammi ad esempio se abbiamo 10 fotogrammi al primo corrisponder il valore 0 al primo 1 10 AI secondo 2 10 e cos via Questo molto conveniente dato che otterremo un valore di clock che va da 0 ad 1 indipendentemente dal fatto che stiamo renderizzando una GIF animata da 5 fotogrammi o un filmato MPEG da 300 L animazione inizier e terminer esattamente nello stesso modo ma sar distribuita in un numero 183 di fotogrammi diverso Ora occupiamoci di clock Nel nostro esempio con la palla che rotola abbiamo visto che talvolta possiamo avere bisogno che clock vari entro un intervallo diverso dal classico 0 1 Bene quando ci necessario abbiamo un impostazione anche per questo Per fare variare clock come nel nostro esempio da 0 a 2 dobbiamo aggiungere le seguenti linee al nostro file INI Initial Clock 00 Final Clock 2 0 Ora supponiamo di ottenere una sequenza di 100 fotogrammi e che abbiamo notato un qualche difetto diciamo tra i fotogrammi 51 e 75 Ritorniamo sul nostro file scena e lo correggiamo Ora vorremmo renderizzare solo quei 25 fotogrammi invece di dovere rifare tutta la sequenza dall inizio Cosa dobbiamo fare Se scriviamo nel nostro file INI le linee Initial Frame 51 Final Frame 75 stiamo sbagli
432. niti i file di POV Ray si possono trovare sulla BBS The Graphics Alternative E una grande BBS di grafica gestita da Adam Shiffman TGA un sistema di BBS di alta qualit che offre servizi di messaggeria e file a oltre 1300 utenti 510 524 2780 PM14400FXSA v 32bis 14 4k Pubblico Tel 510 524 2165 USR DS v 32bis HST 14 4k Associati 2 4 5 PCGNet Il Professional Cad and Graphics Network PCGNet serve le comunit del CAD e della grafica rendendo ampiamente disponibili utili informazioni Precedentemente chiamato ADENet PCGNet una nuova rete creata da zero che incorpora nuovi nodi e si occupa sia di CAD che di argomenti 26 connessi alla grafica tra cui progettazione disegno ingegneria modellazione 2d e 3d applicazioni multimediali sistemi immagini raster rendering 3d ed animazione PCGNet progettato per soddisfare le necessit di tutti coloro che chiamano stimolando interesse e producendo forum di supporto per gli utenti attivi che abbiano interesse negli argomenti precedentemente elencati interesse e supporto sono prodotti attraverso conferenze condivisione di file attraverso la rete e novit e informazione dall industria del software e dalla stampa Le conferenze di PCGNet sono forum moderati ideati per ospitare discussioni informali seppure professionali su materie collegate a CAD e grafica 2 4 6 Libri e CD ROM su POV Ray Quelli che seguono sono prodotti creati da membri del POV Team Nonostante siano ag
433. nizione il vettore normale punta verso l esterno del piano mentre ogni punto dall altra parte dal vettore definito come interno Questa distinzione tra interno ed esterno importante solo quando si usano piani negli oggetti CSG e in frasi clipped by Un piano chiamato polinomiale perch definito da un polinomio di 1 grado Dato un piano 289 plane lt A B C gt D questo pu essere rappresentato dall equazione Arx Bey C Z DY SGEE AT2A 4 B 2 A Cey 04 Quindi il nostro piano di esempio plane y 4 ineffetti rappresentato dall equazione polinomiale y 4 Si pu immaginarla come l insieme di tutti 1 punti che la coordinata y uguale a 4 indipendentemente dai valori di x e z Questa equazione detta polinomiale del primo ordine poich ogni termine contiene solo potenze di primo grado di x y z Un equazione di secondo grado contiene termini come x 2 y 2 z 2 xy xZ e yz Un altro nome per le equazioni di secondo grado quadriche Le polinomiali di terzo ordine sono dette cubiche e quelle di quarto sono dette quartiche Questi oggetti sono descritti nei paragrafi seguenti 7 5 4 2 Polinomiale Cubica e Quartica Superfici polinomiali di ordine maggiore possono essere definite usando una polinomiale parola chiave poly La sintassi poly ORDINE lt T1 T2 T3 Tm gt Dove ORDINE un numero interno compreso tra 2 e sette che specifica l ordine dell equazione e T1 T2 Tm son
434. nno parte dell unione siano rimosse necessario usare l operazione merge che sar spiegata nel paragrafo Fusione La seguente unione composta da un parallelepipedo ed una sfera union box lt 1 5 1 1 gt lt 0 5 1 1 gt cylinder lt 0 5 0 1 gt lt 0 5 0 1 gt 1 Le precedenti versioni di POV Ray avevano alcune restrizioni riguardo alle unioni e spesso era necessario combinare gli oggetti usando la frase composite Questa sintassi non pi necessaria anche se stata mantenuta la compatibilit all indietro ma vi raccomandiamo di usare la frase union dal momento che per le versioni future non sar pi garantita la compatibilit con composite 294 7 5 5 5 Intersezione Un punto si trova all interno di un intersezione se all interno di entrambi gli oggetti A e B come mostra la figura qui sotto Fig 208 L intersezione di due oggetti per esempio intersection box lt 1 5 1 1 gt lt 0 5 1 1 gt cylinder lt 0 5 0 1 gt lt 0 5 0 1 gt 1 j 7 5 5 6 Differenza L operazione CSG di differenza parola chiave di f ference calcola l intersezione tra il primo oggetto e la negazione del secondo oggetto Quindi solo i punti all interno dell oggetto A ed esterni all oggetto B le appartengono Il risultato una sottrazione del secondo oggetto dal primo come mostrato nella figura che segue 295 a hg VA N N N i B i I I
435. no di 3 avendo in tutto uno spessore di 1 La sua altezza 5 posto all origine e sale verso l alto cio l asse di rotazione l asse y Notate che il primo e l ultimo punto sono uguali in questo modo si genera una curva chiusa Le spline che sono usate dagli oggetti torniti e dai prismi sono un po difficili da capire Il concetto base delle spline quello di disegnare una curva attraverso un insieme dato di punti in un certo modo La spline lineare la pi semplice perch non consiste in altro nell unire punti consecutivi con una linea Questo significa che la curva tracciata tra due punti solo in relazione alla loro reciproca posizione Nessun altra informazione tenuta in conto Le spline quadratiche e cubiche sono diverse per il loro funzionamento non solo considerano anche la posizione di altri punti quando ne devono unire due ma hanno anche un aspetto pi smussato e nel caso delle spline cubiche producono un passaggio molto graduale da un punto all altro Le spline quadratiche sono calcolate con funzioni quadratiche Ciascuna curva unisce due punti consecutivi Dal momento che questi due punti chiamiamoli secondo e terzo non sono sufficienti a descrivere una curva quadratica necessario specificarne un terzo di cui si possa tenere conto per disegnare la curva Matematicamente la relazione la posizione reciproca sul piano bidimensionale tra il primo ed il secondo punto determina la pendenza della curva al secondo punto L
436. no e 1 sull anello pi esterno I valori di filtro e di trasmittanza nei colori della mappa hanno lo stesso significato di quelli usati coi vari tipi di nebbia vedi paragrafo Nebbia L arcobaleno predefinito un cerchio di 360 Questo non un problema fino a quando si ha un piano che nasconde la parte inferiore dell arcobaleno Se non vuoi che si veda tutto l arco puoi usare le parole chiave opzionali up arc_angle e falloff angle per specificare un arco pi 381 piccolo La parola chiave arc_angle specifica la misura dell arco in gradi da zero a 360 Un valore minore di 360 d un arco con le estremit molto nette Dal momento che questo non ha un bell aspetto puoi usare la parola chiave falloff angle per specificare una regione nella quale l arcobaleno sfumer lentamente nel colore dello sfondo L angolo di falloff deve essere minore o uguale all angolo dell arco La parola chiave up determina dove posizionato l angolo zero Cambiando questo vettore puoi ruotare l arcobaleno nella direzione che esso indica Puoi notare che l arco parte da arc _angle 2 e termina a arc_angle 2 La regione sfumata va da arc_angle 2a falloff angle 2eda falloff angle 2 a arc angle 2 Il seguente esempio crea un arcobaleno di 120 che ha un regione in cui viene sfumato ampia 30 ad entrambe le estremit rainbow direction lt 0 0 1 gt angle 42 5 width 5 distance 1000 Fate bert 102 04 color map Rainbow Color Map up lt 0 1
437. no l ammontare in gradi della rotazione riferita all asse y e all asse z Il risultato un vettore contenente le nuove coordinate x y z del punto 7 1 8 3 Funzioni Stringa Le seguenti sono funzioni che prendono una o pi stringhe e parametri decimali e danno come risultato stringhe o valori decimali Chiamiamo S1 e S2 due espressioni valide che rappresentano due stringhe e A L e P espressioni valide che danno come risultato valori decimali asc S1 Valore ASCII di S1 D come risultato un numero intero compreso nell intervallo 0 255 che il valore ASCII del primo carattere di S1 Per esempio asc ABC 65 perch quello il valore del carattere A chr A Carattere il cui valore ASCII A D come risultato una stringa di un solo carattere Il valore ASCII del carattere specificato da un numero intero A compreso nell intervallo che va da 0 a 255 Per esempio chr 70 la stringa F Se usi chr quando operi il rendering dell oggetto testo dovresti sapere che i caratteri soggetti all elaborazione per valori di A maggiori di 127 dipendono dal carattere TTF usato Molti caratteri True Type usano il set di caratteri Latin 1 ISO 8859 1 ma non tutti concat S1 S2 S3 Concatena le stringhe S1 e S2 ed eventuali stringhe successive D come risultato una stringa che la concatenazione di tutti i parametri stringa Devi avere almeno 2 parametri ma chiaramente ne puoi avere di pi Per esempio 238 concat I
438. no lo stesso errore Anche questa parte pu essere attivata o disattivata o mostrata in un file di testo 6 2 5 2 Output di Testo su Console n a ai Debug Console bool ende o non rende possibile la visualizzazione dei messaggi di debug on off GD lo stesso di Debug Console 0On GD lo stesso di Debug_Console 0ff iui Caen ask rende o non rende possibile la visualizzazione dei messaggi di errore fatale on off GF lo stesso di Fatal Console 0On GF lo stesso di Fatal_Console 0ff rende o non rende possibile la visualizzazione dei messaggi Render Console bool p 88 di rendering on off GR lo stesso di Render_Console 0n GR lo stesso di Render _Console Off rende o non rende possibile la visualizzazione dei messaggi j j le lif nE STAEL SG E CQnE0e 900 di delle statistiche on off GS lo stesso di Statistic Console 0On GS lo stesso di Statistic Console Off rende o non rende possibile la visualizzazione dei messaggi W 7 C 1 b 1 bi 1 arning _Console boo di attenzione on off GW lo stesso di Warning Console On GW lo stesso di Warning Console Off rende o non rende possibile la visualizzazione dei messaggi All Console bool di debug errori fatali rendering statistiche e messaggi di attenzione on off GA lo stesso di All Console On GA lo stesso di All_Console Off E possibile eliminare la visualizzazione dei messaggi relativi al debug agli erro
439. normali slope o di forme d onda Quando viene usato in una frase pigment otexture ilpattern ripples usa l onda ramp_wave di default ma pu usare qualunque tipo di onda Il pattern ripples pu essere usato con mappe di colore pigmento e texture 7 6 7 19 Spirall Spirale 1 Il pattern spirall crea una spirale che si avvolge attorno all asse delle y in modo simile ad una vite La sintassi pigment spirall NUMERO Dove il valore di NUMERO determina quanti bracci della spirale si avvolgono sull asse delle y Il pattern spirall usal onda triangle wave di default ma pu usare qualunque tipo di onda Il pattern spiral1 pu essere usato con mappe di colore pigmento normali texture e slope 7 6 7 20 Spiral2 Spirale2 Il pattern spiral2 una versione modificata del pattern spirall con un aspetto straordinario Il pattern spiral2 usal onda triangle wave di default ma pu usare qualunque tipo di onda Il pattern spiral2 pu essere usato con mappe di colore pigmento normali texture e slope 7 6 7 21 Spotted Il pattern spotted identico al pattern bozo Le prime versioni di POV Ray non permettevano l uso del modificatore turbulence con questo pattern Ora che qualunque pattern pu usare la turbolenza non ci sono differenze tra bozo e spotted Vedi il paragrafo Bozo per dettagli 7 6 7 22 Waves Onde Il pattern waves era originariamente concepito per l uso come pattern di normali Questo pattern sim
440. nque numero di triangoli smussati o no pu essere usato e ad ogni triangolo pu essere assegnata una singola texture La texture deve essere dichiarata prima dei triangoli Non possibile 286 usare frasi texture all interno della definizione dei triangoli Questa una restrizione necessaria per una memorizzazione efficiente delle texture I componenti della mesh sono delimitati internamente da una gerarchia di parallelepipedi per accelerare i test di intersezione raggio oggetto La gerarchia di delimitazione pu essere disattivata mediante l uso della parola chiave hierarchy seguita da on oppure off Si dovrebbe disattivarla solo se si ha poca memoria o se l oggetto consiste di un numero molto piccolo di triangoli Copie di un oggetto mesh si basano sugli stessi dati per i triangoli e quindi consumano poca memori in pi Si possono renderizzare velocemente centinaia di copie di un oggetto di 10000 facce senza correre il rischio di esaurire la memoria sempre che l oggetto originale possa essere memorizzato L oggetto mesh ha due vantaggi rispetto ad una semplice unione di triangoli richiede meno memoria e viene trasformato pi velocemente Le richieste di memoria sono ridotte memorizzando in maniera efficiente i vertici e le normali dei triangoli Il tempo di analisi parsing per gli oggetti mesh trasformati ridotto perch viene trasformato l intero oggetto e non i singoli triangoli come invece accade per le unioni L ogg
441. nte l insieme crackle p 0 il diagramma di Voronoi di un campo di punti semi casuali e crackle p lt 0 la distanza dall insieme lungo il percorso pi breve un diagramma di Voronoi il luogo dei punti equidistanti dai due punti a loro pi vicini in un insieme di punti separati come la pellicola della schiuma di sapone rispetto al centro delle bolle Il pattern crackle usa l onda ramp_wave di default ma pu usare qualunque tipo di onda Il pattern crackle pu essere usato con mappe di colore pigmento normali texture e slope map 7 6 7 8 Dents 351 Il pattern dents era progettato in origine per essere utilizzato con le normali E particolarmente interessante se viene usato con texture metalliche poich d l impressione che sulla superficie siano state prodotte delle scalfitture con un martello Normalmente queste scalfitture sono distanti circa un unit Quando viene usato per le normali dents usa una funzione di perturbazione specializzata Ci significa che non pu essere usato con modificatori di mappe di normali slope map o di forma d onda in una frase normal Quando viene usato come un pattern da applicare a pigmenti o texture dents simile alla versione usata per le normali ma non identico Quando viene usato per colori pigmenti e texture il pattern dents usa l onda ramp_wave ma pu usare qualunque tipo di onda Il pattern dents pu essere usato con mappe di colore pigmento normali e texture 7 6
442. nte da privati Qualunque riproduzione cartacea della traduzione a scopi commerciali deve essere preventivamente autorizzata dai membri del gruppo di lavoro POV it Pu essere modificata in tutte le sue parti con l eccezione di questa nota di copyright per meglio adattarsi alle esigenze personali dell utente ma nel caso che nuove versioni di questa traduzione realizzate sulla base di questa o delle sue eventuali versioni successive debbano essere distribuite al pubblico sotto qualunque condizione si devono fornire tutte le informazioni riguardanti 1 traduttori della versione originale e si deve comunque contattare il gruppo di lavoro POV it Non pu essere inclusa in raccolte di software per cui prevista la distribuzione commerciale ad un prezzo superiore a quello indicato sopra Non pu essere venduta Non pu essere distribuita per mezzo di reti telematiche bacheche elettroniche banche dati e siti Internet per un controvalore in denaro o in natura Nel caso in cui sia previsto un controvalore di qualunque entit per il collegamento deve essere chiaramente segnalato che la tariffa viene applicata esclusivamente per il collegamento e che questa guida reperibile gratuitamente Non pu essere distribuita in forma alterata con l intento di venire meno alle presenti norme di distribuzione Non pu essere distribuita da chiunque tenti di occultare la sua gratuit Non pu essere distribuita priva della presente nota di copyr
443. nti Perci lo 0 4 promosso a lt 0 4 0 4 0 4 0 0 0 0 gt con un valore pari a zero sia per il filtro che per la trasparenza 7 1 6 Stringhe 233 Il linguaggio di POV Ray richiede di specificare una stringa di caratteri da usare per indicare un nome di file un testo da inserire nei messaggi che POV Ray visualizza durante i rendering o come oggetto di una scena Le stringhe possono essere specificate usando lettere identificatori o funzioni che restituiscono i valori della stringa Bench non sia possibile formulare espressioni contenenti operatori simbolici cos come avviene per i valori decimali i vettori o i colori puoi compiere varie operazioni sulle stringhe usando funzioni appropriate Alcune applicazioni delle stringhe in POV Ray permettono di inserire caratteri di formattazione ma non di stampa come ad esempio i caratteri a capo o avanzamento modulo 7 1 6 1 Costanti Stringa Le costanti stringa sono racchiuse tra virgolette e sono composte da un massimo di 256 caratteri ASCII stampabili Le seguenti rappresentano tutte costanti di stringa valide Qui L myfile gif textures inc 7 1 6 2 Identificatori di Stringa Gli identificatori di stringa possono essere dichiarati per rendere i file della scena maggiormente leggibili e per parametrizzare le scene cos che cambiando una singola dichiarazione cambino molti valori Un identificatore dichiarato come segue declare IDENTICATORE STRINGA
444. nza in effetti un vettore pu essere usato per creare effetti simili a cascate usando un alto valore di turbolenza in una sola direzione per esempio turbulence lt 0 2 1 0 2 gt 4 8 5 5 6 Usare Polvere Colorata Se vogliamo creare una polvere colorata possiamo facilmente ottenerla usando un colore diverso dal bianco nella mappatura del colore della halo In questo caso dovremo anche impostare il canale del filtro nella mappatura del colore ad un valore diverso da zero per specificare la quantit di luce che viene filtrata dal colore della polvere Useremo la mappatura del colore per ottenere una polvere rossa parzialmente filtrante colour map 0 color rgbft lt 1 0 0 0 5 1 0 gt 132 1 color rgbft lt 1 0 QO 0 5 0 7 gt J 4 8 5 6 Tranelli degli Aloni A causa della complessita della funzione e delle poche esperienze ancora fatte ci sono ancora molte cose da scoprire riguardo agli aloni Alcuni dei problemi pi comuni sono descritti nei paragrafi successivi per aiutarci ad evitarli 4 8 5 6 1 Dove si Possono Usare gli Aloni Come abbiamo gi detto un alone riempie completamente l interno di un oggetto Ricordandoci di questo ovvio che il seguente esempio non ha senso sphere 0 1 pigment checker texture pigment color Clear halo texture pigment color Red hollow Cos ha di sbagliato quest esempio Semplicemente si usa una halo per descrivere l
445. o Le parentesi intorno all espressione sono necessarie Se la condizione vera l analisi continua normalmente finch non si incontra un istruzione end Raggiunta end POV Ray ritorna indietro all istruzione while e la condizione viene elaborata nuovamente Il ciclo continua fino a che la condizione fallisce Quando fallisce l elaborazione continua da dopo l istruzione end Per esempio fdeclare Conteggio 0 while Conteggio lt 5 object Mio Oggetto translate x 3 Conteggio declare Conteggio Conteggio 1 end 246 Questo esempio pone cinque copie di Mio Oggetto in una fila distanziate di tre unit nella direzione x 7 2 6 Istruzioni Messaggio Utente Con l aggiunta delle istruzioni condizionali e cicliche il linguaggio di POV Ray ha la possibilit di essere come un linguaggio di programmazione attuale Questo vuol dire che necessario avere alcuni strumenti per verificare come il programma sta procedendo quando si cerca di correggere errori di programmazione relativi a istruzioni cicliche e condizionali Per far questo occorre abilitarlo a mostrare sullo schermo i messaggi Hai cinque possibili scelte per abilitare il programma ad avvertirti di possibili errori se ci ti pu essere utile Per questo metodo disponibile una configurazione limitata a produrre dei messaggi 7 2 6 1 Flusso di Messaggi Testo La sintassi per una comunicazione di testo una delle seguenti debug STRINGA error STRINGA error STRI
446. o con POV Ray 1 All inizio del file si potrebbe introdurre 239 declare Temp Vers version Salva il valore precedent version 1 0 Cambia secondo la modalit della versione 1 0 Il file compatibile con la versione 1 0 inizia da qui version Temp Vers Ripristina il numero di versione precedent 7 1 8 Funzioni POV Ray definisce una variet di funzioni predefinite per manipolare decimali vettori e stringhe Le funzioni sono raggruppate secondo il loro uso e non secondo il tipo di valore che calcolano Per esempio vdot calcola il prodotto scalare dot product di due vettori ed elencato tra le funzioni vettoriali sebbene produca come risultato un singolo valore decimale La funzione rappresentata da una parola chiave che specifica il nome della funzione seguita da una lista di parametri chiusi tra parentesi I parametri sono separati da virgole Per esempio parola chiave paraml param2 Le funzioni restituiscono valori che possono essere decimali vettori o stringhe e possono essere usate in qualunque espressione o dichiarazione che accetti come legittimi quei parametri o identificatori 7 1 8 1 Funzioni Decimali Le seguenti funzioni richiedono uno o pi parametri decimali e danno come risultato valori decimali Ipotizziamo che A e B rappresentino ogni espressione valida che dia come risultato un valore decimale Vedi Funzioni Vettoriali e Funzioni Stringa per altre funzioni che danno come
447. o inserisce una regola simile a quella valida per repeat tranne che aggiunge la variazione massima possibile al centro Ad esempio supponi di avere un buco nero centrato ad lt 1 0 1 0 1 0 gt di raggio 0 5 e turbolenza lt 0 5 0 25 0 gt Normalmente il valore minimo di repeat sarebbe lt 1 5 1 5 1 5 gt ma se teniamo conto della turbolenza il minimo diventa lt 2 0 1 75 1 5 gt Riassunto di Repeat per tutti e tre gli assi x y z il centro deve essere spostato almeno del raggio ed il valore del vettore repeat deve essere almeno maggiore della somma di centro raggio e turbolenza L eccezione che repeat pu essere 0 col significato che non ci sono ripetizioni su nessuno degli assi 7 6 8 8 2 Ripetizione Il warp ripetizione repeat fa s che una parte del pattern venga ripetuta all infinito Taglia una fetta del pattern e ne crea copie multiple affiancate Questo tipo di warp ha molti usi ma stato originariamente concepito per riprodurre l effetto tipico dell impiallacciatura L impiallacciatura si ottiene ricavando fette di legno molto sottili da un tronco e incollandole su un altro materiale di supporto L effetto quello di un motivo di anelli affiancati ma ogni componente in realt spesso circa 8 10 di millimetro La sintassi per il warp repeat la seguente warp repeat VETTORE offset VETTORE flip VETTORE Il vettore repeat specifica la direzione in cui il vettore si ripete e la larghezza dell area che
448. o non il contenitore solo la halo Aggiungiamo quindi un comando scale all interno della frase halo sphere 0 1 pigment color rgbt lt 1 1 1 1 gt halo emitting spherical mapping linear turbulence 1 5 color map 0 color rgbt 1 color rgbt samples 10 scale 0 5 ct ct 119 hollow scale 1 5 Fig 143 Ridimensionare l alone Il comando scale 0 5 dice a POV Ray di ridimensionare tutti i punti all interno del contenitore di questa quantit In effetti questo ridimensiona il raggio che otteniamo dopo che il programma ha eseguito la mappatura di densit da 0 a 0 5 invece che da 0 ad 1 senza considerare l effetto dato dalla turbolenza Se ora aggiungiamo la turbolenza i punti della halo possono muoversi di mezza unit in ogni direzione senza abbandonare il contenitore E esattamente quello che vogliamo Per compensare la halo pi piccola aumentiamo le dimensioni della sfera e della halo in essa contenuta di un fattore Lo Fig 144 Esplosione Guardando la nuova immagine halo04 pov non vediamo pi traccia della sfera che contiene la halo Finalmente abbiamo ottenuto una bella esplosione La quantit di cui ridimensioniamo la halo dipende da quanta turbolenza usiamo Maggiore la turbolenza pi la halo deve essere rimpicciolita Questo un argomento sul quale sperimentare Un altro modo per evitare che i punti della halo escano dalla sfera di usare una sf
449. o normali texture e slope map 7 6 7 4 Brick Mattoni Il pattern brick genera una superficie ricoperta di mattoni rettangolari I mattoni sono sfalsati di una lunghezza pari a mezzo mattone ogni riga nella direzione x z Uno strato di malta circonda ogni mattone La sintassi pigment 349 brick COLORE 1 COLORE 2 brick size VETTORE mortar DECIMALE MALTA dove COLORE _1 il colore della malta e COLORE _2 il colore dei mattoni Se non vengono specificati colori il programma usa un rosso scuro e un grigio scuro predefiniti La dimensione di default di un mattone con la malta lt 8 3 4 5 gt Lo spessore predefinito della malta di 0 5 unit Questi valori possono essere cambiati usando i modificatori di pattern brick size e mortar Puoi anche usare frasi di pigmento al posto dei colori Per esempio pigment brick pigment Jade pigment Black Marble Quando viene usato con le normali la sintassi normal brick QUANTITA Dove QUANTITA un valore decimale facoltativo per definire la dimensione delle asperit della superficie Si possono usare anche intere frasi di normali con brick Per esempio normal brick normal bumps 0 2 normal granite 0 3 Quando usato con texture la sintassi texture brick texture Gold 1A texture Stonel2 Il pattern brick non pu usare i modificatori delle forme d onda mappe di colori o slope map 7 6 7 5 Bumps Il pattern bu
450. o spesso ed altamente rifrangente mentre a 0 1 sembra di pi una sfera di vetro vuota all interno Proviamo queste differenza renderizzando la scena con valori che vanno da 0 1 a 1 e osserviamo le differenze Anche valori fuori da questa scala funzionano Numeri maggiori di 1 danno riflessi sempre pi a fuoco Numeri minori di 1 sono piuttosto strani ma interessanti Essenzialmente l oggetto diventa illuminato in modi bizzarri e l ombra diventa come un negativo fotografico di s stessa Qualcosa tipo pistola a raggi della fantascienza anni 50 Sembra strano per nulla realistico ma se vogliamo qualcosa di surreale vale la pena di provarlo e archiviare mentalmente il risultato per eventuali usi futuri 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 1 riflessi sono un trucco sintetico come abbiamo visto prima e sono stati progettati per reagire a deformazioni
451. o dirti perch Non c documentazione tecnica per il codice sorgente eccetto i commenti nei file Il codice scritto in maniera chiara ed ben commentato ma alcune sezioni sono praticamente appena commentate ed alcuni commenti potrebbero essere obsoleti Non fornita assistenza su come aggiungere funzioni al programma Non viene spiegato come funziona una determinata caratteristica del programma In certi casi la persona che ha scritto una parte del programma non pi attiva nel Team e non si sa esattamente come funzioni quella parte Quando si compilano versioni non ufficiali o personalizzate di POV Ray assicurarsi di avere letto e seguito tutte le norme della licenza di Copyright In generale si pu modificare e usare POV Ray personalmente in qualunque modo ma se si distribuiscono versioni non ufficiali devono venire seguite le regole dettate dal Team Non si possono utilizzare in alcuna circostanza porzioni del codice sorgente di POV Ray in altri programmi 2 3 7 1 Struttura delle directory Il codice sorgente di POV Ray distribuito in archivi dove i file sono disposti secondo una particolare gerarchia di directory 0 cartelle a seconda del sistema operativo Quando si estraggono gli archivi lo si dovrebbe fare in maniera che mantenga intatta la struttura delle directory ad esempio pkunzip d oppure tar xvfz In generale si suggerisce di creare una directory chiamata povray3 ed estrarre i file al suo interno L estr
452. o la nebbia senza venire filtrato Noterai che l intensit degli oggetti nella nebbia non solo diminuita a causa del colore della nebbia ma che i colori stessi sono influenzati dalla nebbia La sfera rossa e specialmente quella blu hanno assunto una tonalit verde 4 10 3 4 Aggiungere Turbolenza alla Nebbia Per rendere la nostra nebbia pi interessante possiamo aggiungere un po di turbolenza rendendola meno omogenea vedi fog4 pov fog distance 150 colour rgbf lt 0 3 0 5 0 2 1 0 gt turbulence 0 2 turb depth 0 3 Fig 181 Aggiungere un p di turbolenza alla nebbia 163 La parola chiave turbulence serve a specificare la quantit di turbolenza usata mentre il valore di turb depth serve a spostare il punto in cui la turbolenza viene calcolata lungo il raggio visivo Valori vicini a 0 spostano il punto verso l osservatore mentre valori vicini ad 1 lo spostano verso il punto di intersezione Questo parametro pu essere utilizzato per evitare disturbi che possono verificarsi nella nebbia a causa della turbolenza ci accade normalmente a punti di intersezione molto lontani specialmente se non c intersezione cio se viene colpito lo sfondo Nel caso che si ottengano immagini disturbate conviene abbassare il valore di turb depth fino a quando il disturbo sparisce Si dovrebbe ricordare che l effettiva densit della nebbia non viene modificata Solo il valore di attenuazione basato sulla distanza viene modificato d
453. o numeri decimali che specificano i coefficienti dell equazione Ci sono m termini di questo tipo dove m ORDINE 1 ORDINE 2 ORDINE 3 6 Un metodo alternativo per specificare polinomiali di terzo grado c bic k lt T TZ 1205 Anche le polinomiali di quarto grado possono essere specificate con quartic lt T1 T2 T35 gt Qui di seguito diamo una descrizione pi matematica delle quartiche per coloro che sono interessati Le superfici quartiche sono superfici di 4 ordine che possono essere usate per descrivere un ampio insieme di oggetti inclusi i tori L equazione generale di una quartica in tre variabili tenetevi forte a00 x 4 a01 x 3 y a02 x 3 z a03 x 3 a04 K 2 y 2 a05 x 2 y z a06 x 2 y a07 x 2 z 2 a08 x 2 z a09 x 2 al0 x y 3tall x y 2 z al2 x y 2 a13 x y z 2 al4 x y z al5 x y alo x z 3 al7 x z 2 al8 x z al9 xt a20 y 4 a21 y 3 z a22 y 3 a23 y 2 z 2 a24 y 2 z a25 y 2 a26 y z2 3 a27 y z 2 a28 y z a29 y a30 z 4 a31 z 3 a32 z 2 a33 z a34 0 Per dichiarare una superficie di 4 ordine necessario che ciascuno dei coefficienti a0 a34 sia in un vettore di 35 termini 290 Per esempio definiamo un toro nel modo complicato Un toro pu essere rappresentato dall equazione BAA yL ZA DO RAD ye 2 2 RED 02 202 202 2 AE 092 i E LD S22 3 S2 o y ISZ I r 0 di r 052 PED AE a
454. o ottenere con la sfera celeste 4 10 2 3 Aggiungere Qualche Nuvola Per migliorare ulteriormente la nostra immagine vogliamo aggiungere qualche nuvola con un secondo pigmento Questo nuovo pigmento usa il motivo bozo per creare le nuvolette Dal momento che si trover in cima agli altri strati di pigmento avr bisogno di alcuni colori trasparenti guardate le componenti da 0 5 a 1 0 sky sphere pigment gradient y color map 0 000 0 002 color rgb lt 1 0 0 2 0 0 gt color gqb lt 1 0 0 2 0 03 0 002 0 200 color rgb lt 0 8 0 1 0 0 gt color rgb lt 0 2 0 2 0 3 gt scale 2 translate 1 159 pigment bozo turbulence 0 65 octaves 6 omega 0 7 lambda 2 color map 0 0 0 1 color rgb lt 0 85 0 85 0 85 gt color rgb lt 0 75 0 75 0 75 gt 0 1 0 5 color rgb lt 0 75 0 75 0 75 gt color rgbt lt 1 1 1 1 gt 0 5 1 0 color rgbt lt 1 1 1 1 gt color rgbt lt 1 1 1 1 gt scale lt 0 2 0 5 0 2 gt rotate 135 x Fig 177 Aggiungere le nuvole La sfera celeste ha un difetto come vi sarete accorti guardando l immagine finale skysph3 pov il sole non emette luce e le nuvole non proiettano ombre Se vuoi che le nuvole proiettino le ombre dovrai usare una grande sfera con una texture appropriata e una luce fuori dalla sfera 4 10 3 La Nebbia Puoi usare la funzione fog per aggiungere due tipi diversi di nebbia alla tua scen
455. o questo colore nella frase cylinder la superficie del buco sar blu OK andiamo avanti Dichiariamo la nostra lente perforata in modo da assegnarle un nome Eliminiamo anche tutte le texture perch vogliamo specificarle solo nell unione finale declare Lens With Hole difference intersection sphere lt 0 0 O gt 1 translate 0 5 x sphere lt 0 0 O gt 1 translate 0 5 x rotate 90 y cylinder lt 0 0 1 gt lt 0 0 1 gt 35 Usiamo un oggetto unione per costruire un oggetto complesso composto di copie della lente union object Lens With Hol object Lens With Hol object Lens With Hol object Lens With Hol pigment Red translate lt 65 65 0 gt translate lt 65 65 0 gt translate lt 65 65 0 gt translate lt 65 65 0 gt ooo oO Renderizziamo la scena Fig 67 Unione delle differenze Un oggetto sicuramente interessante Ma proviamo a spingerci oltre Rendiamolo parzialmente trasparente aggiungendo una componente di filtro al blocco pigment union object 4 Lens With Hole translate lt 65 65 U gt 59 object Lens With Hole translate lt 65 65 0 gt object Lens With Hole translate lt 65 65 0 gt object Lens With Hole translate lt 65 65 0 gt pigment Red filter 5 Renderizziamo nuovamente il file Fig 68 Come sopra ma trasparente Questo abbastanza bello ma
456. o un oggetto del genere alla nostra scena Questa una lampadina che abbiamo fatto proprio per questo scopo declare Lightbulb union merge sphere lt 0 0 0 gt 1 cylinder lt 0 0 1 gt lt 0 0 0 gt 1 scale lt 0 35 0 35 1 0 gt translate 0 5 z texture pigment color rgb lt 1 1 1 gt finish ambient 8 diffuse 6 cylinder lt 0 0 1 gt lt 0 0 0 gt 1 scale lt 0 4 0 4 0 5 gt texture Brass Texture 70 translate 1 5 z rotate 90 x scale 5 Ora aggiungiamo la sorgente luminosa Leghe source lt 0 2 0 gt color White looks like Lightbulb Renderizzando questa scena Fig 81 Luce a forma di Vediamo che una lampadina discretamente credibile adesso illumina la scena Comunque se non specifichiamo un valore alto per ambient la lampadina non illuminata dalla sorgente luminosa D altra parte tutte le ombre sono proiettate dalla lampadina come dovrebbero realmente essere Le ombre sono per troppo nette Usiamo allora un area light Leghe source lt 0 2 0 gt color White aree ligne lt 1 0 0 gt lt 0 1 0 gt 2 2 adaptive 1 jitter looks_like Lightbulb 71 Fig 82 Luci pi attenuate Notamo che abbiamo messo quest area light nel piano x y invece che nel piano x z Notiamo anche che l aspetto della lampadina non influenzato in alcun modo dalla sorgente luminosa La lampadina deve essere illuminata da
457. ock che varia progressivamente tra zero ed uno la scena precedente produrr una palla a strisce che rotola attraverso lo schermo Fig 193 Semplice animazione In questo caso abbiamo due obiettivi a Traslare la palla dal punto A al punto B e b Ruotare la palla in proporzione al suo movimento lineare in modo di dare l impressione che essa stia rotolando e non strisciando Partendo dal punto b iniziamo con la nostra sfera posizionata nell origine poich una rotazione in qualunque altro punto farebbe orbitare la palla attorno all origine e non su s stessa Attraverso tutta la rotazione la palla far un giro completo di 360 quindi abbiamo usato la formula 360 clock per determinare la rotazione che si ha in ogni fotogramma Poich l animazione inizia a clock 0 e finisce a clock 1 la rotazione della sfera va da 0 a 360 gradi Poi abbiamo usato la prima traslazione per portare la sfera al punto iniziale A Non potremmo averla semplicemente definita in questo punto dato che avrebbe poi ruotato attorno all origine quindi prima di poter completare il punto a la traslazione dobbiamo mettere la sfera dove deve trovarsi alla partenza Poi la trasliamo nuovamente questa volta di una distanza dipendente da clock in modo che si sposti dal punto che le abbiamo assegnato per la partenza Abbiamo scelto la formula 2 pi r clock la circonferenza massima della sfera moltiplicata per clock in modo che la sfera si sposti di una distanza par
458. og_offset La parola chiave fog alt specifica la velocit alla quale la nebbia si dilegua All altezza fog offset fog alt la nebbia ha una densit del 25 La densit della nebbia ad una determinata altezza data dalla seguente 1 o RI y fog _ali 24 f 2 densit 1 ly fog_effei yoe_ait 1 yi jog ali formula La densit totale lungo un raggio calcolata dall integrale che varia tra l altezza del punto iniziale e l altezza del punto finale Nel file const ini sono definite due costanti riguardanti la nebbia FOG TYPE CONSTANTS declare Constant Fog 1 declare Ground Fog 2 Il colore di un pixel con una certa profondit di intersezione calcolato con la seguente formula C pixel exp d D C oggetto 1 exp d D C nebbia dove D la distanza della nebbia A profondit zero il colore risultante sar quello dell oggetto Se la profondit dell intersezione uguaglia la distanza della nebbia il colore finale sar costituito per il 64 dal colore dell oggetto e per il 36 dal colore della nebbia Il colore della nebbia impostato tramite la parola chiave color ha tre funzioni Primo definisce il colore da usare nel passaggio dalla nebbia allo sfondo Secondo viene usato per specificare la soglia di trasparenza Usando una trasparenza maggiore di 0 si pu infatti essere sicuri che al limite sar possibile vedere quella quantit di luce attraverso la nebbia Con una trasparenza di 0 3
459. oich questo rende matematicamente molto pi semplice gestire l animazione di eventi multipli Quindi mantenendo le stesse impostazioni per macchina fotografica luci e piano facciamo variare clockda0a2 Ora sostituiamo la sfera dell esempio precedente con 1f clock lt 1 sphere lt 0 0 O gt 1 pigment gradient x color map 0 0 Blue 0 5 Blue 0 5 White 1 0 White scale 25 rotate lt 0 0 clock 360 gt translate lt pi 1 0 gt translate lt 2 pi clock 0 0 gt felse se clock gt 1 siamo nella seconda fase ma vogliamo che vari ancora tra 0 ed 1 declare ElseClock clock 1 sphere lt 0 0 O gt 1 pigment gradient x color map 0 0 Blue rotate lt 0 0 ElseClock 360 gt translate lt 2 pi ElseClock 0 0 gt rotate lt 0 45 0 gt translate lt pi 1 0 gt felse fend 180 Fig 194 Palla schizofrenica Se hai notato che in questo modo la palla far un irreale curva ad angolo quando cambia direzione complimenti Sei indubbiamente un animatore nato Comunque per semplificare l esempio ignoreremo questo aspetto Sar abbastanza semplice aggiustarlo una volta esaminato il funzionamento delle istruzioni precedenti Tutto ci che abbiamo fatto stato assumere che clock era compreso tra 0 e 2 mentre vogliamo lavorare con un valore normalizzato Quindi
460. olor Cyan cale 5 Il valore passato alla mappa dei colori dato dalla formula valore num iterazioni iterazioni massime Quando lo si usa come un pattern di normali la sintassi normal mandel ITER QUANTITA dove il numero intero ITER necessario ed il numero decimale QUANTITA facoltativo rappresenta la dimensione apparente dei rilievi Il pattern si estende infinitamente nella direzione z in modo simile alla mappatura planare di un immagine Il pattern mandel usa l onda ramp_wave di default ma pu usare qualunque tipo 354 di onda Il pattern mandel pu essere usato con mappe di colore pigmento normali texture e slope 7 6 7 14 Marble Marmo Il pattern marble molto simile a gradient x Il pattern gradient x usa per un onda di tipo ramp_wave a dente di sega che significa che usa il colore all indice 0 0 della mappa dei colori per x 0 poi sfuma gradualmente al colore di indice 1 0 per x 1 quindi salta nuovamente al colore di indice 0 0 e ripete il motivo all infinito Il pattern marble usa invece un onda di forma triangolare triangle wave in cui usa la mappa dei colori da 0 ad 1 tra x 0 ed x 0 5 poi la rovescia e torna indietro da x 0 5 ad x 1 Ad esempio pigment gradient x color map 0 0 color Yellow 1 0 color Red sfuma da giallo a rosso e quindi torna bruscamente al giallo Sostituendo gradient con marble si sfuma dal giallo al rosso tra 0 e 0 5 e di nuovo
461. olor rgb n x DN a D gt e V o V A gy H n Ww Es vV NA A N N oO Oo V Questa texture costituir la terraferma Ora facciamo gli oceani dichiarando la seguente declare OceanArea texture pigment bozo turbulence 5 lambda 2 color map 0 00 0 33 color rgb lt 0 0 1 gt color rgb lt 0 0 1 gt 0 33 0 66 color rgbf lt 1 1 1 1 gt color rgbf lt I 1 1 gt 0 66 1 00 color rgb lt 0 0 1 gt color rgb lt 0 0 1 gt 89 Nota come l oceano la zona blu opaca e la terraferma abbia delle zone trasparenti che permettono di vedere la texture sottostante Ora dichiariamo un altra texture per simulare un atmosfera con nubi frastagliate declare CloudArea texture pigment agate turbulence 1 lambda 2 frequency 2 color map 0 0 color rgbf lt i Le a dal 0 5 color rgbf lt i 1 L 35 gt 1 0 color rgbf lt 1 1 1 1 gt Ora applichiamo tutte e tre queste texture alla nostra sfera sphere lt 0 0 0 gt 1 texture LandArea texture OceanArea texture CloudArea Renderizziamo questo esempio ed otteniamo un pianetino abbastanza fedele Fig 111 Pianeta Potrebbe essere meglio Non ci piace in particolare l aspetto delle nubi C un modo in cui potrebbero essere fatte che sarebbe molto pi realistico 4 8 2 5 Usare Mappe di Pigmentazione
462. olte di solo software utilizzando mezzi come ma non solo floppy disk CD ROM nastro magnetico dischi ottici hard disk o schede di memoria Questa sezione si applica solo ai distributori di raccolte di programmi Chiunque voglia unire il programma ad un prodotto shareware deve utilizzare le regole commerciali Ogni associazione del programma con libri giornali od altri media stampati dovrebbe avvalersi delle regole di distribuzione commerciali Si deve notificare al POV Ray Team che si sta distribuendo POV Ray e fornirci informazioni su come contattare il distributore qualora dovessero verificarsi controversie Non possono venire ricaricati pi di cinque dollari USA 5 per ogni dischetto sul quale viene copiato il software compreso il prezzo del dischetto Lo spazio su ogni dischetto deve essere utilizzato al massimo Non si possono dividere i file su pi dischi di quanto sia necessario La distribuzione su supporti ad alta capacit come nastro magnetico o CD ROM permessa se il costo finale per l utente inferiore a 0 08 dollari per megabyte di dati Ad esempio un CD ROM con 600 megabyte di dati non pu costare pi di 48 dollari Appendice A 6 Condizioni per Servizi On Line e BBS incluso Internet Servizi on line BBS e siti Internet possono distribuire il software sotto le condizioni elencate in questa sezione I siti che permettono agli utenti di eseguire POV Ray da posizioni remote devono attenersi alle condizioni specif
463. one dell intensit e dell opacit di ogni campione I paragrafi che seguono spiegheranno in dettaglio tutte le parola chiave che possono modificare gli aloni La sintassi completa halo attenuating emitting glowing dust constant linear cubic poly planar mapping spherical mapping cylindrical mapping box mapping 333 dust_type TIPO DI POLVERE eccentricity ECCENTRICITA max value MAX VALUE exponent ESPONENTE samples CAMPIONI aa_level LIVELLO DI AA aa threshold SOGLIA DI AA jitter JITTER turbulence lt TURBOLENZA gt octaves OTTAVE omega OMEGA lambda LAMBDA colour map MAPPATURA DI COLORE frequency FREQUENZA phase FASE scale lt VETTORE gt rotate lt VETTORE gt translate lt VETTORE gt 7 6 4 1 Mappatura dell Alone Le variazioni dell alone sono moltissime come facile capire dalla lunga lista qui sopra Qui intanto spieghiamo i passi che vengono fatti durante la creazione dell alone in questa lista anche evidenziato dove le varie parole chiave intervengono nel corso dei calcoli 1 Viene calcolata la posizione del punto P di coordinate x y z che si trova all interno dell oggetto contenitore in relazione alla posizione corrente del campionamento eseguito dal raggio La posizione influenzata dalla parola chiave jitter dal numero di campioni e dall uso dell anti aliasing aa leveleaa threshold 2 I punto P
464. oni che ne indicano la posizione e che devono giacere su un piano Se ci non accade viene visualizzato un programma di errore e POV Ray si ferma Se vengono usati vettori a due dimensioni POV Ray assume che la terza coordinata sia uguale a zero Un poligono quadrato che si adatta perfettamente alla mappa di immagine quadrata di default polygon 4 lt 0 O gt lt 0 1 gt lt 1 1 gt lt 1 0 gt texture finish ambient 1 diffuse 0 pigment image map gif prova gif 287 scalare e ruotar come serv La funzione sotto poligono pu essere usata per creare oggetti complessi come la lettera P dove si crea un foro in un altro poligono declare P polygon 12 lt 0 0 gt lt 0 6 gt lt 4 6 gt lt 4 3 gt lt 1 3 gt lt 1 0 gt lt 0 0 gt lt i 43 ly 5 gt lt 3 92 Kp 4 gt lt 1 43 Il primo sotto poligono prima riga descrive la sagoma esterna della lettera Il secondo sotto poligono seconda riga descrive il foro rettangolare che viene praticato nella parte superiore della lettera P Entrambi i poligoni sono chiusi cio i punti iniziali e finali sono gli stessi La possibilit di creare dei fori all interno di un poligono data dai test di intersezione interno esterno che POV Ray effettua Un punto si considera essere all interno di un poligono se una linea retta tracciata da questo punto in una direzione arbitraria at
465. ook at lt 0 0 5 30 gt 0 gt light_source lt 20 30 50 gt color White plane y 0 pigment checker color Green color Yellow background rgb lt 7 7 1 gt box lt 10 text ture 0 10 gt lt 10 10 10 gt Silver Metal un oggetto di metallo normal den ts 2 scale 1 5 che ha preso un colpo fine della texture base texture pigment granite color map rgb lt 2 rgb rgbi TC lt lt frequency 16 0 0 gt color Brown ha qualche macchia di ruggine f A VV fine della texture a macchie di ruggine texture pigment bozo color map 4 0 0 FOO S OURAN 0 Ped col col col col col cale 3 fi fine del or Or or or or ne dell e qualche segno di fuliggine a texture fuliggine la frase box Qui le cose si fanno complicate allora per rendere il file pi leggibile abbiamo aggiunto commenti che indicano cosa stiamo facendo e dove terminano le varie parti delle texture in modo da non perdersi in tutte quelle parentesi 144 Per cominciare creiamo un semplice parallelepipedo sul classico pavimento a scacchiera e forniamo al cielo un colore blu pallido Ed ora la parte divertente Abbiamo usato per il parallelepipe
466. orare il codice evitare un passo evitare tutti i passi S A Q chiudere POV Ray immediatamente U l utente ha interrotto il programma F si creato un errore fatale in POV Ray Per esempio se l impostazione Pre Frame Command richiama un programma esterno che genera gli height field e questa utility fallisce allora si avr un codice diverso da zero E possibile che a questo punto si desideri comunque interrompere il processo L opzione Pre Frame Return F permetter a POV Ray di interrompere l esecuzione dell operazione nel caso in cui l esecuzione di Pre Frame Command dia luogo ad un codice diverso da zero Qualche volta si pu gioire per un codice diverso da zero Supponendo ad esempio che si voglia vedere se un determinato fotogramma sia gi stato renderizzato allora si pu usare la lettera S per evitare questo fotogramma nel caso sia gi stato renderizzato Molti programmi di utilit riportano errori se non si riusciti a trovare un determinato file Per esempio il comando pkzip V myscene mysce012 tga richiama pkzip per vedere l archivio myscene zip per il file mysce012 tga Se il file non nell archivio pkzip dar un codice diverso da zero Altre volte possibile voler interrompere il ciclo se il file stato trovato Quindi sar necessario invertire l azione in modo che eviti di continuare se il codice zero e continui se non zero Per compiere questa inversione necessario premettere alla lettera il segno
467. ormemente illuminato fino all orizzonte Nella realt la luce viene dispersa lungo il suo cammino e perde quindi gradualmente la capacit di illuminare le cose via via pi lontane dalla sorgente Per simulare questo effetto POV Ray ci permette di usare due parole chiave fade distance e fade power un valore esponenziale che determina il tasso di attenuazione della luce Applichiamo queste parole chiave alla nostra luce di riempimento Per prima cosa la rendiamo leggermente pi brillante cambiandone il colore da Gray50 a Gray75 Poi la modifichiamo come segue light source lt 0 20 0 gt color Gray75 fade_distance 5 fade_power 1 shadowless Che significa che la luce avr fade distance 5 piena potenza fino a cinque unit di distanza dalla sorgente luminosa Il valore fade power 1 significa che l attenuazione varier linearmente con la distanza Renderizziamo la scena per vedere il risultato 173 Fig 84 Attenuazione Ha funzionato Ora proviamo una fade power di 2 ed una fade distance di 10 Fig 85 Lavorare sull attenuazione Nuovamente funziona bene Il raggio di attenuazione falloff molto pi piccolo con fade power 2 per cui siamo costretti ad aumentare fade distance al valore di 10 4 6 7 3 Sorgenti Luminose ed Atmosfera Per definizione pi che per incidente le sorgenti luminose interagiscono con l atmosfera cio la loro luce dispersa dall atmosfera Questo effetto pu essere disattivato ag
468. oro cos torus MAGGIORE MINORE sturm dove MAGGIORE un valore decimale da attribuire al raggio maggiore e MINORE un decimale che imposta il raggio minore Il raggio maggiore parte dal centro del toro e arriva fino alla met dell anello mentre il raggio minore parte da questo e arriva fino al bordo del toro Il toro centrato nell origine e giace nel piano x z attraversato dall asse y 283 raggio maggiore X raggio minore linea centrale Figura 205 Raggi maggiore e minore del toro Il toro delimitato bounded da due cilindri e due anelli che formano un finissimo cilindro Grazie a questo cilindro l oggetto toro notevolmente ottimizzato rispetto alla sua definizione come quartica I test di intersezione del toro che richiedono la soluzione di una polinomiale di 4 ordine vengono calcolati solo quando il cilindro viene colpito In questo modo si riusciti ad evitare molti lunghi calcoli I calcoli per le polinomiali di ordine superiore devono invece essere molto accurati Se il toro appare in modo scorretto possibile aggiungere la parola chiave sturm dopo il valore del raggio minore per fare usare a POV Ray l algoritmo di Sturm pi accurato ma pi lento 7 5 3 Superfici Primitive Finite Ci sono sei oggetti di dimensioni finite ma privi di spessore superfici bicubiche dischi triangoli triangoli smussati poligoni e mesh Possono essere combinati con unioni CSG o all interno di
469. ossono creare facilmente anche cieli stellati Si possono usare diversi tipi di nebbia per creare scene nebbiose strati multipli di differenti colori di nebbia possono aggiungere un tocco di mistero alla tua scena Un effetto pi realistico pu essere creato usando un atmosfera una nebbia continua che interagisca con le luci I raggi di luce diventeranno visibili e gli oggetti proietteranno ombre nella nebbia Infine si possono aggiungere arcobaleni 4 10 1 Lo Sfondo 155 La funzione background sfondo usata per assegnare un colore a tutti i raggi che non colpiscono nessun oggetto finclude colors inc camera location lt 0 0 10 gt Look at lt 0 0 0 gt light_source lt 10 10 10 gt White background color rgb lt 0 2 0 2 0 3 gt sphere 0 1 pigment color rgb lt 0 8 0 5 0 2 gt Il colore dello sfondo sar visibile se verr usata una sfera celeste e se alcune parti trasparenti rimarranno dopo che tutti gli strati di pigmento della sfera celeste saranno stati assegnati Fig 173 L uso dello sfondo 4 10 2 La Sky Sphere Sfera Celeste La sfera celeste pu essere usata per creare facilmente un cielo nuvoloso una notte stellata o qualunque tipo di cielo tu abbia in mente Negli esempi che seguiranno abbiamo iniziato con una sfera celeste molto semplice che resa sempre pi complessa aggiungendole nuove funzioni 4 10 2 1 Creare un Cielo Usando un Gradiente di Colore Oltr
470. p type marble material map matrix max max intersections max iteration max trace Level max value merge mesh metallic min minimum reuse earest count le ormal ormal map o_shadow umber of waves orthographic 421 p panoramic pigment map planar mapping plane ppm precision prism pwr quadratic spline quadric quartic quaternion quick color quick colour quilted radial radians radiosity radius rainbow ramp wave rand range reciprocal recursion limit red reflection refraction render 422 ripples rotate roughness sca les lop_wave ttering seed shadowless sin sine wave sinh sky sky sphere sli ce slope map smooth smooth triangle sor spe cular sphere spherical mapping spi spi spi Spo Spo sqr sqr sta str str str str stu sub sup swi sys 4 4 can 4 tes tes tes Les io tex tex da LEX ral rall ral2 tlight tted t tistics cmp ength len lwr rm str erellipsoid tch tanh camera 1 camera 2 t_ camera 3 t_ camera 4 ture re ture map 423 tga thickness threshold tightness tile2 iles torus track transform translate transmit triangle triangle_wave true ttf turbulence turb depth type u ultra wide_angle union up use_color use colour use index u_step
471. pi chiaro possibile Assicuratevi di leggere cmpl_xxx doc nelle directory specifiche per la vostra piattaforma e per il vostro compilatore per ottenere aiuto di minore importanza se state lavorando su una piattaforma o computer non supportati dalle versioni ufficiali Buona Fortuna 2 4 Dove trovare i File di POV Ray Le versioni pi recenti di POV Ray sono disponibili alle seguenti fonti 2 4 1 Forum POVRAY su CompuServe 2 4 2 Internet 2 4 2 1 Siti FTP per POV Ray raggiungibili dall Italia 25 2 4 3 Area dedicata a PC Graphics su America On Line 2 4 4 The Graphics Alternative BBS El Cerrito California 2 4 5 PCGNet 2 4 6 Libri e CD ROM su POV Ray 2 4 1 Forum POVRAY su CompuServe Il quartier generale di POV Ray su CompuServe nel forum POVRAY gestito da alcuni dei membri del team L ci incontriamo per dividere informazioni programmi utilit e immagini create con POV Ray Chiunque invitato ad unirsi al forum su CIS POVRAY Speriamo di incontrarvi l Potete trovare informazioni su come entrare in CompuServe chiamando 800 848 8990 o visitando la homepage di CompuServe http www compuserve com Accesso diretto a CompuServe disponibile anche in Giappone Europa e molti altri paesi 2 4 2 Internet La casa su Internet di POV Ray raggiungibile su World Wide Web WWW all indirizzo http www povray org e tramite ftp come fip povray org Passateci spesso per gli ultimi file utilities notizie ed immagini de
472. pleto per POV Ray per Macintosh Contiene parti generiche e parti specifiche per Macintosh Non contiene le scene d esempio i file include e la documentazione pertanto necessario procurarsi anche gli archivi contenenti l eseguibile 2 3 3 Commodore Amiga La versione per Amiga disponibile in diverse varianti 68000 68020 senza FPU molto lenta non raccomandata 68020 68881 68882 68030 68882 e 68040 Esistono anche due sotto versioni una con interfaccia a sola riga di comando e una con interfaccia grafica richiede MUI 3 1 Tutte le versioni girano con OS 2 1 e superiori Requisiti Hardware e Software Almeno 4 megabyte di RAM Almeno 2 megabyte di spazio disco per i file necessari pi 5 20 megabyte o pi per spazio di lavoro Un editor di testo ASCII interfaccia grafica configurabile per lanciarlo Un visore di file grafici POV Ray ha output nei formati TGA PPM PNG Vengono inclusi convertitori della distribuzione PPMBIN per convertire questi ai formati IFF ed ILBM 21 File di POV Ray richiesti povami lha archivio LHA contenente l eseguibile scene d esempio file include standard e documentazione Hardware raccomandato 8 megabyte o pi di RAM Processore 68030 e 68882 o superiori Scheda video a 24 bit supportata la libreria CyberGFX Appena sar disponibile un compilatore stabile per i sistemi Amiga Power PC in programma una versione per questa piattaforma Opzionale il codice so
473. posta le librerie Si possono specificare fino a dieci percorsi path Quasi tutti i parametri hanno un equivalente opzione che pu essere usata nei file ini che sono descritti nella prossima sezione Una dettagliata descrizione di ogni parametro si pu trovare nella sezione Guida di Riferimento alle Opzioni di POV Ray 6 1 2 Usare i file INI Essendo difficoltoso impostare diverse opzioni nelle righe di comando possibile inserire una o pi opzioni in un file di testo Questi file hanno estensione ini file di inizializzazione Precedenti versioni di POV Ray li chiamavano file DEF default E ancora possibile utilizzare file DEF esistenti con questa versione di POV Ray La maggioranza delle opzioni che si usano possono venire raccolte in un file ini le righe di comando sono consigliabili per opzioni che vengono attivate e disattivate spesso nel momento in cui viene renderizzata una scena alla quale si sta lavorando Il file povray ini letto automaticamente se presente E possibile specificare ulteriori file ini nelle righe di comando semplicemente digitando il nome del file Per esempio POVRAY MYOPTS INI 185 Se non viene specificata alcuna estensione allora si assume che sia ini POV Ray riconosce che MYOPTS INI non un parametro perch non preceduto da un pi o da un meno Infatti un errore comune in coloro che utilizzano da poco POV Ray quello di dimenticarsi di mettere il parametro I davanti al nome d
474. pot sono un tipo molto utile di sorgente luminosa Possono essere utilizzati per aggiungere riflessi ed illuminare dettagli esattamente come agisce un fotografo per ottenere lo stesso risultato Gli spot hanno un po pi parametri che non le luci puntiformi Questi sono radius falloff tightness e point at raggio attenuazione larghezza e bersaglio Il parametro raggio rappresenta l angolo del cono pienamente illuminato Il parametro falloff rappresenta l angolo del cono d ombra dove la luce decade fino all oscurit Il parametro point at indica la posizione a cui punta lo spot Modifichiamo la luce nella nostra scena come segue light_source lt Q 10 3 gt color White spotlight radius 15 falloff 20 tightness 10 point at lt 0 0 0 gt 64 Renderizziamo questa scena a 200x150 A Fig 73 Illuminazione con uno spot Vediamo che solo gli oggetti sono illuminati Il resto del piano e le parti pi esterne degli oggetti sono al buio C una larga zona in cui la luce declina dalla piena potenza al buio ma le ombre sono ancora nettissime Proviamo a giocare con qualcuno di questi parametri per vedere cosa fanno Cambiamo il valore di falloff a 16 deve sempre essere maggiore di radius e renderizziamo di nuovo Fig 74 Aumentare il valore di falloff Ora la zona di falloff molto stretta e gli oggetti sono completamente illuminati o completamente al buio Ora riportiamo a 20 il valore del falloff e cambiamo
475. povuni_s tgz oppure povuni_ s tar gz Il codice sorgente in C per Unix Contiene parti generiche e parti specifiche per Unix Non contiene le scene d esempio i file include e la documentazione pertanto necessario procurarsi anche gli archivi contenenti l eseguibile Un compilatore C e opzionalmente file include e librerie X e conoscenza di come usarle Per quanto venga fornito il codice sorgente per sistemi Unix generici non data assistenza su come compilare il programma 2 3 5 Sistemi Unix generici Software necessario povuni_s tgz oppure povuni_ s tar gz Il codice sorgente C per Unix Contiene parti generiche e parti specifiche per Unix compreso X Windows 22 povuni d tgz oppure un qualunque archivio contenente le scene d esempio i file include standard e la documentazione Questo archivio potrebbe ad esempio essere quello per Linux o per SunOS descritto sopra Un compilatore C e conoscenza di COME USARLO Per quanto venga fornito il codice sorgente per sistemi Unix generici non data assistenza su come compilare il programma Un editor di testo capace di editare testi ASCII vi emacs xedit ad esempio Hardware raccomandato Coprocessore matematico 8 megabyte di RAM o pi Visore di file grafici nei formati PPM TGA o PNG Opzionali X Windows qualora si vogliano vedere le immagini durante il rendering Gli include file di X Windows Se non si pratici nel compilare programmi per X Windows pu
476. ppm pgm png o sys Questa seguita dal nome del file definito mediante una qualsiasi espressione stringa valida Alcuni modificatori facoltativi descritti pi avanti possono seguire la specificazione del file E da notare che le prime versioni di POV Ray permettevano che alcuni modificatori fossero inseriti prima dell indicazione del tipo di file ma questa sintassi stata sorpassata da quella qui descritta I file specificati nelle frasi material map saranno cercati nella directory corrente e se non trovati nelle directory specificate dal parametro L o dall opzione Library Path Questo rende preferibile tenere tutte le mappe in un unica directory da specificare con L Attenzione i percorsi di ricerca predefiniti del sistema operativo non vengono esaminati a meno che non siano specificati come library path con il parametro L Di default il materiale mappato sul piano x y Il materiale proiettato sull oggetto come se ci fosse un proiettore lungo l asse z e copre interamente il quadrato che si estende fra le coordinate 0 0 e 1 1 senza tenere conto della dimensione originaria dell immagine Se vuoi cambiare quest impostazione puoi traslare ruotare o scalare la texture per mapparla sulla superficie dell oggetto come preferisci Il nome del file pu essere seguito da uno o pi modificatori di bitmap Vedi il paragrafo Modificatori di Immagini Dopo la frase material map ma sempre all interno della frase texture
477. pprossimare una superficie curva Comunque la nostra capacit di percezione delle superfici piane dipende principalmente dal modo in cui sono definite le luci e le ombre Modificando artificialmente le normali alla superficie possiamo simulare superfici lisce ed uniformi e nascondere cos gli spigoli tra i triangoli adiacenti La primitiva smooth _ triangle 288 usata proprio per questo scopo I triangoli smussati usano un formula chiamata Interpolazione delle Normali di Phong per calcolare la normale alla superficie per ogni punto del triangolo basandosi sui vettori normali che vengono definiti per i tre vertici Questo procedimento permette di fare apparire i triangoli come superfici curve Un triangolo smussato definito cos smooth triangle lt VERTICE1 gt lt NORMALE1 gt lt VERTICE2 gt lt NORMALE2 gt lt VERTICE3 gt lt NORMALE3 gt dove i vertici sono definiti come in un normale triangolo e lt NORMALE1 gt un vettore che descrive la direzione della normale alla superficie per ogni vertice Questi vettori sono veramente difficoltosi da calcolare a mano ma in ogni caso i triangoli smussati sono quasi sempre generati da programmi esterni Per arrivare a risultati uniformi ogni triangolo che condivide un vertice con un altro dovrebbe avere o stesso vettore normale relativo a quello stesso vertice Generalmente i vettori normali che servono a questo scopo dovrebbero essere la media di tutti i vet
478. pre impostare jitter off quando ci prepariamo a renderizzare un animazione Il relativamente piccolo miglioramento nella qualit che possiamo ottenere verrebbe travolto dall oceano di pixel saltellanti che ne risulterebbe Questa regola generale si applica anche a tutti quegli elementi di texture veramente casuali come crand 4 10 6 5 Impostazioni dei File INI Bene ora abbiamo una minima conoscenza di come scrivere codice rivolto alle animazioni per POV Ray Conosciamo la variabile clock sappiamo definire variabili ausiliarie dipendenti da clock e sappiamo usare la parola chiave phase Sappiamo che non si devono usare jitter o crand quando renderizziamo un animazione e siamo pronti per costruirne una Ai posti partiamo La prima cosa di cui ci dobbiamo occupare sono le impostazioni dei file INI Initial Frame e Final Frame Queste sono impostazioni molto comode che ci permettono di renderizzare un particolare numero di fotogrammi ciascuno caratterizzato da un suo numero d ordine in maniera completamente automatica E talmente semplice che non richiederebbe spiegazioni Ad ogni modo qui c un esempio Aggiungiamo le seguenti linee al nostro file INI preferito Initial Frame 1 Final Frame 20 Ed inizieremo un loop automatico che renderizzer 20 fotogrammi diversi Le impostazioni stesse aggiungeranno un numero progressivo ad ogni fotogramma che viene renderizzato qualunque sia il nome che abbiamo scelto di dargli rendendo cos u
479. predefinite come descritto di seguito Ogni volta che specifichi una dichiarazione di texture POV Ray crea una copia della texture predefinita Qualunque cosa venga inserita nella dichiarazione di texture avr la precedenza sulle impostazioni predefinite Se inserisci un pigmento una normale o una finitura ad un oggetto senza nessuna dichiarazione di texture allora POV Ray verifica se una texture sia gi stata specificata Se l oggetto ha una texture allora il pigmento la normale o la finitura modificher la texture esistente Se nessuna texture stata specificata per quell oggetto allora la texture predefinita viene copiata ed il pigmento la normale o la finitura modificher quella texture Puoi cambiare la texture predefinita il pigmento la normale o la finitura usando l istruzione default come di seguito default texture pigment normal finish O puoi cambiarne una parte in questo modo default 242 pigment Ci consente comunque di cambiare il pigmento della texture predefinita Pu essere definita solo una texture predefinita per volta formata dal pigmento dalla normale e dalla finitura L esempio considerato prima non crea un pigmento separato predefinito Nota che le texture speciali come checker o le mappature di materiali Material map oditexture texture map non possono essere usati come elementi predefiniti Puoi cambiare le dichiarazioni predefinit
480. prendere meglio come funzionano le halo e la trasparenza Gli oggetti possono essere solidi vuoti o riempiti con piccole particelle Un oggetto solido fatto dal materiale specificato nelle frasi di pigmento e di finitura e in qualche modo anche dalle frasi che specificano le normali Di default ogni oggetto viene considerato solido Se viene assegnata una texture pietra ad una sfera si otterr una palla completamente fatta di pietra come se fosse stata tagliata da un blocco di pietra pi grande Una sfera di vetro sar anch essa completamente di vetro Bisogna notare che gli oggetti solidi sono tali solo concettualmente Per esempio se si potesse tagliare via una parte della sfera si noterebbe che l interno vuoto e che l oggetto ha solo una superficie molto sottile Questo il contrario del concetto di solido ma viene adottato da POV Ray si presume che in un solido anche l interno della sfera sia pieno dello stesso materiale di cui la sfera composta In questo modo non c ulteriore posto per altre particelle come quelle usate per le halo e per la nebbia Gli oggetti cavi sono creati aggiungendo la parola chiave hollow nella frase che descrive l oggetto vedi Hollow Vuoto Un oggetto cavo costituito da una superficie molto sottile fatta da materiale pigmento finitura e normali L interno dell oggetto vuoto normalmente conterrebbe 262 molecole di aria Un oggetto cavo pu essere riempito da particelle aggiung
481. procedimento diverso da ci che accade durante il calcolo delle mappe di colore e normali nelle texture semplici per le quali viene prima calcolato il colore poi le normali ed infine riflessione rifrazione e luminosit sono calcolati una sola volta Intere texture possono essere usate con pattern a blocchi come checker hexagon brick Per esempio texture 344 checker texture T Woodl2 seale 8 texture pigment White_Marble finish Shiny scale 5 Per texture di questo tipo si deve avere la frase texture attorno alla definizione della texture stessa E anche da notare che questa sintassi proibisce l utilizzo di texture stratificate ma questo problema si pu aggirare dichiarando un identificatore per la texture stratificata e usandolo all interno della mappa Una mappa di texture usata anche per il pattern average Vedi il paragrafo Average Media per dettagli 7 6 5 2 Tiles Le precedenti versioni di POV Ray avevano una texture speciale chiamata tiles che creava un motivo di texture disposte a scacchiera Anche se questa parola chiave ancora valida per ragioni di compatibilit all indietro in questa versione si dovrebbe usare un blocco checker come descritto nel paragrafo Mappe di Texture al posto di tiles 7 6 5 3 Mappe di Materiali La texture speciale material map estende il concetto della mappatura di un immagine alle texture oltre che ai singoli colori
482. qualche altra sorgente lumnosa 0 come in questo caso da un alto valore del parametro ambient Risultati pi interessanti possono essere ottenuti in questo caso usando le Halo vedi paragrafo Halo 4 6 7 Funzioni Speciali 4 6 7 1 Luci Senza Ombra Per non fare proiettare ombre alle sorgenti luminose si pu assegnare loro la parola chiave shadowless Certe volte le scene sono difficili da illuminare propriamente usando le luci che abbiamo scelto per illuminare i nostri oggetti Applicare un alto valore del parametro ambient non pratico e porta a risultati non realistici Allora posizioniamo un paio di luci di riempimento nella nostra scena Le luci di riempimento sono semplicemente luci pi deboli con la parola chiave shadowless che servono ad aumentare l illuminazione delle zone della scena che possono non essere adeguatamente illuminate Proviamo ad usarne una nella nostra scena Ricordi i nostri tre spot area torniamo indietro togliamo il commento e commentiamo invece ogni altra luce che abbiamo inserito Poi aggiungiamo il seguente testo tight source 4 lt 0 20 0 gt color Gray50 shadowless Questa una luce piuttosto debole che si trova 20 unit sopra il centro della scena Fornir una tenue illuminazione a tutti gli oggetti compreso il piano nello sfondo Renderizziamo e vediamo 72 Fig 83 Luci senza ombra 4 6 7 2 Attenuazione Se il realismo che vogliamo non realistico che il piano sia unif
483. quando clock supera 1 POV Ray assume che iniziata la seconda parte dell animazione e noi dichiariamo un nuova variabile detta Elseclock che rendiamo dipendente da clock in modo che mentre clock varia tra 1 e 2 Elseclock varia tra 0 ed 1 Quindi anche se c un solo clock possiamo avere quante variabili vogliamo e possiamo permetterci in termini di memoria cos anche in scene molto complesse la sola variabile clock pu essere il direttore d orchestra di tutti gli altri movimenti 4 10 6 3 La Fase C un altra parola chiave che dovremmo conoscere per l animazione la parola chiave phase fase Questa parola chiave pu essere usata su molti elementi appartenenti a texture soprattutto quelli che possono utilizzare una mappatura di colore pigmento normali o texture Ricordiamo la sintassi che hanno queste mappe Ad esempio color map 0 00 White 0 25 Blue 0 76 Green 1 00 Red Il valore decimale a sinistra aiuta POV Ray a mappare il colore sulle varie superfici dell oggetto Hai notato che i valori vanno da 0 0 ad 1 0 La parola chiave phase fa s che il colore venga spostato lungo la mappa di un valore decimale che segue la parola chiave Ora se stiamo utilizzando un clock normalizzato possiamo fare in modo che quel valore decimale sia proprio la variabile clock e il motivo varier uniformemente col procedere dell animazione Vediamo un semplice esempio che utilizza un motivo a gradiente di normali in
484. que sorgente luminosa non verr attenuata dall atmosfera In questo modo i punti illuminati direttamente saranno di solito troppo luminosi Questo effetto pu essere evitato con atmospheric attenuation on 4 10 4 5 3 Tipi di Dispersione Atmosferica I diversi modelli di dispersione elencati nel paragrafo Atmosfera possono essere usati per simulare differenti tipi di particelle Questa un opzione che richiede qualche esperimento La dispersione di Rayleigh usata per piccole particelle come polvere e fumo mentre la dispersione di Mie la migliore per simulare la nebbia Se hai visto la scena del faro nel film Casper hai gi visto che effetto ha questo tipo di dispersione in questa scena il raggio di luce del faro diventa visibile quando diretto verso l osservatore Quando si rivolge altrove svanisce Questo comportamento della luce tipico per minuscole gocce d acqua come quelle che vengono simulate dalla dispersione di Mie 172 4 10 4 5 4 Aumentare la Risoluzione dell Immagine Devi fare attenzione al fatto che potresti essere obbligato ad aumentare il tasso di campionamento dell atmosfera se vuoi aumentare la risoluzione dell immagine Altrimenti alcune artificiosit dovute a fenomeni di aliasing che non erano visibili a risoluzioni basse possono comparire all improvviso 4 10 4 5 5 Oggetti Vuoti ed Atmosfera Quando usi la funzione atmosfera devi fare attenzione che tutti gli oggetti che dovrebbero contenere l atmosf
485. r accesso a tutte le modalit che il proprio hardware video pu supportare Se si ha possibilit di visualizzare le immagini a 15 o 16 bit in high color si pu provare il comando dgh oppure avendo un video true color 24 bit provare dgt per vedere l immagine al massimo del suo splendore Vedi il paragrafo Tipi di Display per maggiori informazioni sulla preview a schermo Quando il programma termina si sentir beep Dopo avere ammirato l immagine premere INVIO Comparir una schermata di statistiche Se il testo troppo per entrare nello schermo si possono premere i tasti cursore per leggere tutte le informazioni Premere INVIO di nuovo per uscire dal programma Se non si ha la possibilit di visualizzare le immagini in high color o true color si dovr vedere il file immagine per vedere i veri colori Il file immagine shapes tga si trova nella directory attuale c povray Di regola POV Ray crea file in formato TGA Questo un formato grafico standard per la memorizzazione di immagini a 24 bit Sar necessario un programma di visualizzazione di immagini per vedere il file Questo genere di programmi generalmente disponibile alla stessa fonte dove si trovato POV Ray per cui non viene incluso nessun visore col programma Se non possibile visualizzare file TGA si pu aggiungere il comando fn e POV Ray creer un file di output in formato PNG Portable Network Graphics Se non disponibile neppure un visore PNG
486. r l oggetto ma non la texture Si possono dichiarare costanti per la maggior parte dei tipi di dati usati dal programma compresi numeri decimali e vettori Scrivendole in un file INC separato puoi dividere i parametri necessari per l animazione dalla scena Alcuni esempi di costanti dichiarate possono essere declare Rotazione Y 5 0 clock declare Rotazione Oggetto lt 0 Y Rotation 0 gt declare La Mia Sfera sphere lt 0 0 0 gt 1 1234 Altri esempi si possono trovare nei file scena di esempio Un suggerimento per gli utilizzatori di MS Dos procuratevi DTA Dave s Targa Animator per creare animazioni FLI e FLC Programmi come aaplay exe e play exe sono diffusi programmi per visualizzare queste animazioni Quando si muove la macchina fotografica in un animazione o la si posiziona per una scena ferma si deve evitare di metterla direttamente sopra l origine poich ci causa errori molto strani E preferibile spostarla leggermente fuori centro e evitare che si trovi ad inquadrare direttamente la scena lungo la verticale Appendice F 4 Suggerimenti per le Texture Wood legno concepito come un ceppo con gli anelli di crescita allineati lungo l asse z In generale avranno un aspetto migliore quando saranno stati rimpiccioliti ad un decimo della dimensione originaria Conviene iniziare con valori piccoli della turbolenza circa 0 05 un buon valore di inizio 404 La texture Marble marmo cos
487. r maggiori dettagli sulla trasparenza I file PNG memorizzano anche il valore di gamma del sistema oltre alla profondit di colore variabile al supporto dei formati in toni di grigio al canale alfa cosicch l immagine possa essere visualizzata correttamente su tutti i sistemi vedi il paragrafo Impostazioni Hardware Anche l impostazione hf gray 16 descritta nel paragrafo Hf Gray_16 influenzer il tipo di dati scritti nel file di output 6 2 2 3 2 Nome del File di Output Output File Name file Imposta il nome del file di output a file Ofile idem Il nome predefinito del file di output dedotto dal nome della scena e non necessario specificarlo Il nome della scena il nome del file di input insieme alla specificazione di drive percorso ed estensione Per esmpio se il nome del file di input c povray3 mystuff myfile pov il nome della scena sar myfile L appropriata estensione sar aggiunta al nome della scena basandosi sul tipo di file Per esempio potrebbe essere myfile tga o myfile png Si pu cambiare il nome di default del file di output usando l opzione Output File Name file oppure Ofile Per esempio Input File Name myinput pov Output File Name myoutput tga Se viene specificato un nome di file di output un segno meno allora l immagine verr scritta all output standard solitamente lo schermo L output pu quindi essere diretto in un altro programma o all interfaccia grafica se desiderato
488. ra compresi i canali di filtro e trasmittanza vedi Usare Atmosfere Colorate e Atmosfera per una spiegazione sul colore dell atmosfera Se vuoi simulare grossolanamente l aspetto di quelle parti della scena illuminate da una sorgente luminosa puoi invece usare il colore dell atmosfera all interno della nebbia Quando sei soddisfatto del valore di distance dovrai scegliere un valore per la dispersione parola chiave scattering Questo valore ti permette di adattare la densit dell atmosfera alle tue necessit Iniziando con un valore di 1 dovrai aumentarlo se gli effetti dati dall atmosfera sono appena visibili Viceversa dovrai diminuirlo se non vedi nulla nelle zone illuminate dell atmosfera Devi fare attenzione al fatto che potresti dovere impostare valori molto grandi o molto piccoli per ottenere il risultato corretto 4 10 4 5 2 Atmosfera e Sorgenti Luminose I risultati migliori si ottengono con luci spot e cilindriche Queste creano fasci di luce di grande effetto e sono veloci da renderizzare perch il campionamento dell atmosfera avviene solo all interno del cono di luce dello spot o del cilindro di luce della luce cilindrica Se vuoi aggiungere una sorgente luminosa che non interagisca con l atmosfera puoi usare la parola chiave atmosphere dentro la frase di descrizione della sorgente luminosa vedi Interazione con l Atmosfera Basta aggiungere atmosphere off Come impostazione predefinita la luce che proviene da qualun
489. ra nascosto dall atmosfera Fig 188 4 10 4 5 Trucchi sull Atmosfera E molto difficile ottenere buoni risultati usando la funzione atmosfera Alcuni dei problemi pi comuni saranno discussi nei prossimi paragrafi per aiutarti a risolverli vedi anche l appendice G 5 Domande sull Atmosfera 4 10 4 5 1 Scegliere la Distanza e i Parametri di Dispersione Il primo passo difficile nel creare una buona atmosfera scegliere i valori di distanza e dispersione Ci permette di controllare la visibilit degli oggetti nella scena e gli effetti atmosferici L approccio migliore scegliere prima il valore della distanza Questo valore determina la visibilit degli oggetti nella scena indipendentemente dalla dispersione della luce da parte dell atmosfera Funziona nello stesso modo del parametro distance usato per la nebbia Dato che la nebbia molto simile all atmosfera non illuminata puoi usare una nebbia al posto dell atmosfera per scegliere un valore ottimale per distance Se dovessi farlo per la stanza che abbiamo usato prima utilizzeresti la seguente frase fog al posto dell atmosfera vedi atmos4 pov fog distance 40 color rgb lt 0 0 0 gt 171 Fig 189 Il colore nero usato per simulare l attenuazione della luce che otterrai in quelle parti della scena che si trovano in ombra Se vuoi usare un atmosfera colorata dovrai usare per la nebbia lo stesso colore che vuoi usare per l atmosfe
490. re Per esempio color Mio Colore red 0 5 sostituisce qualunque valore della componente rossa in Mio _ Colore con una componente rossa di 0 5 color Mio Colore red 0 5 invece aggiunge 0 5 alla componente rossa di Mio _ Colore e chiaramente color Mio Colore red 0 5 dimezza la componente rossa come era prevedibile ma moltiplica anche le componenti verde blu filtro e quella della trasparenza per zero Dopo questa moltiplicazione il risultato dell espressione rgbft lt 0 5 0 0 0 0 gt Nell esempio seguente i risultati non modificano Mio_Colore color red 0 5 Mio Colore Questo perch l identificatore sovrascrive completamente il valore precedente Quando si usano identificatori con parole chiave del colore l identificatore dovrebbe essere al primo posto Infine alcune sintassi di POV Ray consentono specificazioni del colore ma usano solo la parte rgb In questi casi consentito usare un valore decimale l dove un colore ne abbia bisogno Per esempio finish ambient 1 La parola chiave ambient richiede la specificazione di un colore cos il valore 1 diventa il vettore lt 1 1 1 1 1 gt Anche pigment color 0 4 consentito ma potrebbe essere diverso da ci che intendi Lo 0 4 diventa lt 0 4 0 4 0 4 0 4 0 4 gt col filtro e la trasparenza impostati a 0 4 E pi probabile che tu volessi pigment color rgb 0 4 in questo caso ci si aspetta un vettore a 3 compone
491. re 46 Fig 54 Toro Ehi Una ciambella con un serio problema di peso Con una sintassi cos semplice non c molto altro che possiamo fare con un toro a parte cambiargli la texture o si Vediamo i tori sono oggetti molto utili in CSG Tentiamo un piccolo esperimento Facciamo la differenza tra un toro ed un parallelepipedo difference torus 4 1 rotate x 90 cosi possiamo vederlo da sopra box lt 5 5 1 gt lt 5 0 1 gt pigment Green Fig 55 Mezzo toro Interessante un mezzo toro Ora ne aggiungiamo un altro ruotato dall altra parte Per dichiariamo il primo mezzo toro e le trasformazioni necessarie in modo da poterlo riutilizzare declare Half Torus difference Half Torus significa mezzo EOro torus 4 1 rotate 90 x cos possiamo vederlo da sopra 47 bOx lt 5 5 13 lt 5 0 1 gt 3 pigment Green declare Flip It Over 180 x Flip It Over significa capovolgilo declare Torus Translate 8 Il doppio del raggio maggiore Ora creiamo un unione dei due mezzi tori union object Half Torus object Half Torus rotate Flip It Over translate Torus_Translate x Fig 56 I due mezzi tori sfalsati Questo ci d un oggetto a forma di S ma non riusciamo a vederlo interamente dalla nostra posizione attuale Aggiungiamo un altro po di anelli tre in ogni direzione spostiamo l oggetto in direzion
492. re 6 2 2 2 2 Impostazioni Connesse al Display 6 2 2 2 3 Anteprima a Mosaico 6 2 2 3 Opzioni di Output su File 6 2 2 3 1 Tipo di File di Output 6 2 2 3 2 Nome del File di Output 6 2 2 3 3 Buffer del File di Output 6 2 2 4 Istogramma di Impiego della CPU 6 2 2 4 1 Tipo di File 6 2 2 4 2 Nome del File 6 2 2 4 3 Dimensioni della Griglia 6 2 3 Opzioni per l Analisi della Scena 6 2 3 1 Nome del File di Input 6 2 3 2 Percorsi delle Librerie 6 2 3 3 Versione del Linguaggio 6 2 3 4 Rimuovere il Bounding Impostato Manualmente 6 2 4 Uscita al Sistema Operativo 6 2 4 1 Sostituzione di Stringhe nei Comandi di Shell 8 6 2 4 2 Comandi di Shell in Sequenza 6 2 4 3 Azioni di Ritorno dei Comandi di Shell 6 2 5 Output di Testo 6 2 5 1 Tipi di Output di Testo 6 2 5 2 Output di Testo su Console 6 2 5 3 Dirigere l Output di Testo su File 6 2 5 4 Comandi per le Schermate di Aiuto 6 2 6 Opzioni di Rendering 6 2 6 1 Impostazioni della Qualit 6 2 6 2 Impostazioni di Radiosity 6 2 6 3 Controllo sul Bounding Automatico 6 2 6 4 Opzioni sull Anti Aliasing 7 Linguaggio di Descrizione delle Scene 7 1 Elementi Fondamentali 7 1 1 Identificatori e Parole Chiave 7 1 2 Commenti 7 1 3 Espressioni Decimali 7 1 3 1 Costanti Decimali 7 1 3 2 Identificatori Decimali 7 1 3 3 Operatori Decimali 7 1 4 Espressioni Vettoriali 7 1 4 1 Costanti Vettoriali 7 1 4 2 Identificatori Vettoriali 7 1 4 3 Operatori Vettoriali 7 1 4 4 Promozione di Operato
493. re un programma esterno per generare l immagine ha fatto tutto POV Ray Fig 172 4 9 9 Limiti delle Texture Speciali Ci sono un paio di limitazioni per tutte le texture speciali che abbiamo visto Per prima cosa se abbiamo usato le direttive di default per impostare le texture di default per tutti gli oggetti nella nostra scena allora POV Ray non accetter nessuna delle texture speciali discusse qui Questo un problema decisamente minore dal momento che possiamo sempre dichiarare una texture ed applicarla individualmente a tutti gli oggetti Non ci impedisce insomma di fare cose che non potremmo fare in altro modo L altra limitazione pi restrittiva ma come vedremo tra breve possiamo aggirarla piuttosto facilmente Abbiamo lavorato con texture stratificate ed abbiamo gi visto come possiamo accumulare texture una sopra l altra fino a che ogni strato contiene della trasparenza Questa tecnica molto utile ha un problema nell incorporare le texture speciali che abbiamo appena visto 154 come strati Ma c una risposta Per esempio diciamo di avere una texture stratificata chiamata Speckled Metal che determini una superficie argentea con piccoli punti di ruggine Possiamo decidere per maggiore realismo di creare macchie di ruggine pi grandi disposte casualmente sulla superficie L approccio pi ovvio quello di creare una texture speciale con trasparenza da usare come strato superiore ma naturalmente come abb
494. re POV Ray Le versioni eseguibili rilasciate dal POV Ray Team sono disponibili per MS Dos Windows 3 1x 95 NT Mac 68k Mac Power PC Amiga Linux per processori Intel x86 e SunOS Altre piattaforme possono essere supportate da versioni non ufficiali Se non si intende aggiungere funzioni personalizzate o sperimentali al programma o se esiste gi un eseguibile per la piattaforma allora non c bisogno di compilare questo programma Volendo proseguire si dovrebbe tenere conto che si pressoch da soli le sezioni seguenti e altra documentazione collegata alla compilazione assume che si sappia cosa si sta facendo Assume che si abbia un compilatore C adeguato installato e funzionante che si sappia come compilare e linkare grandi programmi a sezioni multiple usando un utilit MAKE o un project file IDE se la piattaforma lo supporta Dato che i MAKEFILE e i project file generalmente specificano un drive non si promette che i makefile o i projects distribuiti funzionino su di un determinato sistema Si assume che si sappia come modificare un makefile e i projects per specificare dove si trovano le librerie del sistema e gli altri file necessari In generale non dovrebbe essere atteso alcun aiuto dal POV Ray Team su come compilare il programma Tutto viene fornito cos com Tutto ci che si pu dire con qualche certezza che noi siamo riusciti a compilarlo sui nostri sistemi Se sul tuo non funziona probabilmente non 23 sappiam
495. re come funzionano si dovrebbe prima sapere come viene calcolato l arcobaleno Per ogni raggio si calcola l angolo tra il vettore direzione dell arcobaleno e il vettore direzione del raggio di luce Se questo angolo si trova nell intervallo che va da ANGLE WIDTH 2 a ANGLE WIDTH 2 l arcobaleno colpito dal raggio Il colore viene quindi determinato utilizzando l angolo come indice nella mappa di colori dell arcobaleno Dopo che il colore stato determinato verr unito al colore dello sfondo come avviene per la nebbia In questo modo i parametri angle e width determinano l angolo sotto il quale l arcobaleno visibile La parola chiave jitter pu essere usata per aggiungere perturbazioni casuali alla mappa dei colori Ci aggiunge qualche irregolarit all arcobaleno e lo rende pi realistico La parola chiave distance la stessa che viene usata per la nebbia Dato che l arcobaleno un effetto simile alla nebbia possibile che esso sia visibile sugli oggetti Se questo effetto indesiderato pu essere evitato utilizzando un alto valore per la distanza Per default si usa un valore abbastanza alto da far s che questo effetto non si presenti La parola chiave color map usata per definire una mappatura del colore che verr distribuita sull arcobaleno Per creare arcobaleni realistici importante sapere che l indice della mappa aumenta con l angolo trai vettori direzione del raggio e dell arcobaleno L indice 0 sull anello pi inter
496. re matematico per 386 o 486 sx 8 megabyte o pi di RAM Video SVGA preferibilmente con possibilit di mostrare immagini in high color o true color 15 16 32 bit per pixel Opzionalmente il codice sorgente di POV Ray per Windows non necessario per il funzionamento di POV Ray Viene fornito per i curiosi e gli avventurosi povwin_s zip Il codice sorgente in C per POV Ray per Windows Contiene parti generiche e parti specifiche per Windows Non contiene le scene d esempio i file include e la documentazione Pertanto necessario procurarsi anche gli archivi contenenti l eseguibile POV Ray per Windows pu essere compilato solo con compilatori C che creano applicazioni Windows a 32 bit Sono supportati Watcom 10 5a Borland 4 5 2 5 0 2 3 1 3 Linux Requisiti Hardware e Software Processore 386 o superiore e almeno 4 megabyte di RAM Circa 6 megabyte di spazio su disco per l installazione e 2 10 o pi megabyte aggiuntivi per spazio di lavoro Un editor di testo capace di editare file ASCII ad esempio vi oppure emacs o xedit Un kernel Linux recente dal 1994 in poi e supporto per i binari in formato ELF POV Ray per Linux non in formato OUT Librerie ELF libe so 5 libm so 5 ed una o entrambe le libX11 s0 6 o libvga so 1 File di POV Ray necessari povlinux tgz oppure povlinux tar gz archivio contenente un eseguibile ufficiale per entrambe le versioni SVGALib e X Windows Contiene inoltre le scene d esempio file
497. re per jitter la scelta migliore Il sovracampionamento utilizzato per rilevare i particolari pi fini lanciando raggi supplementari nelle zone dove ci sono molti cambiamenti in poco spazio ad esempio una brusca variazione di colore come pu essere il bordo di un oggetto chiaro contro uno sfondo scuro La soglia alla quale interviene il sovracampionamento e il massimo livello di ricorsivit possono essere specificati usando le parole chiave aa_thresholdeaa level rispettivamente L approccio che funziona sempre quello di aumentare il tasso di campionamento su tutta la scena Dato che questo anche il metodo pi lento dovremmo provare prima gli altri due e se non bastano ricorrere a quest ultimo Usiamo la halo seguente per ridurre gli artefatti di aliasing halo34 pov box l 1 130 pigment colour rgbt lt 1 1 1 1 gt halo dust dust type 1 box mapping constant colour map 0 color rgbt lt 1 1 1 1 0 gt 1 color rgbt lt 1 1 1 0 7 gt samples 50 aa level 3 aa threshold 0 2 jitter 0 1 hollow scale 5 Fig 154 Aggiungere un p di dispersione de colore L immagine molto migliore ora Artificiosit dovute all aliasing si vedono appena I parametri che abbiamo usato ora sono discussi nel paragrafo sull atmosfera vedi L Atmosfera per maggiori dettagli 4 8 5 5 5 Aggiungere Turbolenza La principale differenza tra la polvere che ab
498. rgente non necessario per il funzionamento di POV Ray viene fornito per i curiosi e gli avventurosi povlha_s zip Il codice sorgente in C per Amiga Contiene parti generiche e parti specifiche per Amiga Non contiene le scene d esempio i file include e la documentazione pertanto necessario procurarsi anche gli archivi contenenti l eseguibile 2 3 4 SunOS Requisiti Hardware e Software Processore Sun SPARC ed almeno 4 megabyte di RAM Circa 6 megabyte di spazio disco per l installazione ed almeno 2 10 megabyte aggiuntivi per spazio di lavoro Un editor di testo capace di editare file ASCII Sistema operativo SunOS 4 1 3 oppure un altro sistema operativo capace di eseguire un binario di questo genere Solaris o Linux per SPARC File di POV Ray necessari povsunos tgz oppure povsunos tar gz archivio contenente un binario eseguibile ufficiale per le modalit solo testo o X Windows Contiene anche scene d esempio e file include pi la documentazione Hardware raccomandato 8 megabyte di RAM o pi Se si desidera visualizzare le immagini su monitor X Windows oppure un X Term Preferibilmente possibilit di video a 24 bit per quanto il codice per display sotto X funzioni con qualunque combinazione di risoluzione e colori Visore di file grafici capace di leggere i formati TGA PNG PPM Opzionale il codice sorgente non necessario per il funzionamento di POV Ray viene fornito per i curiosi e gli avventurosi
499. ri 7 1 5 Specificare i Colori 7 1 5 1 Vettori Colore 7 1 5 2 Parole Chiave 7 1 5 3 Identificatori di Colore 7 1 5 4 Operatori sul Colore 7 1 5 5 Comuni Tranelli sul Colore 7 1 6 Stringhe 7 1 6 1 Costanti Stringa 7 1 6 2 Identificatori di Stringa 7 1 7 Identificatori Incorporati 7 1 7 1 Costanti Numeriche Incorporate 7 1 7 2 Identificatore Clock 7 1 7 3 Identificatore Version 7 1 8 Funzioni 7 1 8 1 Funzioni Decimali 7 1 8 2 Funzioni Vettoriali 7 1 8 3 Funzioni Stringa 7 2 Istruzioni del Linguaggio 7 2 1 File Include 7 2 2 Dichiarazioni 7 2 2 1 Identificatori di Dichiarazione 7 2 3 Istruzione Predefinita 7 2 4 Istruzioni di Versione 7 2 5 Istruzioni Condizionali 7 2 5 1 Istruzioni IF ELSE 7 2 5 2 Istruzioni IFDEF 7 2 5 3 Istruzioni IFNDEF 7 2 5 4 Istruzioni SWITCH CASE e RANGE 7 2 5 5 Istruzione WHILE 7 2 6 Istruzioni Messaggio Utente 7 2 6 1 Flusso di Messaggi Testo 7 2 6 2 Formattazione del Testo 7 3 Il Sistema di Coordinate di POV Ray 7 3 1 Trasformazioni 7 3 1 1 Traslazioni 7 3 1 2 Ridimensionamento 7 3 1 3 Rotazioni 7 3 1 4 La Parola Chiave MATRIX 7 3 2 Ordine delle Trasformazioni 7 3 3 Identificatori di Trasformazione 7 3 4 Trasformare le Texture e gli Oggetti 7 4 Macchina Fotografica 7 4 1 Tipo di Proiezione 7 4 2 Messa a Fuoco 7 4 3 Perturbazione dei Raggi 7 4 4 Posizionare la Macchina Fotografica 7 4 4 1 Posizione e Mira 7 4 4 2 Il Vettore Sky 7 4 4 3 Il Vettore Direzione 7 4
500. ri di clock Solitamente si specifica il sottoinsieme usando il numero di fotogrammi utilizzato ma un alternativa pu essere di prendere un numero decimale compreso tra zero ed uno che viene interpretato come una frazione di tutta l animazione Per esempio Subset Start _ Frame 0 333 e Subset_End Frame 0 667 renderizzer il terzo centrale di un animazione indipendentemente dal numero di fotogrammi 6 2 1 4 Animazioni Cicliche Cyclic Animation bool Attiva disattiva l opzione di animazione ciclica on off KC Attiva l opzione di animazione ciclica KC Disattiva l opzione di animazione ciclica Molte sequenze animate realizzate con il computer sono congegnate per ripetersi lungo un anello Supponendo di avere un oggetto che debba ruotare esattamente 360 lungo l intero arco di un animazione e si sia scritto il comando rotate 360 clock y a questo scopo sia il primo che l ultimo fotogramma saranno identici quindi nell animazione ci sar un momento di salto Per eliminare questo inconveniente necessario aggiustare il clock cosicch l ultimo fotogramma non sia identico al primo ma in sequenza con esso Per esempio un animazione di 10 fotogrammi dovrebbe usare il clock da 0 0 a 1 0 ma in questo caso clock dovrebbe essere cambiato e variare da 0 0 a 0 9 con incrementi di 0 1 Se invece si cambia il clock in un animazione di 20 fotogrammi allora dovrebbe passare da 0 0 a 0 95 con incrementi di 0 05 Tutto questo complicato ancora d
501. ri fatali al rendering alle statistiche o ai messaggi di attenzione warning Per esempio l opzione 209 Statistic Console off o il parametro GS possono disabilitare i messaggi statistici Usando on 0 GS si possono attivare di nuovo si pu allo stesso modo attivare o disattivare tutti gli altri cinque tipi di messaggi utilizzando l opzione A11 Console o il parametro GA Queste opzioni hanno effetto immediato una volta specificate Ovviamente un messaggio di errore o di attenzione che si verificato prima del cambiamento dell impostazione non ne risulter variato 6 2 5 3 Dirigere l Output di Testo su File Debug File true Debug File false Debug File file GDfile GDfile Fatal Filestrue Fatal File false Fatal File file GFfile GFfile Render File true Render File false Render File file GRfile GRfile Statistic File ttue Statistic File false Statistic FErle ftile GSFile GSFile Warning File true Warning File false Warning File file invia il testo relativo alle informazioni di debug al file debug out disattiva il testo relativo ai messaggi di debug invia il testo relativo alle informazioni di debug a file sia Debug _Console 0On sia Debug _File file sia Debug Console 0ff sia Debug _File file invia il testo relativo alle informazioni di errori fatali al file fatal out disattiva il testo relativo ai
502. ri flussi pu essere anche usato dagli utenti per mostrare messaggi dall interno dei loro file di scena 247 FATAL Questo flusso mostra messaggi di errore inevitabile Dopo che comparso questo messaggio POV Ray termina Quando l errore un errore dell analisi della scena ti possono essere mostrate alcune linee di testo della scena che conducono fino all errore RENDER Questo flusso mostra l informazione relativa a quali opzioni hai specificato per operare il rendering della scena Include una panoramica su tutte le principali opzioni come il nome della scena la risoluzione le impostazioni dell animazione l anti aliasing ed altri STATISTICS Questo flusso mostra informazioni statistiche dopo che stato operato il rendering Include informazioni relative al numero di raggi tracciati il tempo trascorso per l operazione di rendering ed altre informazioni WARNING Questo flusso mostra i messaggi di avvertimento durante l analisi del file di scena ed altri avvertimenti Nonostante l avvertimento POV Ray pu continuare ad operare il rendering della scena I flussi BANNER e STATUS non sono accessibili all utente 7 2 6 2 Formattazione del Testo Alcune sequenze di testo sono disponibili per includere caratteri di controllo non stampabili nel testo Queste sequenze sono simili a quelle usate nelle costanti stringa nel linguaggio di programmazione C Nota che questi caratteri di controllo si applicano solo nelle istruzioni di messa
503. ri incorporati decimali on of f yes no true e false sono destinati all uso di costanti booleane Gli identificatori incorporati del vettore x y e z consentono una maggiore leggibilit del tuo file di scena quando sono usati in espressioni di vettore Per esempio plane y 1 Il vettore normale evidentemente y plane lt 0 1 0 gt 1 Questo pi difficile da leggere translate 5 x Muove 5 unit nella direzione translate lt 5 0 0 gt Questo meno ovvio w X Un espressione come 5 x equivale a 5 lt 1 0 0 gt o lt 5 0 0 gt Allo stesso modo per i vettori 2D si possono usare u e v Quando si usano dei vettori 4D questi dovrebbero chiamarsi x y z e t 7 1 7 2 Identificatore Clock L identificatore predefinito decimale clock usato per controllare le animazioni in POV Ray Diversamente da alcuni programmi di animazione le scene animate in POV Ray non dipendono dal numero intero del fotogramma Invece dovrai progettare le tue scene basandoti sull identificatore decimale clock Per scene non animate il suo valore per default pari a 0 ma possibile assegnargli qualsiasi valore decimale usando l opzione del file INI Clock n n o il parametro Kn n Altre opzioni e corrispondenti impostazioni dei file INI possono essere usate per animare automaticamente le scene attraverso il rendering di immagini successive che usano diversi valori di clock Per default il valore di cloc
504. ri pu essere applicata agli oggetti Trasformazioni come traslare ruotare e scalare sono gi state discusse Le modifiche apportabili alle texture sono spiegate in una sezione a s stante Qui vengono trattati altri tre importanti modificatori clipped by bounded by e no shadow Sebbene gli esempi che seguono useranno frasi generiche di descrizione degli oggetti e identificatori questi modificatori possono essere usati su ogni tipo di oggetto come sfere parallelepipedi ecc 7 5 7 1 Clipped_By La frase clipped by tecnicamente un modificatore di oggetti ma in realt ha una funzione simile all intersezione CSG Ad esempio object Coso clipped by plane y 0 Ogni parte dell oggetto Coso che all interno del piano tenuta mentre le restanti parti sono tagliate via clipped off In un intersezione CSG il foro sarebbe stato chiuso Con clipped by rimane aperto Per esempio la seguente figura mostra l oggetto A clipped_by l oggetto B 308 Figura 12 Effetto di clipped_by Il modificatore clipped by pu essere usato per ritagliare porzioni di un oggetto In molti casi risulter anche pi rapido nel rendering rispetto ad altri metodi di modifica di un oggetto come le operazioni di CSG Spesso vorrai usare i modificatori clipped by e bounded by con lo stesso oggetto Il seguente modo di scrivere risparmier tempo di battitura ed user meno memoria object Coso bounded by box lt 0 0 0 gt l
505. rmente casuale Aggiungendo un black hole creeremo un disturbo localizzato in una o pi posizioni Il buco nero pu avere l effetto sia di risucchiare la texture che lo circonda sia di respingerla Nel secondo caso se applicato ad un legno pu simulare i nodi delle venature In questo esempio parleremo di una texture legno perch l ideale per spiegare il funzionamento di black hole Ad ogni modo questa funzione pu essere usata in qualunque tipo di texture L effetto che il buco nero ha sulla texture pu essere specificato Per default risucchia il colore con una forza calcolata esponenzialmente inverso del quadrato esattamente come l attrazione gravitazionale ma pu essere cambiata I buchi neri possono essere usati ovunque sia permessa una frase warp La sintassi warp black hole lt CENTER gt RADIUS falloff VALUE strength VALUE repeat lt VECTOR gt turbulence lt VECTOR gt 365 inverse Alcuni esempi sono warp black hole lt 0 0 0 gt 0 5 warp black hole lt 0 15 0 125 0 gt 0 5 falloff 7 strength 1 0 repeat lt 1 25 1 25 0 gt turbulence lt 0 25 0 25 0 gt inverse warp black hole lt 0 0 0 gt 1 0 falloff 2 strength 2 inverse Per capire completamente come funziona black hole importante conoscerne le basi teoriche Un buco nero o qualunque warp funziona prendendo un punto e spostandolo in un altra posizione La q
506. rnet adilger enel ucalgary ca WWW http www mddsp enel ucalgary ca People adilger Joris van Drunen Littel beta tester per la versione Mac Alexander Enzmann programmatore di POV Ray 1 0 2 0 3 0 CIS 70323 2461 Internet xander mitre com Dan Farmer programmatore di POV Ray 1 0 2 0 3 0 CIS 74431 1075 Charles Fusner Tutorial per il manuale di POV Ray David Harr aiuto a vignetta per Mac e codice per la tavolozza Jimmy Hoeks File di Aiuto per l interfaccia di Windows Terry Kanakis Miglioramenti per la Macchina Fotografica Kari Juharvi Kivisalo codice per la nebbia rasoterra Adam Knight beta tester per la versione Mac sviluppatore della guida per Mac CIS 399 Lutz Kretzschmar codice per il display su IBM PC SS24 truecolor parte del codice per l anti aliasing CIS 100023 2006 Charles Marslett codice per il display su IBM PC Pascal Massimino Frattali Jim McElhiney programmatore di POV Ray 3 0 CIS Robert A Mickelsen manuale di POV Ray 3 0 internet email ram iu net compuserve 71042 751 web www websharx com kahuna Mike Miller Artista scene stones inc CIS 70353 100 Douglas Muir mappe bump height field Joel NewKirk versione per Amiga CIS 102627 1152 Jim Nitchals file scena versione Mac Paul Novak Texture Dave Park supporto per Amiga codice video AGA David Payne codice per Targa RLE Bill Pulver codice per il tempo co
507. ro disposto lungo il vettore right I raggi visivi per il tipo 4 sono perpendicolari al vettore right Si deve notare che i vettori up right e direction dovrebbero sempre rimanere perpendicolari l un l altro o l immagine risulterebbe distorta Se ci non avviene POV Ray visualizza un messaggio di avvertimento 7 4 4 5 1 Rapporto Altezza Larghezza I due vettori up e right definiscono insieme il rapporto tra altezza e larghezza dell immagine I valori di default che sono lt 0 1 0 gt per up e lt 1 33 0 0 gt per right risultano in un rapporto 4 3 tra altezza e larghezza che il rapporto tra le dimensioni tipico del monitor di un computer Se vuoi ottenere un immagine stretta e alta o una bassa larga e panoramica o perfettamente quadrata non hai che da agire su questi vettori per ottenere la proporzione appropriata La maggior parte delle modalit video e delle stampanti grafiche usano pixel perfettamente quadrati Per esempio le modalit video dei Macintosh ed anche quelli delle modalit SVGA 640x840 800x600 e 1024x768 dei personal computer IBM compatibili adottano pixel quadrati Quando il metodo di visualizzazione qualunque sia che adotti fa uso di pixel quadrati l altezza e la larghezza dell immagine che imposti con i parametri W e H dovrebbero essere nello stesso rapporto in cui sono right e up Non tutti i sistemi video usano pixel quadrati Per esempio la modalit IBM VGA a 320 200 pixel e il display dei computer
508. ropria Per esempio se usi adaptive 0 saranno tracciati un minimo di quattro raggi Se usi adaptive 1 saranno tracciati un minimo di nove raggi adaptive 2 dar 25 raggi adaptive 3 81 e cos via Ovviamente pi raggi sono tracciati pi il rendering sar lento E quindi consigliabile usare il valore pi basso che dia risultati accettabili Il numero di raggi non superer mai il valore che viene specificato per i punti che definiscono le righe e le colonne del rettangolo in cui contenuta l area light Per esempio area light X Y 4 4 specifica un insieme 4 per 4 di luci Se specifichi adaptive 3 allora dovrai iniziare con un insieme di 9 per 9 luci come minimo In questo caso non sar eseguito il campionamento adattivo e verr usato un insieme 4 per 4 7 5 6 5 Luci Senza Ombra Usando la parola chiave shadowless si impedisce alla sorgente luminosa di proiettare ombre 7 5 6 6 Looks_like Normalmente la sorgente luminosa invisibile La luce viene semplicemente irradiata da un punto o da un area invisibili Puoi assegnare ad una sorgente luminosa una qualunque forma aggiungendo una frase looks like oggetto Usando looks_ like implicitamente viene applicata all oggetto anche l istruzione no shadow per impedire che la luce sia coperta dall oggetto stesso Senza questo comando la luce dentro all oggetto non potrebbe illuminare la scena e l oggetto proietterebbe in effetti la propria ombra su tutto Se vuoi che l oggetto a
509. rsioni per Personal Computer IBM che funzionano sotto diversi sistemi operativi MS Dos Windows e Linux come descritto pi avanti 2 3 1 1 MS Dos La versione MS Dos gira sotto MS Dos o come un applicazione DOS sotto Windows 95 Windows NT Windows 3 1 o Windows for Workgroups 3 11 Gira anche sotto OS 2 ed OS 2 Warp Requisiti Hardware e Software Processore 386 o superiore e almeno 4 megabyte di RAM Circa 6 megabyte di spazio su disco per l installazione e 2 10 o pi megabyte aggiuntivi come spazio di lavoro Un editor di testo capace di manipolare file ASCII Il programma EDIT fornito con MS Dos va bene per file di dimensione limitata in dipendenza dalla RAM disponibile N d T Un programma per la visualizzazione di file immagine nei formati GIF e meglio ancora TGA e PNG File di POV Ray richiesti povmsdos exe un archivio auto estraente contenente il programma le scene di esempio 1 file include standard e la documentazione sotto forma di file di aiuto ipertestuale con visore Questo file si pu anche trovare diviso in pezzi pi piccoli per semplicit di downloading Controllare la directory del proprio sito FTP o della propria BBS per vedere se devono essere scaricati altri file Hardware raccomandato Processore Pentium o 486 o coprocessore matematico per 386 o 486 sx 4 megabyte di RAM o pi Video SVGA preferibilmente con interfaccia VESA e possibilit di mostrare immagini in high color o true color
510. rti le impostazioni che dobbiamo regolare nel file INI o nella linea di comando e quelle modifiche che dobbiamo apportare nei nostri file scena Se abbiamo gi lavorato con l animazione nelle precedenti versioni di POV Ray possiamo probabilmente saltare al paragrafo Impostazioni dei File ini Altrimenti iniziamo con i concetti elementari sull animazione Prima di arrivare a come attivare l anello interno di animazione internal animation loop vediamo un paio di esempi su come un paio di parole chiave possono far s che la nostra scena descriva il muoversi degli oggetti col tempo 4 10 6 1 La Variabile Clock la Chiave di Tutto POV Ray supporta una variabile decimale predefinita chiamata clock tutto a lettere minuscole Questa la chiave per automatizzare le animazioni Nelle operazioni a linea di comando la variabile clock viene impostata fornendo al programma il parametro k Per esempio il parametro k3 4 imposterebbe il valore di clock a 3 4 Allo stesso modo in un file INI la 177 presenza della linea Clock 3 4 darebbe lo stesso risultato Se non impostiamo il valore di clock e non usiamo il loop di animazione interno a POV Ray che verr descritto tra poco la variabile clock sempre definita come uguale a zero quindi possibile impostare un file scena pensato per l animazione e renderizzarlo come immagine ferma durante la fase di progettazione della scena L esempio pi semplice per usare questa variabile
511. rtificiosit svanisce ed ottenere cos un immagine soddisfacente Per quanto questo funzioni sempre una cattiva idea poich allunga molto i tempi di rendering Un approccio migliore usare prima il jittering e l anti aliasing Se nessuna di queste due funzioni aiuta dovrai aumentare il tasso di campionamento Il jittering sposta ogni punto di una quantit piccola e casuale lungo la direzione del campionamento Ci aiuta a ridurre le bande regolari che sono un risultato dell aliasing il che aiuta molto dato che l occhio umano molto pi sensibile alle bande regolari che non a un rumore disperso nell immagine Usa la parola chiave jitter seguita dalla quantit che desideri Valori ottimali sono numeri decimali minori di 0 5 dato che valori pi alti risultano in un immagine troppo disturbata Ricorda che il jittering non elimina le artificiosit introdotte da un tasso di campionamento troppo basso ma aiuta solo a renderle meno visibili Un altro migliore metodo di ridurre l aliasing di usare il sovracampionamento adattivo Questo metodo lancia raggi addizionali dove probabile che ce ne sia bisogno Se l intensit del colore tra due campioni adiacenti troppo diversa leggi la loro differenza al di sopra di un determinato 168 valore di soglia vengono tracciati campioni aggiuntivi in mezzo ai due precedenti Questo metodo eseguito ricorsivamente fino ad un determinato numero di iterazioni o fino a quando i valori
512. rva alle estremit Se ci sono n punti otterremo n 3 segmenti Ci significa che sono necessari almeno quattro punti per ottenere una curva I coefficienti A BY CO DO sono calcolati per ogni segmento per mezzo delle equazioni p Mix r j r j 1 2 FG G D rG D GG D AG 1 2 r 1 7G 2 rg lag 2 hQ hy h h j 1 Ag hG D kG 1 1 3 h j 2 h j l 0 3 hG D 2 hG 1 l 0 281 AQ B j CY D J dove r j il raggio ed h j l altezza del punto P j La figura sotto mostra la configurazione dei punti P i la posizione del segmento j e la curva definita da questo segmento x 8 0 XP l 4 4 X 6 0 wp i kis Pi E wr A o N 40 pe P g Segmento j i lt i R P 2 0 oO tae Sa xP iP 0 0 i sO RG i 4 0 2 0 0 0 2 0 4 0 Raggio r Fig 204 J esimo segmento di un gruppo di n 3 segmenti in una configurazione composta da n punti Il punto descrive la curva di una superficie dii rotazione 7 5 2 12 Testo L oggetto testo permette di creare del testo tridimensionale Al momento possibile usare solamente caratteri True Type ma l impostazione della sintassi permette che in futuro possano essere aggiunti altri tipi La sintassi text ttf NOMEFONT TTE 282 STRINGA DI TESTO SPESSORE VETTORE OFFSET Dove nomefont ttf indica il nome del file di caratteri true type E una stringa composta da lettere o espressioni L espressione che segue
513. s v val variance vaxis rotate vcross vdot version vlength vnormalize volume object volume rendered vol with light vrotate v_steps warning warp water level waves while width wood wrinkles 424 declare default else fend error if ifdef ifndef include max intersections max trace level range render statistics switch version warning while 425 Manuale di Utilizzo di POV Ray Traduzione Italiana Il Gruppo di Lavoro POV IT Coord progetto ottimizzazione impaginazione versione POSTSCRIPT immagini Dario Agosta Firenze agosta freemail it Conversione impaginazione versione HTML immagini Laura Nutini Firenze nutini freemail it Traduzione a cura di in ordine alfabetico Dario Agosta Firenze agosta freemail it capitoli 1 4 10 6 5 7 5 1 1 7 5 5 7 e 7 6 4 5 1 7 8 9 3 pi appendici Laura Nutini Firenze nutini freemail it capitoli 6 6 2 5 4 7 5 6 7 6 4 3 4 7 5 1 1 7 5 5 7 7 6 4 5 1 7 8 9 3 pi appendici Ha partecipato alla traduzione Gaetano Forte Roma md5304 mclink it capitoli 7 7 4 3 Hanno inoltre collaborato alla traduzione Luca Ibba Firenze l ibba agora stm it capitoli 7 4 4 7 5 2 7 Filippo Vitale Bologna filippo joy it capitoli 7 6 4 4 7 6 5 Nota di copyright alla Traduzione Italiana versione 3 01 1 IT Questa nota di copyright non deve essere in alcun modo alterata o
514. scoperti nel XIX secolo Tra le due l algebra dei quaternioni molto pi nota ma si potrebbe obiettare che gli ipercomplessi sono pi utili per i nostri scopi dato che le funzioni di valori complessi come seno coseno ecc possono essere estese ai numeri ipercomplessi in maniera uniforme Per i curiosi le propriet algebriche di queste due algebre possono essere derivate dalle propriet della moltiplicazione dei vettori che formano la base canonica dello spazio a quattro dimensioni 1 lt 1 0 0 0 gt i lt 0 1 0 0 gt j lt 0 0 1 0 gt e A lt 0 0 0 1 gt In entrambe le algebre per ogni x vale che 1 x x 1 x dove 1 l elemento neutro rispetto alla moltiplicazione I vettori base 1 ed i si comportano esattamente come i familiari numeri complessi 1 ed in entrambe le algebre Le regole di moltiplicazione dei vettori della base nell algebra dei quaternioni sono le seguenti ij k jk 1 ki j ji k kj i ik j ii jj kk 1 ijk 1 Le regole di moltiplicazione degli stessi vettori nell algebra degli ipercomplessi sono ij k jk i ki j ji k kj i ik j ii jj kk 1 ijk 1 Per aumentare la velocit di calcolo quando viene usata l algebra dei quaternioni si usa una stima della distanza La prova del corretto funzionamento di questa stima della distanza quando la formula generalizzata da due a quattro dimensioni non c ma la formula sembra comunque funzionare bene nonostante la
515. scun pixel ed aggiunge questo punto al tempo totale di rendering per ogni blocco della griglia Quando il rendering completo l istogramma un file che rappresenta quanto tempo stato impiegato per calcolare i pixel in ogni blocco della griglia Non tutte le versioni di POV Ray permettono la creazione di istogrammi Il formato del file di output per l istogramma dipende dal tipo di file e dal sistema su cui POV Ray viene eseguito 6 2 2 4 1 Tipo di File My Imposta il formato del file dell istogramma se il formato x non Hi T SARRI A viene creato il file di output dell istogramma HTx Lo stesso di Histogram Type x Il formato del file di output dell istogramma quasi sempre lo stesso di quello usato per l output dell immagine vedi Tipo di File di Output I formati disponibili sono HTC CSV valori numerici separati da virgole usato spesso nei fogli di calcolo HTN PNG a toni di grigio HTP PPM di Unix HTS Specifici del sistema come Pict per Macintosh o BMP per Windows HTT Targa 24 bit non compresso TGA HTX Non viene creato un file di output dell istogramma Il parametro HTC non genera un file in formato Targa non compresso ma un file di testo formato da una lista separata da virgole che specifica il tempo impiegato per ogni blocco della griglia ordinata da sinistra a destra e dall alto verso il basso Le unit di tempo del file di output in formato 200 CSV sono dipendenti
516. se z X 2 Y 2 Z 2 0 cono infinito lungo l asse z Il modo pi semplice di usare questi oggetti quello di includere il file shapes ine nella tua scena Questo file contiene alcune quadriche predefinite che possibile posizionare ruotare ridimensionare all interno della scena E possibile richiamarle usando la seguente sintassi object Nome della Quadrica Queste quadriche predefinite sono centrate nell origine ed hanno raggio unitario Non confondete il raggio con la larghezza dell oggetto Il raggio la met del diametro o larghezza quindi le normali quadriche sono ampie due unit Alcune delle quadriche predefinite sono Ellipsoid Cylinder X Cylinder Y Cylinder Z QCone X QCone Y QCone Z Paraboloid X Paraboloid Y Paraboloid Z Per una lista completa vedere il file shapes inc 7 5 5 Geometria Solida Costruttiva POV Ray include le operazioni di Geometria solida Costruttiva Queste operazioni sono differenza intersezione unione fusione e inverso Mentre le prime quattro operazioni sono binarie in altre parole hanno bisogno di due argomenti l inverso un operazione unaria necessita di un solo argomento 7 5 5 1 La CSG La geometria solida costruttiva una tecnica per combinare due o pi oggetti per creare un nuovo oggetto usando 1 tre operatori booleani unione intersezione e negazione Queste operazioni funzionano solo su oggetti solidi cio oggetti che hanno la parte inter
517. separati da virgole e racchiusi in parentesi angolate Aggiungiamo pertanto la seguente frase camera alla scena camera location lt 0 2 3 gt 36 look at lt 0 1 2 gt In breve Location lt 0 2 3 gt posiziona la macchina fotografica due unit in alto e tre unit indietro rispetto al centro dell universo che si trova a lt 0 0 0 gt Per convenzione la direzione z rivolta all interno dello schermo e la direzione z punta fuori dallo schermo L istruzione look at lt 0 1 2 gt ruotala macchina fotografica in modo che punti verso il punto di coordinate lt 0 1 2 gt Un punto 5 unit davanti ed 1 unit sotto la macchina fotografica Il punto look at dovrebbe essere il centro di attenzione della nostra immagine 4 1 4 Descrivere un Oggetto Ora che abbiamo piazzato una macchina fotografica per osservare la scena mettiamo una sfera gialla nella scena Aggiungiamo il seguente testo al nostro file sphere lt 0 1 2 gt 2 texture pigment color Yellow Il primo vettore specifica il centro della sfera In questo esempio la coordinata x zero cos che la sfera risulti centrata a sinistra ed a destra Si trova anche a y 1 ovvero un unit in alto rispetto all origine La coordinata z 2 che significa 5 unit davanti alla macchina fotografica che si trova a z 3 Dopo il vettore che indica il centro della sfera si ha una virgola seguita dal raggio che in questo caso 2 Dato ch
518. sere usati con la macchina fotografica I tipi pi comuni sono la proiezione prospettica e le proiezioni ortogonali Proiezione prospettica Questa proiezione simula la classica macchina fotografica e riproduce il normale effetto di prospettiva L angolo orizzontale di osservazione determinato dal rapporto tra la lunghezza del vettore direzione e la lunghezza del vettore right o dalla parola chiave opzionale angle che rappresenta la scelta normalmente utilizzata L angolo di ampiezza dell osservazione deve avere un apertura compresa tra 0 e 180 gradi Vedi la figura sotto per la geometria della macchina fotografica prospettica UD alto piano dell immagine look_at direzione right posizione destra Figura 197 Proiezione Prospettica Proiezione ortogonale Questa proiezione usa raggi di proiezione paralleli per creare un immagine della scena La dimensione dell immagine determinata dalle lunghezze del vettore di destra e di quello rivolto verso l alto Se aggiungi la parola chiave orthographic dopo tutti gli altri parametri di una macchina fotografica prospettica otterrai una vista ortogonale con la stessa area la dimensione dell immagine sar cio la stessa In questo caso non necessario specificare la lunghezza del vettore di destra e di quello rivolto in alto right ed up perch essi saranno calcolati automaticamente Bisogna comunque essere consapevoli del fatto che le parti visibili della scena cambiano q
519. si vedr 379 come minimo il 30 dello sfondo Terzo pu essere usata per creare una nebbia filtrante Con una quantit di filtro maggiore di zero la luce dello sfondo sar determinata moltiplicando il valore del filtro per il colore dello sfondo Un filtro di 0 7 produrr una nebbia che filtrer il 70 dello sfondo La nebbia pu essere stratificata Si possono usare tanti strati quanti se ne desiderano Generalmente l effetto migliore si ha quando ogni strato uno strato di nebbia raso terra di un colore diverso con altezza e turbolenza diversa Per usare molti strati di nebbia basta aggiungerli alla scena possibile anche creare una nebbia pi mossa aggiungendole della turbolenza La parola chiave turbulence deve essere seguita da un decimale o da un vettore per specificare la quantit di turbolenza da usare Si possono specificare anche i parametri omega lambda e le ottave Vedere il paragrafo Modificatori di Pattern per maggiori informazioni su questi parametri relativi alla turbolenza In pi la turbolenza della nebbia pu essere scalata lungo la direzione del raggio visivo usando la parola chiave turb depth Valori ottimali possono variare tra 0 0 e 1 0 Il valore predefinito 0 5 ma possibile usare qualunque valore decimale La nebbia non funzioner se la camera dentro ad un oggetto non vuoto Vedere il paragrafo Oggetti Vuoti ed Oggetti Solidi per spiegazioni pi approfondite 7 7 4 Sfera Celeste La s
520. sioni di turbolenza casuale Ciascuno di questi parametri viene discusso di seguito Centro un vettore che definisce il centro della sfera che rappresenta il buco nero Raggio un numero che indica la lunghezza in unit del raggio della sfera Se un punto non all interno del raggio non sar influenzato dalla presenza del buco nero Falloff la potenza di decadimento dell effetto Il valore predefinito 2 La forza del punto nero in un punto qualunque prima di applicare il modificatore della forza come segue Primo converti la distanza dal centro ad un valore da 0 a 1 proporzionale al raggio Un punto sulla superficie della sfera avr valore 0 un punto al centro avr valore 1 Chiamiamo questo valore c ed eleviamolo alla potenza specificata da falloff Per default falloff 2 quindi otteniamo c 2 c al quadrato Il valore che otteniamo la forza del buco nero in quella posizione che dopo aver applicato il fattore strenght determina la perturbazione del punto nello spazio Ad esempio se c 0 5 la forza 0 5Y2 0 25 Se c 0 25 la forza 0 125 Ma se c esattamente uguale ad 1 la forza 1 Usando la potenza di 2 possiamo vedere che via via che c diminuisce la forza cala in modo esponenziale con un decadimento geometrico secondo la potenza di 2 In parole povere la forza molto pi forte vicino al centro di quanto non lo sia verso l esterno Aumentando falloff si pu aumentare questa differenza Un valore alto significa
521. sit sono calcolate rispetto al centro del sistema di assi non vedremmo nulla se iniziassimo con un oggetto contenitore che si trovasse da qualunque altra parte Il metodo corretto di posizionare un oggetto contenitore spostare tutto l oggetto dopo averlo definito comprese texture e halo Ora abbiamo per la distanza dal centro un valore compreso tra 0 ed 1 Questo valore verr trasformato usando una funzione densit per ottenere valori di densit invece che valori di distanza Usare questo singolo valore non funziona perch vogliamo avere una distribuzione della densit delle particelle che diminuisca man mano che ci allontaniamo dal centro dell oggetto contenitore verso l esterno Ci avviene grazie alla funzione densit Ci sono diverse alternative disponibili nel paragrafo di riferimento sulle halo vedi 7 6 4 e Funzione Densit Usiamo la pi semplice funzione lineare che mappa i valori tra 0 ed 1 in un raggio di valori tra 1 e 0 Quindi otteniamo una 116 densit di 1 al centro della sfera e di 0 ad una distanza dal centro uguale al raggio Ora che abbiamo una funzione densit cosa dobbiamo fare per vedere qualcosa Qui entra in gioco la parola chiave colour map Viene usata per descrivere una mappatura di colore che in effetti dice al programma quali colori vengono usati in corrispondenza di una certa densit La relazione semplice i colori all inizio della mappa di colore con valori bassi saranno usati nelle zo
522. slazione una rotazione un ridimensionamento o una trasformazione matriciale prima di avere applicato una texture questa non verr modificata Se la trasformazione stata operata dopo l applicazione della texture allora quest ultima seguir le modifiche dell oggetto Se la trasformazione interna all istruzione di texture texture allora solo la texture ne sar soggetta La forma rimane la stessa Per esempio sphere 0 1 texture Jade identificatore di texture da TEXTURES INC scale 3 questo ridimensionamento applicato sia alla sfera che alla texture sphere 0 1 scale 3 questo ridimensionamento applicato solo alla sfera texture Jade sphere 0 1 texture Jade scale 3 Questo ridimensionamento applicato solo alla texture Le trasformazioni possono essere anche applicate indipendentemente a un pattern di pigmenti o di normali Nota che il ridimensionare un pattern di normali influisce solo sull ampiezza e sulla 252 spaziatura Non vengono ridimensionate l altezza apparente o la profondit dei rilievi Bumps Per esempio box x0 0 0 gt lt l ip 1 gt texture pigment checker Red White scale 0 25 Questo influenza solo il colore del pattern normal bumps 0 3 Questo specifica l altezza apparente dei rilievi scale 0 2 ridimensiona il diametro e lo spazio tra i rilievi ma non l altezza Non ha effetto sul colore di pattern rot
523. soglia prestabilito allora entrambi i pixel sono sovracampionati I valori rgb variano tra 0 0 e 1 0 cos la pi grande differenza possibile tra due pixel 3 0 Se la soglia dell anti aliasing 0 0 ogni pixel sovracampionato Se 3 0 non ci sar anti aliasing Soglie pi basse significano pi anti aliasing e minore velocit di rendering Usa l anti aliasing per la versione finale e non per le prove Grandi contrasti nella figura possono essere risolti con grandi valori di tolleranza I valori ottimali potrebbero essere intorno a 0 2 0 4 Quando si usa il metodo non adattivo il numero predefinito di sovracampionamenti 9 per pixel collocati in una griglia 3x3 L opzione Antialias Depth n o il parametro Rn controllano il numero di righe e colonne di parti prese per il super sampling Per esempio R4 dar 4x4 16 campioni per pixel Il secondo metodo inizia proiettando quattro raggi agli angoli di ogni pixel Se il colore risultante differir di molto dal valore di soglia allora saranno lanciati altri raggi Questo sar fatto ricorsivamente il pixel rester diviso in quattro sotto pixel che saranno separatamente analizzati nei seguenti passaggi Il vantaggio di questo metodo che riduce il numero di raggi che devono essere tracciati I campioni che stanno nei pixel e nei sotto pixel sono immagazzinati e riutilizzati dove conveniente per evitare di dover ritracciare alcuni raggi La ricorsivit di questo metodo lo rende adattivo
524. ssere sempre minore del corrispondente elemento del vettore lt VERTICE2 gt Se un valore di lt VERTICE1 gt maggiore del corrispondente valore di lt VERTICE2 gt il parallelepipedo non apparir nella scena I parallelepipedi sono calcolati velocemente da POV Ray e possono quindi essere usati efficacemente come solidi delimitanti bounding shapes 7 5 2 3 Cono Un cono di altezza finita o un tronco di cono un cono con la punta tagliata pu essere definito cos cone lt CENTRO BASE gt RAGGIO BASE lt CENTRO PUNTA gt RAGGIO PUNTA open AON _ _ centro raggio superiore superiore raggio inferiore centro inferiore Fig 199 Tronco di cono Dove lt CENTRO BASE gt e lt CENTRO_PUNTA gt sono vettori che definiscono le coordinate x y e z del centro della base e del centro della punta del cono e RAGGIO BASE e RAGGIO PUNTA sono valori decimali per i corrispondenti raggi Normalmente le estremit del cono sono chiuse da piani paralleli fra loro e perpendicolari all asse 267 del cono Aggiungendo la parola chiave open facoltativa dopo lt RAGGIO PUNTA gt si rimuoveranno questi piani dando un tubo conico dalla forma di un megafono 7 5 2 4 Cilindro Un cilindro di altezza finita chiuso alle estremit da facce parallele pu essere definito cos cylinder lt CENTRO BASE INF gt lt CENRO BASE SUP gt RAGGIO open centro superiore raggio centro inferiore Fig 200
525. ssono essere combinati per ottenerne uno nuovo mediante interpolazione Ad essere riutilizzati saranno sempre gli n punti geometricamente pi vicini Se il valore assegnato anearest count diventa pi piccolo di 4 i risultati possono diventare piuttosto irregolari ma pu essere buono per la correzione della scena Questo valore non deve comunque superare 10 che la dimensione del vettore allocato Il valore predefinito 6 7 8 9 2 9 radiosity_quality Questa funzione non ancora stata implementata 7 8 9 2 10 recursion_limit Questo valore determina quanti livelli di ricursione devono essere usati per calcolare la radiosity I valori validi sono 1 e 2 Il valore predefinito 1 7 8 9 3 Suggerimenti sulla Radiosity Se vuoi vedere dove sono calcolati i valori di radiosity imposta a 20 radiosity count ad 1 radiosity nearest count e radiosity gray a0 Ci render le zone in cui viene calcolata la radiosity simili a chiazze di colore Bene i calcoli di radiosity vengono eseguiti al centro della maggior parte delle chiazze In pi questa prova veloce da eseguire Inoltre per vedere come l immagine ne risulta influenzata pui provare a cambiare i valori di radiosity error bound diradiosity reuse dist minedi radiosity reuse _dist_ max Un modo per ottenere risultati estremamente sfumati aumentare il numero di campioni siamo arrivati a 1300 e ridurre Low_error_factor a qualcosa di piccolo come 0 6 Aumentare reuse count a 7 od
526. stance usata per determinare la densit delle particelle nell atmosfera Questa densit costante nell intera atmosfera e il parametro distance funzioner allo stesso modo visto per la nebbia Con la parola chiave scattering possibile modificare la quantit di luce che dispersa dall atmosfera aumentandone o diminuendone la luminosit Valori pi piccoli di dispersione diminuiranno la luminosit mentre valori pi alti l aumenteranno La parola chiave color o colour pu essere usata per creare atmosfere colorate cio pu essere usata per creare particelle che filtreranno la luce che le attraversa Il colore predefinito nero La luce che passa attraverso l atmosfera sia proveniente dalle sorgenti luminose sia dallo sfondo filtrata dal colore dell atmosfera se il colore specificato ha un valore diverso da zero In altre parole la quantit di luce che filtrata dall atmosfera data dal valore che stato assegnato al filtro nello stesso modo in cui si comporta la nebbia Usando un colore rgbf lt 1 0 0 0 25 gt si 377 otterr un atmosfera rossastra perch il 25 della luce che passa attraverso l atmosfera sar filtrato dal colore dell atmosfera cio rgb lt 1 0 O gt rosso Il canale di trasmittanza del colore dell atmosfera utilizzato per specificare una quantit minima di trasparenza Se viene usato un valore maggiore di zero sar sempre possibile vedere una percentuale di sfondo relativa al valore
527. stema di coordinate sinistrorso perch puoi usare la mano sinistra per ricordare dove si trovano gli assi Disponi la mano sinistra con il palmo rivolto verso destra Punta il pollice in alto l indice davanti a te e piega le altre dita verso destra queste puntano verso la direzione x il pollice punta nella direzione y e l indice nella direzione z Per utilizzare un sistema di coordinate destrorso diffuso in alcuni programmi di CAD e altri programmi di raytracing puoi ottenere lo stesso riferimento utilizzando la mano destra Il pollice ancora puntato in alto Nella direzione y l indice punta ancora verso la direzione z ma le altre dita adesso indicano che la posizione x a sinistra Ci vuol dire che il lato destro dello schermo adesso nella direzione x Per dire a POV Ray di comportarsi in questo modo potete usare un valore negativo nella componente x del vettore right come in questo esempio right lt 1 33 0 0 gt Poich avere le coordinate x che crescono verso sinistra non ha molto senso su uno schermo a due dimensioni adesso ruota tutto il sistema di 180 usando un valore positivo nella componente z del vettore location della tua macchina fotografica Dovresti ottenere qualcosa di questo genere camera location lt 0 0 10 gt up lt 0 1 0 gt right lt 1 33 0 0 gt look at lt 0 0 0 gt Adesso quando esegui i tuoi esercizi di aerobica per raytracing come spiegato nella sezione Capire il Sist
528. stics 9 112 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 1 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 4 8 4 7 Iridescenza L iridescenza ci che vediamo su una bolla
529. sto tende a semplificare la possibilit di tenere tutti i file di bump map in una sottodirectory separata e quindi specificare un percorso per essa Per alcuni sistemi operativi il file non viene cercato nei percorsi predefiniti a meno che tu non specifichi questi percorsi come Library Path Labump map viene mappata sul piano x y I rilievi vengono proiettati sull oggetto come se ci fosse un proiettore sull asse z Il rilievo copre interamente l area quadrata compresa tra le coordinate lt 0 0 gt e lt 1 1 gt senza tenere conto delle dimensioni originarie dell immagine Se vuoi cambiare questo valore predefinito puoi traslare ruotare o scalare le normali o le texture per mapparle sulla superficie dell oggetto come pi ti aggrada Il nome del file opzionalmente seguito da uno o pi modificatori dell immagine I modificatori bump_size use coloreuse index sono specifici delle bump_map e saranno discusse nei paragrafi seguenti Vedi il paragrafo Modificatori di Immagine per altri modificatori Dopo una frase bump_map ma sempre all interno delle frasi del blocco normal possibile applicare qualunque modificatore delle normali eccetto slope map e i pattern a forma d onda 7 6 2 3 2 Il Parametro Bump_Size L ampiezza dei rilievi pu essere scalata usando il modificatore bump size Il numero che segue questo modificatore pu essere un qualunque numero diverso da zero Valori tipici variano tra 0 1 e 4 005 0 normal bump map gi
530. stope map normal map o wave shape Tutti gli altri tipi di motivi possono invece utilizzarli 7 6 2 1 Mappe Slope Slope map un modificatore dei motivi delle normali che ti da una grande possibilit di controllo riguardo all esatta forma delle irregolarit della superficie E meglio illustrato con delle normali a gradiente Supponi di avere plane z 0 pigment White normal gradient x Questo d un motivo a dente di sega che ricorda delle piccole creste che salgono dal punto di ascissa 0 al punto di ascissa 1 e poi cadono bruscamente di nuovo a zero per ricominciare a salire dal punto di ascissa 1 al punto di ascissa 2 Una slope map modifica questo motivo a dente di sega in quasi ogni forma d onda desiderabile La sintassi la seguente normal TIPO DI PATTERN Valore Ss Lope map NUM 1 POINT SLOPE 1 NUM 2 POINT SLOPE 2 NUM 3 POINT SLOPE 3 321 MODIFICATORI E da notare che le parentesi quadre sono parti integranti della frase Non sono simboli che denotano parti facoltative Le parentesi delimitano ogni singolo componente della mappa Ci possono essere da 2 a 256 componenti I vari NUM_1 NUM 2 sono valori decimali compresi tra 0 0 ed 1 0 inclusi POINT SLOPE 1 e POINT SLOPE 2 sono vettori a due componenti come lt 0 1 gt dove il primo valore rappresenta l altezza apparente dell onda e il secondo valore rappresenta la pendenza dell onda in quel punto L altezza
531. stra come buona parte della nostra percezione dipenda molto dalle propriet di riflessione della luce di un oggetto Il raytracing pu aumentare questo effetto facendo degli scherzi alla nostra percezione e facendoci vedere dei complessi dettagli che in realt non esistono Supponiamo di volere una superficie molto irregolare per il nostro oggetto Sarebbe molto difficoltoso modellare matematicamente centinaia di asperit sulla superficie Possiamo comunque simulare l aspetto di queste asperit modificando il modo in cui la luce si riflette sulla superficie dell oggetto I calcoli sulla riflessione dipendono da un vettore che viene chiamato normale alla superficie Questo un vettore che si alza perpendicolarmente alla superficie e che le perpendicolare Modificando artificialmente o perturbando questo vettore noi possiamo simulare le asperit Modifichiamo la scena come segue e la renderizziamo sphere lt 0 1 2 gt 2 texture pigment color Yellow normal bumps 0 4 scale 0 2 finish phong 1 76 Fig 88 Rugosit Questo fa usare a POV Ray un pattern di asperit per modificare la normale alla superficie Il valore 0 4 controlla la profondit apparente delle asperit Normalmente le asperit sono larghe circa un unit il che non funziona molto bene con una sfera di raggio 2 come la nostra per cui l istruzione scale restringe ad 1 5 le asperit ma non modifica la loro profondit 4 7 3 Creare Pattern
532. stremit usando la parola chiave open In questo caso si dovrebbe evitare di utilizzare il prisma in oggetti CSG in quanto il risultato potrebbe non corrispondere alle aspettative L esempio seguente crea un semplice prisma che assomiglia ad una fetta di torta prism linear sweep linear spline 14 Lg SN 1 0 gt lt 1 0 gt lt 0 5 gt lt 1 0 gt igment Red ABO Per una dettagliata spiegazione del concetto di spline leggi la descrizione dell oggetto lathe vedi il paragrafo Oggetti Torniti Il metodo di risoluzione di Sturm pi lento ma pi accurato pu essere utilizzato solo con i prismi a spline cubica nel caso in cui l oggetto non venga renderizzato correttamente I prismi a spline lineare e quadratica non hanno bisogno di questo metodo 7 5 2 9 Sfera La sintassi dell oggetto sfera la seguente sphere lt CENTRO gt RAGGIO 278 centro Figura 203 La geometria della sfera dove lt CENTRO gt un vettore che specifica le coordinate x y z del centro della sfera e RAGGIO un valore decimale che specifica il raggio Le sfere possono essere ridimensionate in maniera non uniforme lungo i tre assi dando oggetti ellissoidali Dato che le sfere sono oggetti molto ottimizzati possono costituire ottimi oggetti delimitanti se il bounding manuale necessario 7 5 2 10 Superellissoidi L ellissoide superquadrico o superellissoide un estensione dell ellissoide quadrico P
533. su una superficie le leggi della fisica dicono che dovrebbe lasciare la superficie con lo stesso angolo col quale l ha raggiunta angolo di incidenza Questo abbastanza simile a quello che succede quando una palla da biliardo colpisce una sponda del tavolo esattamente uguale N d T Questa riflessione perfetta chiamata riflessione speculare Comunque solo superfici molto lisce riflettono in questo modo La maggior parte delle volte la luce viene riflessa e dispersa in tutte le direzioni dalle microscopiche asperit della superficie Questa dispersione chiamata riflessione diffusa perch la luce si diffonde in molte direzioni E responsabile della maggior parte della luce riflessa che vediamo POV Ray e molti altri programmi di raytracing possono solo simulare uno di questi tre tipi di illuminazione l illuminazione diretta data dalla luce proveniente da sorgenti luminose la luce proveniente da altri oggetti come gli specchi a causa della riflessione speculare ed infine la luce proveniente da altri oggetti a causa della riflessione diffusa ad esempio guardando in un angolo sotto al tavolo non illuminato direttamente comunque possibile vedere qualcosa perch la luce proviene dalla riflessione diffusa degli oggetti vicini 7 6 3 2 1 Luce Diffusa La parola chiave dif fuse usata in una frase riguardante le finiture per controllare quanta parte della luce che proviene direttamente da una sorgente luminosa riflessa grazie all
534. t ad esempio ai contorni di un ombra L anti aliasing viene attivato dalla parola chiave aa level Se il valore assegnatole maggiore di zero verr usato il sovracampionamento I campioni aggiuntivi saranno posizionati ricorsivamente tra due campioni che presentano valori molto diversi Il livello a cui cessa quest iterazione viene specificato dalla parola chiave aa level Un valore di 1 significa una suddivisione un campione supplementare 2 significa due suddivisioni fino a tre campioni supplementari ecc la soglia per la differenza tra due campioni adiacenti data dalla parola chiave aa_ threshold Se la differenza di intensit maggiore di questa soglia verr usato l anti aliasing per i due campioni Con gli spot si potranno ottenere i migliori risultati poich il loro cono di luce diventer visibile Le luci puntiformi possono essere usate per creare effetti come lampioni nella nebbia Si pu evitare che le luci interagiscano con l atmosfera aggiungendo il comando atmosphere off alla sorgente luminosa Le luci che non interagiscono con la scena possono essere usate per aumentare il livello di luce complessivo per rendere il risultato maggiormente realistico L atmosfera non funzioner se la macchina fotografica si trova all interno di un oggetto non vuoto vedi il paragrafo Oggetti Vuoti e Oggetti Solidi 7 7 2 Sfondo E possibile specificare un colore per lo sfondo Tutti i raggi che non colpiranno oggetti verranno color
535. t 0 5 0 1 0 1 gt fog type 2 fog offset 15 fog alt 4 turbulence turb depth oe NIN fog distance 150 colour rgb lt 0 1 0 1 0 6 gt fog type 2 fog_offset 10 fog alt 2 Fig 183 Pi strati di nebbia Puoi combinare insieme nebbie a densit costante nebbie raso terra nebbie filtranti nebbie non filtranti ecc 4 10 3 7 Nebbia e Oggetti Vuoti Tutte le volte che usi la nebbia e la macchina fotografica dentro ad un oggetto non vuoto non otterrai alcun effetto Per una spiegazione dettagliata del perch ci accade vedi il paragrafo Oggetti Vuoti e Oggetti Solidi Per evitare questo problema devi rendere tutti questi oggetti vuoti assicurandoti che la macchina 165 fotografica si trovi al loro esterno usando la parola chiave inverse o aggiungendogli la parola chiave hollow che molto pi semplice 4 10 4 L Atmosfera Nota Bene la funzione atmosfera in POV Ray in qualche modo ancora allo stato sperimentale Ci sono buone probabilit che sintassi ed implementazione della funzione cambieranno nelle future versioni Non possiamo garantire che scene create con POV Ray 3 0 verranno renderizzate allo stesso modo in versioni successive n la piena compatibilit all indietro del linguaggio La funzione atmosphere pu essere usata per modellare l interazione della luce con le particelle sospese nell aria I raggi di luce diventeranno visibili e gli oggetti proietteranno le loro ombre n
536. t 1 1 1 gt e farlo variare tra lt 0 0 0 gt e lt 1 1 1 gt Cos viene evitata la ripetizione della sfumatura di colore per le parti che si trovano sotto l orizzonte Per movimentare facilmente la sfera celeste possibile utilizzare le solite operazioni di trasformazione descritte nel paragrafo Trasformazioni E possibile usare solo una sfera celeste per volta e non tutto funzioner correttamente anche se si utilizzeranno la camera ortografica o cilindrica La camera ortografica usa raggi paralleli e quindi permette di vedere una parte molto piccola della sfera celeste nella maggior parte dei casi si otterr un cielo di un unico colore Funzionano le riflessioni sulle superfici curve cio si potranno chiaramente vedere i riflessi specchiati del cielo su una sfera 7 7 5 Arcobaleno E possibile generare arcobaleni usando archi circolari simili alla nebbia La sintassi completa rainbow direction lt DIREZIONE gt angle ANGOLO width LUNGHEZZA distance DISTANZA color map MAPPA DEI COLORI jitter JITTER up lt UP gt are angle ANGOLO DELL ARCO falloff angle ANGOLO DI DECADIMENTO Il vettore direction determina la direzione della luce virtuale che causa l arcobaleno Idealmente questa una sorgente luminosa infinitamente lontana che emette raggi di luce paralleli come il sole La posizione e la dimensione dell arcobaleno sono specificate dalle parole chiave angle e width Per capi
537. t 1 1 1 gt clipped by bounded by Queste righe dicono a POV Ray di usare lo stesso parallelepipedo per entrambi i comandi clipped by e bounded by 7 5 7 2 Bounded_By I calcoli necessari per determinare se un raggio colpisce un oggetto possono impiegare molto tempo Ogni raggio deve essere provato su ogni oggetto nella scena POV Ray cerca di aumentare la velocit del processo costruendo un insieme di scatole invisibili chiamate bounding boxes che racchiudono gli oggetti In questo modo un raggio che attraversa una parte della scena non deve essere provato di nuovo su oggetti che si trovano in un altra parte lontana della scena Quando un gran numero di oggetti presente le scatole sono molto vicine le une alle altre POV Ray pu usare bounding boxes su ogni oggetto finito ed anche su quadriche Comunque agli oggetti infiniti come piani quartiche cubiche e polinomiali non pu essere applicato il bounding automaticamente Il bounding viene applicato automaticamente agli oggetti CSG solo se contengono oggetti finiti ma in alcuni casi anche se contengono oggetti infiniti Ci funziona applicando l insieme delle operazioni CSG alle bounding boxes per tutti gli oggetti compresi nell oggetto CSG Per le operazioni di differenza ed intersezione questo difficilmente porter ad un bounding ottimale Qualche volta in relazione alla complessit dell oggetto CSG potr essere meglio utilizzare la frase bounded by su quegli ogg
538. ta in una distribuzione delle particelle che fa sembrare che ci sia una specie di flusso nella halo ed in dipendenza di quanto alziamo il valore di turbulence otteniamo un flusso laminare o turbolento Usiamo un valore alto perch un esplosione molto turbolenta Guardando l immagine di esempio vedi halo03 pov vedremo che ora la halo assomiglia molto di pi ad un esplosione della palla che avevamo finora Notiamo che il tempo di rendering aumentato dopo che abbiamo aggiunto la turbolenza Questo dovuto al fatto che per ogni campione preso dalla halo deve essere calcolata la funzione turbolenza 4 8 5 2 4 Ridimensionare l Alone Notiamo un fatto strano rispetto alla nostra esplosione Assomiglia ancora ad una sfera Perch succede questo e come possiamo evitarlo Come abbiamo notato prima aggiungere la turbolenza sposta le particelle all interno del contenitore Il problema che alcune delle particelle si sono spostate all esterno del contenitore e questo porta a zone di alta densit sulla superficie dell oggetto contenitore rivelandone la forma le particelle fuori dal contenitore sono perdute diventano invisibili e quindi vediamo un brusco cambio della densit in coincidenza della superficie del contenitore Un semplice metodo di evitare questo inconveniente assicurarsi che le particelle restino all interno del contenitore anche se aggiungiamo un po di turbulence Otteniamo questo risultato diminuendo le dimensioni della hal
539. tabile perch sono usate solo le componenti rosse verdi e blu Il valore predefinito molto scarso solo 0 1 Il valore pu variare tra 0 0 e 1 0 La luce ambiente investir le parti illuminate e quelle in ombra se alzi il valore della luce ambiente probabile che tu desideri abbassare quello della luce diffusa Questo metodo non tiene conto della luce riflessa dagli oggetti circostanti Se si cammina in una stanza che ha le pareti il pavimento ed il soffitto rosso si potr notare come i nostri abiti bianchi assumano una colorazione rosa determinata dalla luce riflessa La luce ambiente di POV Ray non tiene conto di questo Parimenti non c modo di tenere conto della luce indiretta speculare e riflessa come una luce che viene riflessa da uno specchio E possibile colorare la luce ambiente usando uno di questi due metodi Puoi specificare un colore con un valore decimale dopo la parola chiave ambient in ognuna delle frasi relative alla finitura Per esempio 327 finish ambient rgb lt 0 3 0 1 0 1 gt luce ambiente rosa Puoi anche specificare la luce ambiente usata per calcolare la luminosit di un ambiente di un oggetto usando la frase delle impostazioni generali chiamata ambient light La formula che sar usata nei calcoli la seguente LUCE AMBIENTE LUCE AMBIENTE DELLA FINITURA LUCE AMBIENTE DELLA SCENA vedere il paragrafo Luce Ambiente 7 6 3 2 Riflessione Diffusa Quando la luce si riflette
540. tall exe gli esempi e le istruzioni qui riportate potrebbero non funzionare Il processo di installazione configura il file povray ini ed alcuni importanti file batch Senza questi file correttamente configurati gli esempi contenuti in questo paragrafo potrebbero non funzionare correttamente Lo scopo fondamentale di POV Ray di leggere la descrizione di una scena scritta nel linguaggio POV e scrivere un file immagine I file che descrivono le scene sono file ASCII puri che si creano con un editor di testo Dozzine di questi file sono inclusi con il programma in modo da illustrarne le varie possibilit Il programma viene richiamato scrivendo un comando al prompt di DOS Il comando povray e deve essere seguito da uno o pi parametri della linea di comando Ogni parametro inizia con un segno o con un I parametri sono separati da uno spazio I parametri possono essere maiuscoli o minuscoli Nota gli esempi in questo paragrafo assumono che POV Ray sia stato installato nella directory c povray3 Il programma di installazione consente di installare POV Ray in qualunque posizione sul disco e configurer il programma per qualunque disco e directory siano stati specificati Si deve solo sostituire agli esempi il proprio drive e la propria directory ovunque sia scritto c povray3 28 Portarsi in quella directory poi scrivere la seguente linea di comando e premere INVIO povray ishapes dl Il comando i i sta per input dice al pro
541. tazione Se volessimo utilizzare un sistema di assi di riferimento destrorso come avviene in alcuni sistemi CAD e modellatori il vettore che indica la direzione di destra nella definizione della camera dovrebbe venire modificato Vedi la descrizione dettagliata nel paragrafo Chiralit In un sistema destrorso viene utilizzata la mano destra per svolgere gli esercizi di aerobica C in atto qualche controversia nel modo in cui POV Ray simula un sistema di coordinate destrorso Nel dubbio ci teniamo il sistema di coordinate sinistrorso sul quale non ci sono problemi 4 1 2 Aggiungere File include Standard Utilizzando il nostro editor di testo preferito creiamo un file che chiameremo demo pov Poi vi scriviamo il seguente testo L input sensibile alla differenza tra maiuscole e minuscole quindi dovremo assicurarci che tutte le maiuscole e minuscole siano corrette finclude colors inc finclude shapes inc include finish inc finclude glass inc finclude metals inc finclude stones inc include woods inc I file include che da qui chiameremo ine contengono elementi predefiniti per le scene L istruzione contenuta nella prima riga fa leggere a POV Ray le definizioni per vari colori utili La seconda istruzione seconda riga fa leggere le definizioni per solidi e forme geometriche Le successive leggono finiture e informazioni per ottenere materiali simili a vetri metalli pietre legni Pu essere
542. tesso di Start Row 0 n End Column n imposta l ultima colona a n pixels End Column 0 n imposta l ultima colonna a n della larghezza 192 ECn o ECO n lo stesso di End Column End Row n imposta l ultima riga a n pixels End Row 0 n imposta l ultima riga a n dell altezza ERn o En lo stesso di End Row n ERO n o E0 n lo stesso di End Row 0 n Quando si fanno dei rendering di prova spesso conveniente renderizzare solo una piccola regione di spazio rispetto all intera immagine per controllare velocemente alcuni particolari Le opzioni di Start Row End Row Start Column e End Column permettono di definire porzioni di area da renderizzare Il valore di default l intera immagine da 1 1 in alto a sinistra a w h in basso a destra dove con w si intende il valore assegnato alla larghezza Width n e con h si intende il valore assegnato all altezza Height n E da notare che se il numero assegnato maggiore di 1 allora viene interpretato come il numero assoluto di pixels in una riga o in una colonna se invece un numero decimale compreso tra 0 0 e 1 0 allora interpretato come una percentuale del totale dell altezza o della larghezza dell immagine Per esempio Start _Row 0 75 eStart Column 0 75 inizia il rendering da una riga posta al 75 dall alto verso il basso dell immagine e da una colonna al 75 dalla sinistra Viene quindi renderizzato solo il 25 dell immagine che si trova in basso a destra I parametri SR
543. tezza e di larghezza dell immagine finale L anteprima a mosaico viene inserita specificando quanto grandi devono essere le tessere del mosaico al primo passaggio usando Preview Start Size no SPn Il numero n deve essere maggiore di zero ed uguale ad una potenza di 2 1 2 4 8 16 32 ecc Se non una potenza di 2 gli viene sostituita la potenza di 2 immediatamente minore Questo imposta la dimensione dei quadrati in pixel Un valore di 16 disegner un punto ogni 16 con un quadrato di 16x16 punti al primo passaggio I passaggi successivi useranno la met del valore precedente 8x8 4x4 e cos via Il processo prosegue fino a raggiungere una dimensione di 1x1 punti o fino a raggiungere la dimensione impostata col parametro Preview End Size n o EPn Di nuovo il valore di n deve essere un numero maggiore di zero uguale ad una potenza di 2 e minore o uguale a Preview Start Size Se non una potenza di 2 viene sostituita la potenza di 2 197 immediatamente minore Il valore predefinito per Preview End Size 1 Se viene impostato ad un valore minore di 1 i passaggi termineranno prima di raggiungere la dimensione 1x1 ma POV Ray terminer comunque con un rendering a piena risoluzione Per esempio se vuoi un singolo passaggio 8x8 prima di renderizzare l immagine definitiva imposta Preview Start Size 8 e Preview End Size 8 L immagine non viene salvata su file fino a quando non si sia raggiunto il passaggio 1x1 Sebbene i passaggi prelim
544. ti riguardanti i colori rosse verde e blu Il valore pu variare tra 0 0 e 1 0 Di default non c riflessione 330 Aggiungere la riflessione ad un oggetto aumenter il tempo di rendering perch sar necessario tracciare pi raggi La luce riflessa pu essere colorata con un colore specificandolo al posto del valore decimale Per esempio finish reflection rgb lt 1 0 0 gt creer uno specchio che rifletter solo il rosso Anche se questo tipo di riflessione si chiama specular non controllata dalla parola chiave specular Questa parola chiave regola solo i punti illuminati da riflessione speculare 7 6 3 5 Rifrazione La rifrazione la deviazione che la luce subisce al passaggio all interno di un corpo con una determinata densit Normalmente in POV Ray le superfici totalmente trasparenti o trasparenti solo in parte non rifrangono la luce La rifrazione si attiva aggiungendo alle frasi della finitura la parola chiave refraction 1 0 E raccomandabile usare per questa parola chiave solo i valori 0 e 1 o meglio ancora on e off I valori compresi all interno di questo intervallo modificheranno il percorso della luce in modi che nulla hanno a che vedere con la rifrazione reale Molte scene di POV Ray sono state create con valori compresi in questo intervallo prima che fosse stato scoperto questo errore cos stata mantenuta questa possibilit Un modo pi appropriato per ridurre la luminosit dei raggi rifratti que
545. tibilit con le versioni precedenti Una caratteristica introdotta nella versione 2 0 che era incompatibile con ogni file di scena della versione 1 0 l elaborazione delle espressioni decimali Utilizzando l impostazione mediante il parametro della linea di comando MV1 0 o con l opzione Version 1 0 nel file INI si disattivano l analisi delle espressioni decimali e molti messaggi di avvertimento e quasi tutti i file della versione 1 0 potranno essere elaborati ancora I cambiamenti tra la versione 2 0 e 3 0 non sono stati cos radicali L impostazione Version 2 0 necessaria solo per eliminare alcuni messaggi di avvertimento Naturalmente l impostazione predefinita per questa opzione Version 3 0 L istruzione di linguaggio version usata per cambiare modalit all interno dei file di scena 243 mentre il parametro della linea di comando o l opzione del file INI incide solo sull impostazione iniziale Insieme con l identificatore incorporato version l istruzione version consente di salvare e ripristinare i precedenti valori di quest impostazione relativi alla compatibilit Per esempio supponi che il file mystuff ine sia nel formato della versione 1 0 All inizio del file si potrebbe porre declare Temp Vers version Salva il valore precedente version 1 0 Cambia nella modalit 1 0 La versione 1 0 inizia qui version Temp Vers Ripristina la versione precedent Versioni precedenti di POV Ra
546. tica quando l angolo di osservazione si avvicina a 180 gradi Usa un tipo di proiezione cilindrica che consente di usare angoli visuali pi grandi di 180 gradi con una tollerabile distorsione laterale La parola chiave angle usata per determinare l angolo di osservazione Proiezione cilindrica Usando questa proiezione la scena proiettata sopra un cilindro Vi sono quattro diversi tipi di proiezioni cilindriche che dipendono dall orientamento del cilindro e dalla posizione della punto di vista L angolo di osservazione e la lunghezza dei vettori up e right determinano le dimensioni della macchina fotografica e dell immagine visibile La macchina fotografica da usare specificata da un numero I tipi sono 1 cilindro verticale punto di vista fisso 2 cilindro orizzontale punto di vista fisso 3 cilindro verticale punto di vista che si muove lungo l asse del cilindro 4 cilindro orizzontale punto di vista che si muove lungo l asse del cilindro Se la macchina fotografica prospettica usata con la parola chiave angle ha la priorit l angolo di osservazione specificato se usata con la parola chiave direction sar la direzione ad avere la priorit Ogni volta che viene usato l angolo la lunghezza dei vettori direzione viene adattata di conseguenza Non vi alcuna limitazione nell angolo di visuale ad eccezione della proiezione prospettica Se scegli angoli di osservazione pi grandi di 360 gradi vedrai immagini ripetute della sce
547. tiva dei campi che il doppio della velocit dei fotogrammi piuttosto che renderizzare interi fotogrammi alla velocit normale Di default il rendering per campi non usato Impostando Field Render on o usando UF si far in modo che i fotogrammi di un animazione siano solo i campi pari e dispari alternativamente Per default il primo fotogramma il campo pari seguito dal campo dispari Puoi far renderizzare a POV Ray il campo dispari per primo specificando Odd _Field on o usando il parametro UO 6 2 2 Opzioni di Output 6 2 2 1 Opzioni Generiche di Output 6 2 2 1 1 Altezza e Larghezza dell Output Height n Imposta l altezza uguale a n pixels Width n Imposta la larghezza uguale a n pixels Hn Lo stesso di Height n quando n gt 8 Wn Lo stesso di Width n Questi parametri impostano l altezza e la larghezza del file di output in pixels La finestra di anteprima se attivata cercher in generale di avere una modalit video compatibile con queste misure ma in ogni caso le impostazioni del display non influenzeranno l immagine risultante 6 2 2 1 2 Opzioni di Output Parziale Start Column n imposta la prima colonna a n Start Column 0 n imposta la prima colonna a n della larghezza SCn o SC0 n lo stesso di Start Column Start _Row n imposta la prima riga a n pixels Start Row 0 n imposta la prima riga a n dell altezza SRn o Sn lo stesso di Start Row n SR0 n o S0 n lo s
548. tivo grandangolo panoramico o a proiezione cilindrica dovresti usare un vettore direzione unitario di lunghezza 1 per evitare strani risultati La lunghezza del vettore non ha invece importanza se usi uno dei seguenti tipi di proiezione ortografico fisheye o omnimax 7 4 4 4 Angolo Angle La parola chiave angle specifica l angolo di ampiezza della visuale orizzontale della macchina fotografica espresso in gradi Anche se possibile usare il vettore direzione per determinare tale angolo molto pi facile usare la parola chiave angle Il calcolo necessario per passare da un metodo all altro descritto di seguito Gli stessi calcoli sono usati per determinare la lunghezza del vettore direzione ogni volta che si incontra la parola chiave 257 angle L angolo della visuale convertito nella lunghezza del vettore direction e viceversa usando la formula angle 2 arctan 0 5 lungh right lungh direction dove right length e direction length sono rispettivamente la lunghezza dei vettori right edirection e arctan l inverso della funzione tangente arco tangente Per mezzo di questa formula possibile calcolare la lunghezza del vettore direction per un dato angolo di visuale e un determinato vettore right Semplicemente invertendo la formula si pu calcolare la lunghezza del vettore direzione dati angleeright Lungh direction 0 5 lungh right tan angle 2 7 4 4 5 I Vettori Up e Right Le direzioni de
549. to focale semplicemente il punto dove il fuoco della macchina fotografica massimo e l immagine risulta pi nitida Posizioniamo questo punto nella nostra scena ed assegnamo un valore all apertura per determinare quanto vicino o quanto lontano dal punto di massimo fuoco vogliamo che appaia la sfocatura Aumentare l apertura ha l effetto di rendere minore l area a fuoco mentre 40 diminuirla rende maggiore l area dell immagine a fuoco Questo il modo in cui controlliamo come la sfocatura comincia ad avvenire attorno al punto focale Il valore blur samples determina quanti raggi sono usati per campionare ogni singolo punto dell immagine pixel In maniera semplificata quanti pi raggi si usano tanto migliore la qualit dell immagine risultante ma conseguentemente aumenta anche il tempo necessario per il rendering Ogni scena diversa dalle altre e cos dovremo sperimentare Questo tutorial ha due esempi da 4 e 20 campioni ma ne possiamo utilizzare di pi per immagini ad alta risoluzione Non si dovrebbero usare pi campioni di quanti siano necessari per ottenere la qualit desiderata dato che maggiore il numero dei campioni maggiore il tempo di rendering I valori di confidence e variance sono trattati nella sezione Messa a Fuoco della guida al linguaggio Conviene sperimentare con le regolazioni dei valori focal point aperture blur sample La scena ha linee con altri valori che possiamo provare commentando la linea di
550. to in tordemo pov include colors inc camera location lt 0 1 40 gt look at 0 angle 30 background color Gray50 light source lt 300 300 1000 gt White declare Half Torus difference 49 torus 4 1 sturm rotate x 90 cos possiamo vederlo da sopra DOF gt Oy SS don Koy De 2 pigment Green declare Flip It Over x 180 declare Torus Translate 8 Ora facciamo un toro completo usando le due met union object Half Torus object Half Torus rotate Flip It_Over Questa pu sembrare una maniera inutile per fare un toro competo ma in effetti stiamo per allontanare le due met in modo da fare spazio per i cilindri Per prima cosa aggiungiamo prima del blocco union il cilindro dichiarato declare Chain Segment cylinder lt 0 4 0 gt lt 0 4 0 gt 1 pigment Green Poi aggiungiamo due segmenti di catena all unione e li trasliamo in modo che si allineino col raggio minore del toro su entrambi i lati union object Half Torus object Half Torus rotate Flip It_Over object Chain Segment translate x Torus Translate 2 object Chain Segment translate x Torus Translate 2 Ora trasliamo i due mezzi tori di y e y in modo che le estremit tronche si incontrino con le estremit dei cilindri Questa distanza uguale alla met del valore Torus Translate precedentemente dich
551. to pattern utilizzato con alcune interessanti mappe di colori nel file stones ine per creare eccezionali texture stratificate che riproducono pietre di vario tipo Se usato come un pattern di normali crea una superficie estremamente irregolare che assomiglia ad una strada sterrata o a roccia grezza Il pattern granite usa l onda ramp wave di default ma pu usare qualunque tipo di onda Il pattern granite pu essere usato con mappe di colore pigmento normali texture e slope 7 6 7 11 Hexagon Esagoni Il pattern hexagon un pattern a blocchi come checker e brick che genera un motivo ad esagoni affiancati disposti lungo il piano x y Immagina delle bacchette di sezione esagonale 352 disposte parallelamente e raggruppate come nella figura sotto Per questo pattern si devono specificare tre diversi colori pigment hexagon COLORE 1 COLORE 2 COLORE 3 colore 1 colore 2 colore 3 Fig 223 Il pattern hexagon I tre colori si ripeteranno nel pattern con l esagono del colore 1 centrato sull origine il secondo spostato nella direzione z ed il terzo verso z Ogni lato degli esagoni lungo 1 Le bacchette si estendono infinitamente lungo la direzione parallela all asse y Se non vengono specificati i colori POV Ray usa l impostazione di default un piano ad esagoni blu verdi e rossi Si possono usare anche frasi pigment al posto dei singoli colori come ad esempio pigment hexagon pigment Jade
552. todi sono la riflessione speculare e la riflessione di Phong Essi non si escludono E possibile specificare entrambi nello stesso oggetto ma normalmente se ne usa solo uno 7 6 3 3 1 Punti Illuminati con riflessione di Phong La parola chiave phong controlla la quantit di riflessione di Phong Sull oggetto si formeranno punti luminosi del colore della sorgente luminosa che viene riflessa La riflessione di Phong misura l illuminazione media delle microsuperfici rivolte verso l osservatore Valori tipici assegnati a questa parola chiave sono compresi nell intervallo da 0 0 a 1 0 1 0 determiner la saturazione completa del colore della sorgente luminosa al centro dell area pi luminosa Il valore predefinito 0 0 La dimensione del punto illuminato definita dal valore Phong_size Pi grande il valore assegnato a questa parola chiave pi piccolo e pi brillante sar il punto A valori pi piccoli della parola chiave corrisponder invece un punto pi grande e una superficie meno lucente Valori tipici per questo parametro varieranno tra 1 0 molto opaco a 250 molto luminoso Il valore predefinito per la parola chiave phong_size 40 la superficie avr un aspetto simile alla plastica Per esempio finish phong 0 9 phong size 60 se non specificato phong la parola chiave phong_size non ha effetto 7 6 3 3 2 Punti Illuminati con Riflessione Speculare Un punto illuminato con riflessione speculare molto simile ad un
553. tori normali dei triangoli che condividono quel punto 7 5 4 Primitive Solide Infinite Ci sono cinque oggetti polinomiali primitivi che sono infiniti e non rispondono al bounding automatico piano cubiche polinomiali quadriche e quartiche Possono essere combinati con unioni CSG o all interno di una frase clipped by Come tutti gli oggetti possono essere spostati ridimensionati e ruotati 7 5 4 1 Piano Il piano un modo molto semplice per definire una superficie infinita Il piano definito come segue plane lt NORMALE gt DISTANZA Il vettore lt NORMALE gt definisce la normale alla superficie Una normale alla superficie un vettore perpendicolare ad essa Questo vettore seguito da un valore decimale che definisce la distanza dall origine lungo il vettore normale questo valido solamente se il vettore normale ha lunghezza unitaria vedremo perch Per esempio plane lt 0 1 0 gt 4 Questa frase definisce un piano che ha la superficie superiore orientata lungo la direzione positiva dell asse y ed distante quattro unit dall origine Dal momento che molti piani sono definiti da un vettore normale che va nella direzione di un asse spesso vedrai quegli stessi piani definiti utilizzando gli identificatori x y e z L esempio chiarisce il concetto plane y 4 Il piano si estende all infinito nella direzione dell asse x e dell asse z In concreto divide il mondo in due parti Per defi
554. traversa un contorno un numero dispari di volte questo conosciuto come Teorema delle Curve di Jordan Un altro esempio molto complesso che mostra un grande triangolo con tre piccoli fori e tre triangolini separati dato sotto polygon 28 lt 0 0 gt lt 1 0 gt lt 0 1 gt lt 0 0 gt triangolo grande esterno lt 3 7 gt lt 4 7 gt lt 3 8 gt lt 3 7 gt triangolino esterno 1 lt 5 5 gt lt 6 5 gt lt 5 6 gt lt 5 5 gt triangolino esterno 2 lt 7 3 gt lt 8 3 gt lt 7 4 gt lt 7 3 gt triangolino esterno 3 lt 5 2 gt lt 6 2 gt lt 5 3 gt lt 5 2 gt triangolo interno 1 Zap DS ed POSSO SOS eS LS 7 er Langolo interno 2 lt 1l1 1 gt lt 2 l1 gt lt 1 2 gt lt 1 1 gt triangolo interno 3 7 5 3 5 Triangoli e Triangoli Smussati La primitiva triangolo disponibile per ottenere oggetti pi complessi di quelli che si possono ottenere dalle normali primitive I triangoli non sono solitamente creati a mano ma vengono convertiti da altri file o generati da altri programmi Un triangolo definito dalla seguente sintassi triangle lt VERTICE1 gt lt VERTICE2 gt lt VERTICE3 gt dove lt VERTICEn gt un vettore definito dalle coordinate x y z di ciascun vetrice del triangolo Dal momento che i triangoli sono superfici perfettamente piane sar necessario un numero molto grande di triangoli per a
555. truita come una primitiva di pigmento molto simile a gradient x Quando si aggiunge turbolenza l effetto diverso se osservato da un lato o dall estremit Prova a ruotarla di 90 y per vedere la differenza Non si possono ottenere riflessi speculari su oggetti completamente neri Si pu invece provare ad utilizzare un grigio molto scuro ad esempio Gray10 oppure Gray15 in colors inc Appendice F 5 Suggerimenti per gli Height Field Prova ad usare POV Ray per creare immagini di partenza per costruire height field camera location lt 0 0 2 gt plane z 0 finish ambient 1 non c bisogno di luci pigment bozo n di altro Provare tutto quello di cui hai bisogno per ottenere un file TGA che pu essere usato per un height field in un altra immagine Appendice F 6 Convertire la Chiralit Se importi oggetti da altri sistemi pu capitare che essi siano rovesciati invertiti da sinistra a destra e che nessuna rotazione possa correggerli Spesso tutto quello che c da fare cambiare di segno i termini del vettore right della macchina fotografica per invertirla ed usare un sistema di coordinate destrorso Alcuni programmi sembrano interpretare i sistemi di coordinate in maniera diversa quindi pu essere necessario sperimentare altre soluzioni se vuoi che i vettori y e z funzionino come in POV Ray Appendice G Domande Frequentemente Poste FAQ Questa una raccolta di domande frequentement
556. truzione camera che significa macchina fotografica Per fare questo utilizziamo un sistema di coordinate a 3 dimensioni Il normale sistema di coordinate per POV Ray ha l asse y rivolto verso l alto l asse x rivolto a destra e l asse z rivolto verso l interno dello schermo Questo tipo di sistema di coordinate viene detto sinistrorso utilizzando per un momento le dita della nostra mano sinistra possiamo capire perch 34 Fig 1 I sistema di coordinate di POV Ray Puntiamo il pollice nella direzione dell asse delle x positive l indice nella direzione delle y positive ed il medio nella direzione delle z positive Solo la mano sinistra lo permette se avessimo utilizzato la destra non avremmo potuto rivolgere il medio nella direzione giusta La mano sinistra pu anche essere utilizzata per determinare la direzione delle rotazioni Per fare questo dobbiamo eseguire il famoso esercizio di Aerobica per Grafica Computerizzata Fig 2 Solleviamo la nostra mano sinistra e puntiamo il pollice nella direzione positiva dell asse di rotazione Le altre dita si piegheranno nella direzione corrispondente al verso positivo della 35 rotazione dal dorso verso le punte Se puntiamo il pollice nell altro verso dell asse di rotazione otterremo la direzione di rotazione negativa Ad esempio la mano sinistra si avvolge attorno all asse delle x Il pollice punta nella direzione positiva dell asse delle x e le dita si ripiegano nella direzione della ro
557. ts ovvero dei gruppi di spot estesi su un area Questo tipo di luce utilizzato in genere per aumentare la velocit di rendering delle scene che usano le area light dal momento che possibile limitare le aree di calcolo delle ombre solo a quelle parti realmente incluse nell inquadratura 304 Un effetto interessante pu essere creato usando sorgenti di luce lineari Piuttosto di definire spazi rettangolari si possono distribuire le luci lungo una linea creando una sorta di tubo luminoso Per fare questo basta che una delle dimensioni specificate sia 1 Il comando adaptive usato per attivare il sovracampionamento adattivo della luce Di default POV Ray calcola la quantit di luce che colpisce una superficie tracciando un raggio a partire da ogni punto all interno del rettangolo definito Questo metodo come possibile capire molto lento Il metodo adattivo tende ad approssimare questo processo usando un numero minore di raggi Il numero specificato dopo la parola chiave indica in che proporzione si debba usare il metodo adattivo Pi alto sar quel valore pi accurate saranno le ombre e pi lento il rendering Se non si sicuri nella scelta di un valore ragionevole un buon punto di partenza potrebbe essere adaptive 1 La parola chiave adaptive accetta solo valori interi e non pu essere impostata con numeri minori di zero Quando esegue il campionamento adattivo POV Ray inizia lanciando un raggio di prova ai quattro angoli de
558. tto come per l image map la bump_map modifica apparentemente la superficie basandosi sul colore dell immagine in quel punto Il risultato sar simile ad un immagine che stata incisa sulla superficie Una bump_ map usa di default la luminosit dell immagine I colori sono convertiti a toni di grigio internamente prima di calcolarne l altezza Il nero risulta in un avvallamento il bianco in un rilievo 324 Alternativamente si possono usare i valori numerici indicati nella tavolozza di colori dell immagine vedi il paragrafo Use_ Index e Use Color 7 6 2 3 1 Specificare una Mappa Bump La sintassi per una bump map normal bump map TIPO DE FILE nomefile est MODIFICATORI DELL IMMAGINE MODIFICATORI DELLE NORMALI dove TIPO DI FILE una delle seguenti parole chiave gif tga iff ppm pgm png o sys Questa viene seguita dal nome del file scritto usando qualunque stringa valida Alcuni modificatori facoltativi possono seguire la specificazione del file I modificatori sono descritti pi sotto E da notare che le prime versioni di POV Ray permettevano alcuni modificatori prima di TIPO DI FILE ma questo tipo di sintassi stato sostituito in favore di quella descritta sopra I nomi dei file specificati in una frase bump_map saranno cercati nella directory corrente e poi se non sono stati trovati nelle directory specificate dal parametro L o dall opzione Library Path Que
559. u essere usato per creare parallelepipedi e cilindri con gli spigoli smussati ed altri oggetti interessanti Matematicamente dato dall equazione f x y 2 Ciel 2 e lvl 2 6 e n z 2 n 1 0 I valori di e ed n chiamati esponenti est ovest e nord sud rispettivamente determinano la forma del superellissoide Entrambi devono essere maggiori di zero Ad esempio la sfera data da e 1 ed n l La sintassi del superellissoide che per default posizionato all origine la seguente superellipsoid lt e n gt Due oggetti utili sono il parallelepipedo arrotondato ed il cilindro arrotondato Vengono dichiarati 279 nel seguente modo declare Parallelepipedo Arrot superellipsoid lt r r gt declare Cilindro Arrot superellipsoid lt 1 r gt Il valore di r determina quanto gli spigoli sono smussati e deve essere compreso tra 0 ed 1 Minore il valore di r pi netti saranno gli spigoli Valori molto piccoli di e ed n potrebbero causare problemi nel calcolo il metodo di Sturm non pu essere usato 7 5 2 11 Superfici di Rotazione Le superfici di rotazione SOR ovvero surface of revolution sono generate ruotando una curva attorno all asse delle y La curva composta di punti che descrivono la dipendenza del raggio dall altezza sull asse di rotazione La sintassi dell oggetto SOR sor NUMERO DI PUNTI lt PUNTOO gt lt PUNTO1 gt lt PUNTOn 1 gt open
560. uali Nel caso di una spline quadratica deve valere che P n 1 P 1 per avere una curva chiusa e P n P 2 Con le spline quadratiche possibile usare l algoritmo di Sturm pi lento ma pi accurato Dal momento che necessario risolvere un polinomio di secondo grado l algoritmo di Sturm non necessario per le spline lineari Nel caso di spline cubiche invece viene spesso usato perch si deve risolvere un polinomio di sesto grado 7 5 2 8 Prisma Il prisma un oggetto generato dalla traslazione di una o pi curve chiuse ed estese su due dimensioni lungo un asse Queste curve sono definite da un insieme di punti che vengono collegati insieme da spline lineari quadratiche o cubiche La sintassi del prisma prism linear sweep conic sweep Linear spline quadratic spline cubic spline ALTEZZA1 ALTEZZA2 NUMERO TOTALE DI PUNTI lt PUNTO 1 gt lt PUNTO 2 gt lt PUNTO n gt open sturm L oggetto prisma ti permette di inserire un qualunque numero di frasi che definiscono sotto prismi all interno di una frase prism purch usino gli stessi tipi di spline e di estrusione Ovunque si sovrappone un numero pari di sotto prismi appare un buco La sintassi che definisce il prisma dipende dal tipo di spline usato Questa la sintassi del prisma con spline lineare prism linear spline ALTEZZA ALTEZZA2 NUMERO TOTALE DI PUNTI lt A 1 gt lt A
561. uando si commuta da prospettiva a vista ortogonale Finch tutti gli oggetti che interessano sono vicini al punto indicato con look _at punto di mira essi saranno ancora visibili se usiamo la macchina fotografica ortogonale Gli oggetti pi lontani potranno invece uscire fuori dall angolo visuale Proiezione Fisheye occhio di pesce Questa una proiezione sferica L angolo dell osservazione 254 specificato dalla parola chiave angle Un angolo di 180 gradi crea il classico fisheye mentre un angolo di 360 gradi crea un super fisheye visione sferica Se usi questa proiezione dovresti ottenere un immagine circolare oppure ellittica Per maggiori chiarimenti vedi Rapporto Altezza Larghezza Proiezione ad angolo ultra ampio ultra_wide_angle Questa proiezione piuttosto simile al fisheye ma proietta l immagine su un rettangolo invece che su di un cerchio L angolo dell osservazione pu essere specificato usando la parola chiave angle Proiezione Omnimax La proiezione omnimax un fisheye di 180 gradi che ha un angolo di osservazione ridotto nella direzione verticale In realt questa proiezione usata per fare film che possono essere visti in luoghi come i teatri Omnimax L immagine tender ad essere ellittica La parola chiave angle non usata con questa proiezione Proiezione panoramica Questa proiezione chiamata proiezione cilindrica equirettangolare Supera il problema della degenerazione della proiezione prospet
562. uantit di perturbazione dipende dalla forza del buco nero nel punto in cui si applica ed direttamente connessa alla quantit di spostamento che vedi avvenire nella texture Pi forte il buco nero alle coordinate del punto su cui agisce pi questo sar spostato Lo spostamento avviene sempre lungo il vettore che collega il centro del buco nero ed il punto sul quale influisce I buchi neri si suppongono sferici Perch un punto subisca l effetto del buco nero deve trovarsi all interno del volume della sfera Supponendo di avere un buco nero a lt 1 1 1 gt ed un punto a lt 1 2 1 gt se questo punto perturbato di una quantit totale di 1 unit la sua nuova posizione sar lt 1 3 1 gt che si trova sulla congiungente i punti lt 1 1 1 gt ed lt 1 2 1 gt In questo caso il punto allontanato dal buco nero questo non il suo normale comportamento ma utile per un esempio I parametri di un buco nero sono i seguenti Centro il centro del buco nero Raggio il suo raggio Falloff la potenza di 2 con la quale l effetto decade default 2 Strenght la quantit della trasformazione Inverted se impostato allontana i punti invece di risucchiarli Repeat se impostato avremo molti buchi neri invece di uno Turbulence se impostato la posizione di ognuno dei buchi neri se viene usato repeat casuale Repeat_Vector il vettore lt x y z gt lungo il quale ripetere i warp 366 Turbulence_Vector il valore massimo in tre dimen
563. ubic lathe solo con spline guadratiche poly prism solo con spline cubiche quartic sor 7 6 Texture La texture descrive l aspetto dell oggetto cio il materiale di cui fatto Le texture sono combinazioni di pigmento normali finitura ed halo Il pigmento il colore o la combinazione di colori del materiale Le normali sono un metodo per simulare ingrossamenti increspature o onde nella superficie modificando il vettore normale ad essa La finitura descrive le propriet di riflessione e rifrazione del materiale L alone halo simula effetti come nuvole nebbia fuoco ecc usando una distribuzione di particelle in un campo di densit definito all interno dell oggetto 311 Una texture semplice formata da un singolo pigmento e volendo da normali finitura e da uno o pi aloni Una texture speciale combina due o pi texture usando funzioni per creare motivi o per fonderle insieme Le texture speciali possono essere rese molto complesse annidando motivi all interno di motivi Comunque 1 livelli pi interni sono sempre costituiti da texture semplici E da notare che nonostante che noi chiamiamo semplice una texture questa pu essere anche molto complessa Il termine semplice significa soltanto che ha un solo pigmento normali finitura halo La forma pi completa per definire una texture semplice texture IDENTIFICATORE DI TEXTURE pigment normal finish halo TRASFORMAZIONI
564. uce in funzione della distanza a valori diversi di fade_power Si dovrebbero notare due importanti fatti primo per valori di fade distance maggiori di 1 l intensit della luce a distanze minori di fade distance aumenta Questo necessario per ottenere la giusta intensit della luce nel punto distante esattamente fade distance dalla sorgente luminosa Secondo solo la luce che proviene direttamente dalla sorgente luminosa attenuata La luce riflessa o rifratta non attenuata dalla distanza 7 5 6 8 Interazione con l Atmosfera Per default le sorgenti luminose interagiranno con un eventuale atmosfera aggiunta alla scena Ci pu essere disattivato usando la parola chiave atmosphere all interno delle impostazioni relative alla sorgente luminosa light_source 4 atmosphere off 307 7 5 6 9 Attenuazione Atmosferica Normalmente l intensit della luce che proviene dalle sorgenti luminose non modificata dalla nebbia o dall atmosfera Ci pu essere cambiato attivando il comando atmospheric attenuation per una determinata luce Tutta la luce che proverr da questa sorgente luminosa sar attenuata via via che viaggia attraverso la nebbia o l atmosfera Questo determiner un decadimento esponenziale dipendente dalla distanza e dalle impostazioni della nebbia o dell atmosfera utilizzate Se non c nebbia o atmosfera non si verificher alcun cambiamento 7 5 7 Modificatori di Oggetti Una grande quantit di modificato
565. uel punto Questo il primo livello di ricorsivit Se questo secondo raggio colpisce un altra superficie riflettente viene lanciato un terzo raggio secondo livello di ricorsivit Il livello massimo predefinito 5 Una funzione che aumenta la velocit del rendering nella versione 3 0 il Controllo Adattivo di Profondit ADC Adaptive Depth Control Ogni volta che il programma lancia un nuovo raggio a causa di riflessione o rifrazione il suo contributo al colore complessivo del pixel ridotto dall ammontare della riflessione o del filtro della superficie rifrangente In certi casi questo contributo pu essere irrilevante e non c motivo di tracciare altri raggi L ADC la funzione che segue questo contributo e decide di non tracciare ulteriori raggi Nelle scene che usano molte superfici riflettenti o rifrangenti questa funzione pu 386 ridurre notevolmente il numero di raggi lanciati rendendo sicuro l utilizzo di valori molto pi alti di max trace level Questa diminuzione del contributo dato al colore il risultato della moltiplicazione del colore per il valore della riflessione e o del filtro di ogni superficie Quindi una superficie a specchio reflection 1 o perfettamente trasparente filter 1 non potr essere ottimizzabile da ADC I risultati del controllo effettuato da ADC possono essere visualizzati alle voci Rays Saved e Highest Trace Level sulla schermata di statistiche al termine del rendering 7 8 7 Max_Intersect
566. uelli dei file POT ma devono essere generati da appositi programmi Alcuni programmi possono creare immagini TGA nel formato usato da POV Ray Tra questi Gforge e Terrain Maker nonch lo stesso POV Ray N d T Gli height field in formato PNG sono generalmente memorizzati come immagini a toni di grigio in cui il nero corrisponde alle parti pi basse e il bianco a quelle pi alte Poich i file PNG possono memorizzare immagini a toni di grigio fino a 16 bit pixel gli height field generati da esse saranno dettagliati come quelli ottenuti dalle analoghe immagini in formato TGA e PPM Poich sono immagini a toni di grigio si potranno vedere con un normale visore Gforge pu creare height field a 16 bit in formato PNG Le immagini PNG a colori verranno invece usate come le TGA e le PPM Il formato SYS specifico della piattaforma usata Vedi la documentazione specifica per dettagli Un parametro facoltativo indicato dalla parola chiave water level pu essere aggiunto dopo il nome del file La parola chiave seguita da un numero decimale che dice a POV Ray di tralasciare le parti dell height field la cui altezza al di sotto di quel valore Il valore di default zero si possono usare valori tra zero e uno Ad esempio water level 5 fa renderizzare a POV Ray solo la met superiore dell height field L altra met sott acqua water level significa livello dell acqua e non si vedrebbe comunque Questo termine deriva dal normale uso degli he
567. umentare come una scena stata renderizzata Se si 194 renderizza waycool pov con Create Ini on allora sar creato un file waycool ini che pu essere distribuito con il file contenente la scena in modo che altri utenti possano renderizzare la scena allo stesso modo 6 2 2 2 Opzioni di Output a Schermo 6 2 2 2 1 Impostazioni Hardware Attiva disattiva la visualizzazione a schermo durante il rendering Display bool on off 4D attiva la visualizzazione a schermo durante il rendering Turns graphic display on D disattiva la visualizzazione a schermo durante il rendering Video Mode x Imposta la modalit video a x non si devono usare i comandi on off ta attiva la visualizzazione a schermo durante il rendering nella modalit video x Attiva la SE disattiva la visualizzazione a schermo durante il rendering in futuro imposter l uso della modalit x alette imposta la tavolozza colori del video a y non influenzato da on off ara Attiva la visualizzazione durante il rendering con modalit x e Sa paletta y n Disattiva la visualizzazione durante il rendering in futuro verr usata modalit x e tavolozza colori y Display Gamma n n Imposta la gamma colore a n Imposta lo schermo gamma a n n L impostazione Display on o il parametro D permette di mostrare l immagine mentre viene renderizzata anche se alcuni sistemi non hanno uscita grafica a schermo POV Ray in grado di mostrare una versione dell immagine 80 per 24 con car
568. un voltaggio che mandato al monitor per accendere 1 fosfori rossi verdi o blu dello schermo Il voltaggio solitamente proporzionale al valore di ciascuna componente del colore Il valore della gamma diventa importante quando si tratta di visualizzare intensit che costituiscono valori intermedi tra 0 e 255 Per esempio 127 dovrebbe rappresentare il 50 del massimo dell intensit per un punto Sui sistemi che non applicano la correzione della gamma 127 sar convertito al 50 del massimo voltaggio ma a causa del modo in cui funzionano i fosfori ed i cannoni elettronici di un monitor questo valore pu essere solo il 22 della massima intensit di colore su un monitor che ha un valore di gamma di 2 2 Per mostrare un punto che ha il 50 dell intensit del colore su quel monitor dovremmo usare un voltaggio pari al 73 del voltaggio massimo che significa adottare un valore per quel punto di 186 La relazione tra il valore di input del pixel e l intensit della visualizzazione al monitor pu essere approssimata con una funzione esponenziale AN oluce iluce display gamma dove oluce l intensit di output e iluce l intensit del pixel di input Entrambi i valori stanno tra zero ed uno dallo 0 al 100 Molti monitor hanno un valore di gamma tra 1 8 e 2 6 Usare la formula vista ora con valori di gamma del monitor maggiori di 1 significher che la luminosit dell output sar minore della luminosit dell input Volendo avere
569. una frase clipped by Dal momento che questi oggetti sono finiti POV Ray pu usare il bounding automatico per aumentare la velocit di rendering Come tutti gli altri oggetti possono essere spostati ruotati e ridimensionati 7 5 3 1 Superfici Bicubiche Una superficie bicubica una superficie curva tridimensionale simulata da un insieme di triangoli POV Ray supporta un tipo di superficie bicubica chiamata superficie di Bezier Una superficie bicubica definita come segue bicubic patch 284 type TIPO DI SUPERFICIE flatness BIDIMENSIONALITA u_steps NUMERO DI U STEPS v_steps NUMERO DI V STEPS lt CP1 gt lt CP2 gt lt CP3 gt lt CP4 gt lt CP5 gt lt CP6 gt lt CP7 gt lt CP8 gt lt CP9 gt lt CP10 gt lt CP11 gt lt CP12 gt lt CP13 gt lt CP14 gt lt CP15 gt lt CP16 gt La parola chiave type seguita da un numero che pu essere 0 oppure 1 Per il tipo 0 solo i punti di controllo sono memorizzati da POV Ray Questo significa che necessaria una piccola quantit di memoria ma POV Ray dovr fare molti calcoli al momento del rendering Il tipo 1 suddivide la superficie in molte sotto superfici incrementando notevolmente la velocit del rendering ma aumentando la quantit di memoria necessaria I quattro parametri type flatness u stepsev steps possono apparire in qualunque ordine Sono seguiti da sedici vettori che definiscono le coordinate x y z
570. unzioni elencate sopra specificata dalla presenza della parola chiave corrispondente Il punto h 0 che inizia la sequenza considerato all interno del frattale Julia se nessuno dei vettori della sequenza esce da una ipersfera sfera a quattro dimensioni di raggio 4 attorno all origine prima che l iterazione dei numeri raggiunga il valore specificato per max iterations Aumentando questo valore alcuni punti escono dall ipersfera formando il frattale A seconda del vettore di partenza assegnato l oggetto frattale non necessariamente un oggetto aggregato pu accadere che sia una nuvola di polvere frattale Usando un basso valore di 272 max iterations possibile riunire la polvere e creare un oggetto solido Un valore alto per max iterations pi accurato ma richiede un maggiore tempo di rendering Anche se non sono calcolati accuratamente gli oggetti ottenuti con un basso valore di max iterations possono comunque essere molto interessanti Dal momento che l oggetto matematico descritto da questo algoritmo quadridimensionale e POV Ray renderizza oggetti tridimensionali si deve trovare un modo di ridurre il numero delle dimensioni dell oggetto da 4 a 3 Questo si ottiene facendo intersecare il frattale quadridimensionale con un piano tridimensionale e proiettando l intersezione nello spazio tridimensionale Questo piano lo spazio tridimensionale perpendicolare a NORMALE 4D e distante DISTANZA dall origine Non sono accetta
571. uperfici in generale fai molti tentativi fino a quando l illuminazione complessiva della scena non ti soddisfa Il modo in cui fai queste scelte guidato dall immagine di anteprima o dal file immagine memorizzato su disco che a loro volta sono dipendenti dalla gamma dell hardware video scheda e monitor che usi Ci significa che tu stesso stai effettuando delle correzioni della gamma nella scena di POV Ray in relazione al tuo hardware La scena genera un immagine che a sua volta ha una correzione della gamma appropriata all hardware e che di conseguenza viene visualizzata correttamente su sistemi simili al tuo Quando questa scena viene renderizzata su di un altra piattaforma pu risultare troppo luminosa o troppo scura indipendentemente dal formato utilizzato per il file immagine Invece di modificare tutte le scene per ottenere un unico valore di gamma POV Ray 3 0 permette di specificare nel file della scena il valore della gamma colore del sistema su cui l immagine stata creata L impostazione assumed gamma in associazione con il parametro INI Display Gamma istruisce POV Ray su come correggere la gamma colore di una determinata scena in modo che sia l immagine di anteprima che il file immagine di output abbiano la corretta luminosit su tutti i sistemi Dato che la correzione della gamma eseguita da POV Ray produce immagini della luminosit giusta per l hardware video usato indipendentemente dal formato del file di output utili
572. ura della Superficie 4 7 2 Aggiungere Rugosita 4 7 3 Creare Pattern di Colore 4 7 4 Texture Predefinite 4 8 Opzioni Avanzate sulle Texture 4 8 1 Pattern sui Pigmenti e sulle Normali 4 8 2 Pigmenti 4 8 2 1 Usare Liste di Colori 4 8 2 2 Usare Pigmenti e Pattern 4 8 2 3 Usare Modificatori di Pattern 4 8 2 4 Usare Pigmenti Trasparenti e Texture Stratificate 4 8 2 5 Usare Mappe di Pigmentazione 4 8 3 Normali 4 8 3 1 Modificatori di Normali 4 8 3 2 Fondere le Normali 4 8 4 Finitura 4 8 4 1 Luce Ambiente 4 8 4 2 Punti di Riflessione 4 8 4 3 Utilizzo di Reflection e Metallic 4 8 4 4 Rifrazione 4 8 4 5 Attenuazione delle Luci 4 8 4 6 Falsi Riflessi Caustics 4 8 4 6 1 Cosa Sono i Riflessi 4 8 4 6 2 Applicare Riflessi ad una Scena 4 8 4 6 3 Riflessi e Normali 4 8 4 7 Iridescenza 4 8 5 Aloni 4 8 5 1 Cosa Sono Gli Aloni 4 8 5 2 L Alone Emittente 4 8 5 2 1 Iniziare con un Alone Semplice 4 8 5 2 2 Aumentare la Luminosita 4 8 5 2 3 Aggiungere Turbolenza 4 8 5 2 4 Ridimensionare l Alone 4 8 5 2 5 Usare la Frequenza per Migliorare il Realismo 4 8 5 2 6 Cambiare il Colore dell Alone 4 8 5 3 Alone Tralucente 4 8 5 4 Alone Attenuante 4 8 5 4 1 Fare una Nuvola 4 8 5 4 2 Ridimensionare il Contenitore dell Alone 4 8 5 4 3 Aggiungere Aloni Supplementari 4 8 5 5 L Alone Polvere 4 8 5 5 1 Iniziare con un Oggetto Illuminato da uno Spot 4 8 5 5 2 Aggiungere Polvere 4 8 5 5 3 Diminuire la Densit della Polvere 4 8 5 5 4
573. usato come viene mostrato nell esempio di seguito declare R1 seed 0 declare R2 seed 12345 sphere lt rand Rl rand R1l rand R1 gt rand R2 L uso di pi generatori casuali molto comodo in situazioni dove venga usato rand per posizionare un gruppo di oggetti e poi si decida di usarlo di nuovo in una posizione magari precedente per definire colori o altri gruppi di oggetti Senza flussi separati di rand tutti gli oggetti cambierebbero la loro posizione ogni volta che la funzione viene richiamata Questo sarebbe molto seccante sin A Seno di A D come risultato il seno dell angolo A dove A misurato in radianti sqrt A Radice quadrata di A D come risultato il valore il cui quadrato A tan A Tangente di A D come risultato la tangente dell angolo A dove A misurato in radianti 7 1 8 2 Funzioni Vettoriali 237 Le seguenti sono funzioni che considerano uno o pi vettori e o parametri decimali e danno come risultato valori vettoriali o decimali Tutte queste funzioni supportano solo vettori a tre componenti Definiamo con A e B due espressioni valide che rappresentino due vettori a tre componenti e con F un espressione valida che rappresenta un numero decimale vaxis_rotate A B F Ruota A attorno a B del valore F Specificate le coordinate x y z del punto nello spazio designato dal vettore A ruota quel punto intorno ad un asse arbitrario definito dal vettore B Tale vettore vi
574. vari punti usando linee dritte anche se il calcolo viene effettuato per mezzo di una spline cubica Questo esempio crea una linea ondulata normal gradient x questo il TIPO DI MOTIVO slope map 0 lt 0 5 1 gt inizia al centro e sale 0 25 lt 1 0 0 gt al centro si ha una pendenza piana 5 lt 0 5 1 gt dal punto centrale inizia a scendere 75 lt 0 0 0 gt inclinazione piatta in fondo lt 0 5 1 gt finisce al centro e cresce di nuovo roo L esempio inizia all altezza di 0 5 e cresce fino ad 1 ad un quarto della funzione siamo ad altezza 1 e inclinazione 0 Lo spazio tra questi due punti delimitato da una curva che sale lentamente perch il valore iniziale e finale della pendenza sono diversi A met siamo a mezza altezza la curva sta 322 scendendo e arriver in fondo a del suo percorso Bisogner arrivare fino al valore 1 per completare il ciclo Ci sono molti esempi nella scena di esempio slopemap pov Una slope map pu usare qualunque motivo eccetto brick checker hexagon bumps dents ripples waves wrinkles ebump map Si possono dichiarare e poi usare identificatori di slope map Per esempio declare Fancy Wave slope map ora iniziamo a inventare 0 0 lt 0 1 gt fai un triangolino 0 2 lt 1 1 gt gi 0 2 lt 1 1 gt fino a 0 4 lt 0 1 gt qui 0 4 lt 0 0 gt area piatta 0 5 lt 0
575. ve e phase pu avere valori da 0 0 ad 1 0 per fare muovere le onde in un animazione Questi valori si calcolano tramite la seguente formula nuovo valore fmod vecchio frequency phase 1 0 7 6 8 3 Forma d Onda La maggior parte dei pattern che usano mappe di colore pigmento normali texture o slope utilizzano gli elementi all interno della mappa nell ordine da 0 0 a 1 0 I pattern wood e marble usano mappe che vanno da 0 0 ad 1 0 e poi le invertono e proseguono usando i colori da 1 0 a 0 0 La differenza pu essere facilmente notata quando questi pattern sono usati come pattern di normali senza mappe I pattern come gradient o onion se usati nelle normali renderanno la superficie ondulata con onde che hanno una certa pendenza e quindi scendono bruscamente Questo tipo di onda detto ramp wave Comunque la pendenza di wood e marble arriva ad un picco e poi scende usando un onda triangolare Nelle precedenti versioni di POV Ray non c era modo di cambiare i tipi di onda Potevi simulare un onda triangolare con una ramp wave onda a dente di sega duplicando 362 gli elementi della mappa ed invertendoli ma non c era modo di usare un onda a dente di sega su wood o su marble Ora per un qualunque pattern che definito da una mappa si pu modificare la forma d onda usata Per esempio pigment wood color map Mappa ramp wave Sono disponibili anche onde sinusoidali sine wave e scolpite scallop wave Questi tipi sono fr
576. vi di trasparenza si possono creare dei 341 campi molto densi Nel caso della halo polvere il canale della trasparenza impiegato per specificare quanta luce viene filtrata dalla corrispondente voce della mappa dei colori Per tutti gli altri tipi di halo questo valore viene ignorato Non esiste una mappa di colori predefinita 7 6 4 7 Campionamento per gli Aloni Gli aloni sono calcolati simulando un raggio di luce che attraversa un campo di densit A fasi discrete vengono presi campioni di colore dal campo di densit il loro valore viene valutato in accordo alla mappatura del colore ed a tutti gli altri parametri Gli effetti dei singoli campioni sono quindi accumulati per calcolare l effetto complessivo I seguenti parametri sono usati per regolare il processo di campionamento halo samples NUMERO DI CAMPIONT aa Level LIVELLO DI ANTI ALIASING aa _threshold SOGLIA DI ANTIALIASING jitter JITTER Ogni singolo parametro viene descritto nelle seguenti sezioni 7 6 4 7 1 Numero di Campioni Il numero di campioni samples non altro che il numero di raggi di luce da simulare Un grande numero di campioni render l halo pi realistica allungando per il tempo di rendering Il valore di default di samples 10 Questo valore sufficiente per un semplice campo di densit che non usi effetti di turbolenza turbulence Un alta turbolenza o l impiego di halo polvere dust halo necess
577. viene ripetuta Questo vettore deve essere su un asse In altre parole due delle sue tre componenti devono essere uguali a zero Ad esempio pigment wood warp repeat 2 x significa che da x 0 ad x 2 hai il pattern come normalmente ma da x 2 a x 4 ottieni lo stesso pattern spostato di due unit nella direzione x Sfortunatamente si ottengono copie esatte e ci non molto realistico Il vettore offset facoltativo trasla il pattern ogni volta che esso si ripete Per esempio pigment wood warp repeat x 2 offset z 0 05 significa che otteniamo la prima copia del pattern da x 0 a x 2 con il pattern preso a z 0 ma tra x 2 e x 4 POV Ray lo calcola per z 0 05 Nell intervallo da x 4 a x 6 viene calcolato per z 0 10 ecc In questo modo ogni copia del pattern leggermente diversa dalla precedente Non ci sono 369 restrizioni sul vettore offset Infine il vettore flip capovolgi fa ribaltare il pattern nella direzione specificata La prima copia del pattern nella direzione positiva non ribaltata mentre della seconda e di tutte le copie pari otterremo l immagine speculare Il vettore flip un vettore a tre componenti booleane cio ogni componente specifica se il pattern deve essere capovolto lungo un dato asse Per esempio pigment wood warp repeat 2 x flip lt 1 1 0 gt significa che ogni copia pari del pattern sar capovolta rispetto agli assi x e y ma non rispetto all asse z Tutt
578. volge attorno all asse y Il colore corrispondente al valore 0 0 della mappa dei colori parte dall asse delle x positive ed avvolge la mappa dei colori in direzione est ovest con il colore di indice 0 25 in corrispondenza dell asse z 0 5 sull asse x 0 75 a z e 1 0 di nuovo a x Normalmente questo pattern usato con il modificatore frequency per creare pi asce di colore attorno all asse y Il pattern radial usa l onda ramp_wave di default ma pu usare qualunque tipo di onda Il pattern radial pu essere usato con mappe di colore pigmento normali texture e slope 7 6 7 18 Ripples Increspature Il pattern ripples era originariamente ideato come pattern da usare per le normali Rende la superficie simile a dell acqua increspata Le increspature partono da 10 punti casuali all interno del cubo che si estende da lt 0 0 0 gt a lt 1 1 1 gt Il pattern pu essere quindi ridimensionato per avvicinare o distanziare i centri delle onde Normalmente le increspature distano fra loto circa un unit La parola chiave frequency frequenza modifica lo spazio tra le increspature La parola chiave phase pu essere usata per farle scorrere verso l esterno per ottenere realistiche animazioni Vedi il 359 paragrafo Number Of Waves Numero d Onde per maggiori dettagli Quando viene usato per le normali il pattern ripples fa uso di una funzione speciale di perturbazione delle normali e quindi non si pu utilizzare con modificatori di mappe di
579. x 407 Williamstown Victoria 3016 Australia fino al 31 12 1998 Joel NewKirk 255 9 Echelon Rd Voorhees NJ USA 08043 Eduard Schwan versione Macintosh 1112 Oceanic Drive Encinitas California USA 92024 4007 fino al 30 6 1998 Appendice E Ringraziamenti Ringraziamenti per avere contribuito al manuale del programma vanno a in ordine alfabetico Charles Fusner tutorial su blob lathe e prisma Appendice F Suggerimenti e Consigli 402 Appendice F 1 Suggerimenti per il Design delle Scene Esiste una grande quantit di ottimi modellatori shareware disponibili per DOS che creeranno file scena di POV Ray Le fondi elencate in altre parti di questo manuale sono i posti migliori dove reperirli Centinaia di utilit speciali sono state scritte per POV Ray programmi di conversione dati generatori di oggetti interfacce e altro Non sarebbe possibile elencarli tutti qui ma ancora le fonti elencate ne avranno la maggior parte La maggior parte seguendo lo spirito di POV Ray sono gratuiti o shareware a basso prezzo Alcune scene estremamente elaborate sono state prima progettate su carta Mike Miller raccomanda la carta millimetrata con divisione in decimi che permette la conversione alle unit decimali in modo naturale Iniziare con una scena elementare come una copia di basicvue pov ed ampliarla In generale posizionare gli oggetti vicino all origine con la macchina fotografica rivolta nella direzione delle z n
580. x positivo e trascina l immagine lungo una rotazione intorno all asse y L immagine copre la sfera esattamente una volta La parola chiave once non ha nessun rapporto con questi comandi Con map_type 2 si avr una mappatura cilindrica Si assume che un cilindro di un qualunque diametro giaccia lungo l asse y L immagine si srotola intorno al cilindro con le stesse modalit della sfera e rimane alta 1 cio da y 0 a y 1 Questo applicato a tutte le altezze superiori a meno che non sia specificata la parola chiave once Infine map type 5 a forma di toro Si assume cio che un toro di raggio maggiore uguale ad uno sia posizionato all origine del piano x z L immagine si comporta come nei due metodi descritti sopra La parte superiore ed inferiore del contorno della mappa si muoveranno attorno al toro e si uniranno nella parte interna del toro I tipi 3 e 4 sono ancora in via di ampliamento Notare che le opzioni map _type possono essere applicate anche alla bump map e alla material map 7 6 1 5 3 I Modificatori Filter e Transmit Per rendere trasparente parte tutta la mappa si possono specificare i valori di trasparenza per la tavolozza di colori utilizzata dalle immagini PNG GIF IFF Si pu fare questo aggiungendo dopo il nome del file la parola chiave filter o transmit La parola chiave seguita da due numeri Il primo numero rappresenta il numero corrispondente al colore della tavolozza da rendere trasparente il secondo rappresenta la
581. xture stratificate non filtrano la luce in entrata Altre parti dei calcoli dell illuminazione funzionano in modo diverso Il risultato ottimo e permette di ottenere bellissime texture ma queste sono diverse da vere e proprie superfici sovrapposte Vedi il file stones ine nella directory dei file INC per alcune splendide texture stratificate E da notare che le texture stratificate devono fare uso della parola chiave texture attorno ad ogni frase di pigmento normale o finitura Non si possono usare pi frasi di pigmento normale o finitura senza includerle nella frase texture Le texture stratificate possono essere dichiarate Per esempio declare Esempio Strat texture T1 texture T2 texture T3 pu essere richiamato come segue object Coso texture Esempio Strat tutti i pigmenti normali o finiture qui cambiano solo lo strato inferiore Se vuoi usare una texture stratificata in un pattern modulare come checker hexagon 0 brick o in una mappa dei materiali devi prima dichiarare la texture e poi richiamarla all interno di una singola frase di texture Una texture speciale non pu essere usata come strato in una texture stratificata Comunque puoi usare texture stratificate come un qualunque componente di una texture speciale 347 7 6 7 Motivi Pattern POV Ray usa un metodo detto Three dimensional solid texturing per definire il colore la rugosit e le
582. y Team Mentre non viene fatta alcuna restrizione sulle lettere POV si richiede di non utilizzare POV nel nome di altri prodotti Ci tende ad asserire implicitamente che il prodotto appartiene al POV Ray Team I creatori di programmi esistenti che utilizzano POV precedentemente alla pubblicazione di questo documento non devono ritenersi colpevoli posto che chiariscano che il loro programma non un prodotto del POV Ray Team n viene supportato da esso Appendice A 12 Revoca della Licenza LA VIOLAZIONE DI QUESTA LICENZA COSTITUISCE UN INFRAZIONE ALLE LEGGI SUL COPYRIGHT RISULTERA NELLA REVOCA DI TUTTI I PRIVILEGI SULLA DISTRIBUZIONE E PUO RISOLVERSI IN PENE CIVILI O PENALI Coloro che violano questa licenza e a cui viene proibita la distribuzione del programma saranno identificati in questo documento A tale proposito PC Format una rivista pubblicata da Future Publishing Ltd nel Regno Unito ha distribuito versioni incomplete di POV Ray 1 0 in violazione alla licenza valida in quel periodo In seguito hanno cercato di distribuire la versione 2 2 del programma in violazione alla licenza valida in quel periodo Ci sono prove che altre societ del gruppo Future Publishing hanno violato i nostri termini Pertanto si proibisce a PC Format ed a qualunque altra rivista libro o pubblicazione in CD ROM di propriet del gruppo Future Publishing la distribuzione del software POV Ray fino a nuovo ordine Appendice A 13 Scar
583. y non ti avrebbero consentito di cambiare versione all interno di un oggetto o di una dichiarazione ma questa restrizione stata eliminata in POV Ray 3 0 Le future versioni di POV Ray potrebbero continuare a non avere una piena compatibilit con le sintassi precedenti nonostante l istruzione version Cercheremo per quanto possibile di rimanere in linea con la sintassi della versione 3 0 7 2 5 Istruzioni Condizionali POV Ray 3 0 consente una variet di nuove istruzioni del linguaggio per implementare analisi condizionali delle varie sezioni del tuo file di scena Questo particolarmente utile per descrivere il moto degli oggetti per le animazioni ma ha anche altri usi E anche utile in una istruzione di ciclo while E possibile annidare le istruzioni condizionali fino a una profondit di 200 livelli 7 2 5 1 Istruzioni IF ELSE L Istruzione condizionale pi semplice quella tradizionale if se Essa si esprime nella forma if COND Questa sezione analizzata se COND vera else Questa sezione analizzata se COND falsa fend Fine della parte condizionale dove COND un espressione decimale che riporta a un valore booleano Un valore di 0 0 falso ed ogni valore diverso da zero vero Nota che valori estremamente bassi come circa 1e 10 sono considerati uguali a zero e quindi falsi Sono richieste le parentesi intorno alla condizione L istruzione else opzionale L istruzione en
584. ziona ma non raccomandato La maniera migliore creare una directory chiamata povray e alcune sottodirectory chiamate include demo scenes util L archivio autoscompattante che viene usato in alcune versioni del programma creer automaticamente queste directory Se vengono create a mano la struttura delle directory dovrebbe essere qualcosa di questo genere povray povray bin povray docsdemo povray help povray include povray ini povray pov3demo povray povscn povray renderer Copiare il file eseguibile e la documentazione nella directory chiamata povray Copiare 1 file include inc nella sottodirectory include Copiare i file di esempio nella sottodirectory scenes copiare tutti i programmi di utilit e i file ad essi collegati nella sottodirectory util I propri file andranno nella directory scenes Inoltre andr modificato il proprio path percorso di ricerca aggiungendovi i percorsi povray e povray util in modo che gli eseguibili possano essere fatti funzionare da qualunque directory Si deve fare attenzione al fatto che alcuni sistemi operativi non hanno un equivalente del percorso di ricerca Il secondo metodo un poco pi difficile da applicare ma preferibile Ci sono molti file associati a POV Ray ed pi semplice averci a che fare quando sono separati in sottodirectory diverse 3 2 Utilizzo di Base Attenzione qualora il programma sia stato installato senza servirsi del programma di installazione ins
585. zzato Inoltre la correzione si avvale del formato di dati ad alta precisione che POV Ray utilizza internamente per cui d risultati migliori della correzione che si pu effettuare dopo che il file stato scritto su disco Per quanto non si notino differenze nell output del proprio sistema con e senza l impostazione assumed gamma questo parametro importante qualora la scena debba essere renderizzata su di un altra piattaforma 7 8 4 HF_Gray_16 385 Questa impostazione utile quando si utilizza POV Ray per generare height field La sintassi global settings 4 hf gray 16 on off dove on off attiva o disattiva l opzione Se la parola chiave viene specificata senza i valori on od off allora l opzione viene attivata Se non specificato nf gray 16 in nessuna frase delle impostazioni globali allora la si considera disattivata Quando la funzione attivata il file di output sar nel formato proprio degli height field con l altezza di ogni punto dipendente dalla luminosit del pixel La luminosit del pixel calcolata nello stesso modo in cui le immagini a colori sono convertite in immagini a toni di grigio altezza 0 3 rosso 0 59 verde 0 11 blu Attivare l opzione hf gray 16 far s che l anteprima sia visualizzata in bianco e nero anzich a colori Ci per permetterti di vedere quale sar l aspetto dell height field poich alcuni formati di immagine immagazzinano le informazioni relative in un modo di
Download Pdf Manuals
Related Search
www.liberliber.it www.liberliber.it www.liberliber.it i promessi sposi
Related Contents
Guide de démarrage rapide - CBC Group Troubleshooting Guide Dicota PerfectSkin High Power User`s Manual of WLAN Broadband router - Nintendo Honda HRC7018 User's Manual 99-VS2000V Manuel d`utilisation Samsung HT-P10 User Manual Philips Car infotainment system CID3695 Draft Copyright © All rights reserved.
Failed to retrieve file