Immagini in tre dimensioni: il realismo del ray-tracing. ottimizzate nel miglior modo possibile.



Documenti analoghi
Il calendario di Windows Vista

Microsoft Office XP. dott. ing. Angelo Carpenzano. La suite Microsoft Office XP

Software per Helpdesk

PowerPoint 2007 Le funzioni

Registratori di Cassa

lo PERSONALIZZARE LA FINESTRA DI WORD 2000

GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain.

Il sofware è inoltre completato da una funzione di calendario che consente di impostare in modo semplice ed intuitivo i vari appuntamenti.

Biblioteca di Cervia NOZIONI BASE DI INFORMATICA

STUDIUM.UniCT Tutorial per gli studenti

MANUALE MOODLE STUDENTI. Accesso al Materiale Didattico

L evoluzione del mosaico digitale

GUIDA UTENTE PRIMA NOTA SEMPLICE

Manuale servizio Webmail. Introduzione alle Webmail...2 Webmail classica (SquirrelMail)...3 Webmail nuova (RoundCube)...8

Introduzione a 3ds Max

Ti consente di ricevere velocemente tutte le informazioni inviate dal personale, in maniera assolutamente puntuale, controllata ed organizzata.

Cosa è un foglio elettronico

TRASMISSIONE RAPPORTO ARBITRALE IN FORMATO PDF

Manuale Operativo per l utilizzo della piattaforma E-Learning@AQ. Versione 1.1

CREAZIONE DI UN DATABASE E DI TABELLE IN ACCESS

Come costruire una presentazione. PowerPoint 1. ! PowerPoint permette la realizzazione di presentazioni video ipertestuali, animate e multimediali

Presentazione della release 3.0

Alla scoperta della nuova interfaccia di Office 2010

4 3 4 = 4 x x x 10 0 aaa

Guida informatica per l associazione #IDEA

Istruzioni di installazione di IBM SPSS Modeler Text Analytics (licenza per sito)

Capitolo 4 Pianificazione e Sviluppo di Web Part

Uso dei modelli/template

MOCA. Modulo Candidatura. [Manuale versione 1.0 marzo 2013]

Il web server Apache Lezione n. 3. Introduzione

Visual basic base Lezione 01. L'ambiente di sviluppo

Manuale di Aggiornamento BOLLETTINO. Rel H4. DATALOG Soluzioni Integrate a 32 Bit

1. Il Client Skype for Business

Nuova procedura di Cassa Contanti Wingesfar: istruzioni per le farmacie Novembre 2009

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti

Sistema operativo. Sommario. Sistema operativo...1 Browser...1. Convenzioni adottate

Guida rapida all uso di Moodle per gli studenti

ProSky Progettare una facciata continua non è mai stato così semplice.

Animazioni 3D. Informatica Grafica I. Le basi dell'animazione 3D. Le basi dell'animazione 3D. Le basi dell'animazione 3D. Le basi dell'animazione 3D

Manuale Amministratore Legalmail Enterprise. Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise

1) GESTIONE DELLE POSTAZIONI REMOTE

Manuale Utente Albo Pretorio GA

La VPN con il FRITZ!Box Parte I. La VPN con il FRITZ!Box Parte I

PORTALE CLIENTI Manuale utente

Manuale Terminal Manager 2.0

Manuale Utente Amministrazione Trasparente GA

Convertitori numerici in Excel

2010 Ing. Punzenberger COPA-DATA Srl. Tutti i diritti riservati.

Esplorate le possibilità di Adobe Acrobat 3.0

La prima piattaforma per chi insegna e per chi impara l italiano

Mon Ami 3000 Conto Lavoro Gestione del C/Lavoro attivo e passivo

InfiXor. il programma facile e versatile per preventivi veloci e completi. il software di preventivazione per produttori e rivenditori di infissi

INDICE. IL CENTRO ATTIVITÀ... 3 I MODULI... 6 IL MY CLOUD ANASTASIS... 8 Il menu IMPORTA... 8 I COMANDI DEL DOCUMENTO...

Office 2007 Lezione 02. Le operazioni più

lem logic enterprise manager

MANUALE PARCELLA FACILE PLUS INDICE

MANUALE UTENTE Fiscali Free

PHOTOSHOP BREVE TUTORIAL

Le principali novità di PowerPoint XP

Capitolo 3 Guida operativa del programma TQ Sistema

5. Fondamenti di navigazione e ricerca di informazioni sul Web

Creare una nuova spedizione personalizzata.

Capitolo 1 Installazione del programma

Guida di Pro Spam Remove

FPf per Windows 3.1. Guida all uso

MANUALE D'USO DEL PROGRAMMA IMMOBIPHONE

Manuale d'uso del Connection Manager

Mon Ami 3000 Multimagazzino Gestione di più magazzini fisici e/o logici

L archiviazione della posta elettronica può aiutarci a recuperare spazio senza costringerci a cestinare documenti importanti

INDICE. Accesso al Portale Pag. 2. Nuovo preventivo - Ricerca articoli. Pag. 4. Nuovo preventivo Ordine. Pag. 6. Modificare il preventivo. Pag.

NUOVA PROCEDURA COPIA ED INCOLLA PER L INSERIMENTO DELLE CLASSIFICHE NEL SISTEMA INFORMATICO KSPORT.

Mon Ami 3000 Conto Deposito Gestione e tracciabilità degli articoli consegnati o ricevuti in C/Deposito

Corso di PHP. Prerequisiti. 1 - Introduzione

Mon Ami 3000 Produzione base Produzione articoli con distinta base e calcolo dei fabbisogni

FIRESHOP.NET. Gestione della distinta base & della produzione.

Configurazione della ricerca desktop di Nepomuk. Sebastian Trüg Anne-Marie Mahfouf Traduzione della documentazione in italiano: Federico Zenith

EDICOLA MANAGER EM Importer

MacBOOK. Gestionale per librerie Windows e Mac

SPRING SQ COMUNICAZIONE OPERAZIONI IVA NON INFERIORI A 3000 EURO PER L ANNO 2011

Guida alla registrazione on-line di un DataLogger

Macromedia Flash. Realizzato da Emanuela Scionti

Utilizzo della Intranet, forum privati Soci e Staff

POSTECERT POST CERTIFICATA GUIDA ALL USO DELLA WEBMAIL

Uso di base delle funzioni in Microsoft Excel

Guida rapida Vodafone Internet Box

ControlloCosti. Cubi OLAP. Controllo Costi Manuale Cubi

Banca dati Professioniste in rete per le P.A. Guida all uso per le Professioniste

Il funzionamento di prezzipazzi, registrazione e meccanismi

Esercitazione 1 primi passi e uso dei file

Introduzione. Installare EMAS Logo Generator

Setup e installazione

VADEMECUM PIATTAFORMA DOCEBO Operazioni del Docente Corsista

Novità di Access 2010

Cominciamo dalla barra multifunzione, ossia la struttura a schede che ha sostituito la barra dei menu e la barra delle icone (Figura 1).

Che differenza c è tra una richiesta XML ed una domanda XML? (pag. 4)

per scrivere un articolo da prima pagina! per inviare una newsletter Come si crea Comunicazione Anfaa Edizione 4a.2013

Guida. Macchina Scratch

Il Programma... 3 I moduli... 3 Installazione... 3 La finestra di Login... 4 La suite dei programmi... 6 Pannello voci... 10

Gestione Risorse Umane Web

Transcript:

POSTARUBRICHE Di Marco Fioretti SOLUZIONI Immagini in tre dimensioni: il realismo del ray-tracing INTERNET Grafica in 3d ma senza costi per il software: Nel CAD come creare immagini perfette con Blender numero scorso di Pc Professionale abbiamo visto come sia possibile creare o animare oggetti o intere scene tridimensionali, anche estremamente complessi, con programmi Open Source come Blender (www.blender.org). La creazione delle immagini finali comprende varie operazioni che richiedono migliaia e migliaia di operazioni matematiche e non sono, almeno nell implementazione di Blender, tutte ottimizzate nel miglior modo possibile. Una delle fasi per cui Blender, pur facendo un buon lavoro grazie anche a diversi plug-in, non è sempre la soluzione migliore è il cosiddetto rendering. Lo scorso mese avevamo sinteticamente definito questa attività come scattare una fotografia dal punto di vista desiderato ai vari oggetti creati in precedenza, dopo SVILUPPO averli rivestiti con superfici adegua- Per spiegare a Pov-Ray come creare una scena occorre dargli istruzioni in un linguaggio apposito, di cui si vede un esempio in questa figura, dalla struttura relativamente semplice: lo scopo è specificare con parole chiave posizione e caratteristiche di ogni oggetto o sorgente di luce e dello sfondo. te (texture). Anche in teoria, perchè il risultato sia davvero realistico non basta che il modello sia perfetto. Occorre riprodurre con la massima accuratezza il modo con cui la luce si propaga, si trasforma, viene assorbita e si riflette da un oggetto al- GIOCHI l altro prima di raggiungere l osservatore, o la fotocamera virtuale che fotografa la scena. È proprio di come far questo con software Open Source che parleremo questo mese. 220 Per apprezzare il realismo delle immagini create da Pov-Ray è indispensabile visualizzare con un buon monitor gli esempi pubblicati sul suo sito. Per valutarne la flessibilità, invece, bastano anche fotogrammi come questo, presi da un animazione creata con un solo file di istruzioni, di dimensioni non superiori a 512 Byte. Il metodo di rendering fotorealistico più facile da applicare, nel senso che esistono applicativi che ne fanno uso ormai completi e ricchi di documentazione, si chiama ray-tracing (tracciamento dei raggi). Il principio su cui si basa è quello di ricostruire il percorso che i raggi di luce farebbero, nel mondo reale, dalle varie sorgenti fino all occhio dell osservatore, dopo essere stati riflessi dal modello. Nella realtà dei fatti questo principio viene applicato al contrario, per ridurre al minimo i calcoli necessari. Prima che il software possa iniziare il tracciamento vero e proprio, l utente deve fornire una descrizione accurata di tutti gli elementi che concorrono a realizzare l immagine finale. Questi dati possono essere forniti attraverso qualche interfaccia grafica, ma il modo più potente e flessibile è quello di scriverli direttamente in un file di testo, nel linguaggio voluto dal programma di ray-tracing. I modelli tridimensionali completi dei vari oggetti, creati con Blender o programmi equivalenti, e il punto di vista, cioè la posizione della fotocamera virtuale che crea l immagine, sono solo la prima categoria di dati da fornire. Oltre a essi occorre definire le caratteristiche di tutte le sorgenti di luce, dal loro colore e intensità alla posizione. La descrizio-

ne deve comprendere anche le proprietà delle superfici di tutti gli oggetti e il loro contenuto, se sono anche solo parzialmente trasparenti. Una volta aggiunto tutto questo l ultima informazione che manca è la natura stessa dell atmosfera fra gli oggetti: è possibile simulare la presenza e le relative interferenze causate da nebbia, pulviscolo o addirittura le distorsioni causate da fiamme. Quando tutto è pronto e il programma di ray-tracing inizia effettivamente a lavorare esso procede, come avevamo accennato, all inverso di quanto accade nel mondo reale. In quest ultimo il sole, o qualsiasi altra sorgente luminosa, emettono miliardi di raggi, di cui solo una piccolissima parte finisce, rimbalzando da un oggetto all altro, a formare l immagine percepita dall occhio: tutti gli altri non danno alcun contributo al risultato, quindi sarebbe inutile studiarne la traiettoria. Per questo motivo, cioè semplicemente per risparmiare tempo, i software di ray-tracing partono dai pixel che comporranno l immagine finale. Per ognuno di loro vengono tracciati all indietro, cioè verso gli oggetti da fotografare, uno o più raggi, che per questo motivo potremmo chiamare inversi. Se questi ultimi incontrano uno degli oggetti si calcola, con la massima esattezza possibile, quale luce viene emessa verso l obiettivo dal punto colpito dal raggio: questa è esattamente la luce che, viaggiando in senso contrario sullo stesso raggio, contribuirà a creare il pixel da cui era partito. Il principio fondamentale del raytracing è tutto qui, anche se nella pratica i calcoli sono molto più complicati. Se, per esempio, il punto colpito da un raggio appartiene a una superficie capace di riflettere la luce oppure parzialmente trasparente (insomma, nella quasi totalità dei casi pratici), le caratteristiche del raggio di luce inviato verso la telecamera non dipenderanno soltanto dalla texture applicata a quella superficie e dalle sorgenti di luce presenti nella scena. Certo, è indispensabile tracciare da quel punto della superficie dei raggi inversi, per vedere se e con qua- Ray-tracing: l interriflessione diffusa Il ray-tracing puro e semplice non è l unico sistema per creare scenari assolutamente realistici e ha comunque dei limiti. La luce che da ogni punto di un generico oggetto raggiunge il nostro occhio o l obiettivo di una fotocamera (reale o virtuale, come nel caso del ray-tracing) è dovuta alla combinazione di tre fenomeni: diffusione, rifrazione e riflessione. Senza entrare in discussioni di fisica, il risultato pratico di questi fenomeni è il fatto che, nelle immagini che percepiamo direttamente con i nostri occhi o tramite una buona fotografia, il colore effettivo di ogni punto dei vari oggetti o delle varie zone in ombra dipende anche dal colore della luce proveniente o riflessa da ogni punto degli oggetti vicini. Certo, si tratta di un contributo minimo e difficile, se non impossibile, da riconoscere e isolare dal resto, almeno a occhio nudo. Eppure è proprio quello che spesso fa la differenza fra un semplice bel disegno tridimensionale, tipo cartone animato, e uno talmente realistico da sembrare una vera fotografia. Il modo più semplice di tenerne conto di questi contributi nel ray-tracing è tramite un artificio chiamato luce ambientale. Questa corrisponde più o meno al livello complessivo di luce presente in ogni punto della scena, corrispondente alla combinazione dei raggi riflessi in quel punto dai vari oggetti presenti. In questo modo ogni punto della scena diventa una sorgente di luce che illumina ciò che si vuole fotografare. Tenerne conto assegnando valori costanti o quasi di luce ambientale a una scena è ralativamente facile, ma rimane un approssimazione che non dà i migliori risultati. La soluzione più comune del problema è applicare un algoritmo più sofisticato chiamato interriflessione diffusa o radiosità (in inglese radiosity). Pov-Ray e molti altri motori di rendering possono farne uso, ma questa è una scelta che va effettuata con attenzione, perchè comporta notevoli vantaggi e svantaggi. Il problema principale è che aggiungere la radiosità ai calcoli di ray-tracing, già pesantissimi per definizione, può aumentarne moltissimo la durata. É proprio per questo che in Pov-Ray l uso della radiosità deve essere esplicitamente abilitato nel file di configurazione generale, oppure richiesto con un apposita opzione sulla linea di comando. Il lato positivo dell effettuare calcoli così complessi è che vanno fatti una volta sola, nel senso che i risultati non dipendono dal punto da cui viene visualizzata la scena. Più precisamente, finchè tutti gli oggetti e sorgenti di luce nella scena rimangono nelle stesse identiche posizioni, non c è alcun bisogno di ripetere la procedura solo perchè si scatta una fotografia da un altro punto di vista. L uso della radiosità è quindi perfetto per animazioni o serie di immagini completamente statiche, in cui si sposta soltanto la fotocamera. Come funziona la radiosità? Il principio di base della radiosità è quello di simulare gli scambi di energia fra i corpi solidi e le onde luminose che li colpiscono. Sono proprio questi scambi che, alla fine, provocano tutti i piccoli cambiamenti di colore, intensità e propagazione dei raggi luminosi che i nostri occhi inconsciamente si aspettano di trovare in ogni immagine davvero realistica. Per il motivo appena citato, gli algoritmi di radiosità sono un adattamento di quelli originariamente sviluppati per calcolare i trasferimenti di calore da un corpo a un altro. Le superfici degli oggetti che compongono una scena vengono divise in facce piane. Ognuna di esse riceve energia luminosa da (potenzialmente) tutte le altre, ne assorbe una parte e riflette il resto, in maniera dipendente dal suo colore e dal materiale da cui è composta. Gli scambi di luce diretti fra una faccia e un altra non dipendono solo dalla distanza ma dall essere o no rivolte l una verso l altra e dall eventuale presenza di ostacoli. In Pov-Ray la radiosità rimpiazza la luce ambientale costante menzionata all inizio dell articolo con un valore basato, in ogni punto, su luminosità e posizione delle facce più vicine. Si noti che anche questa rimane un approssimazione, perché l algoritmo viene applicato solo per calcolare la luce ambientale intorno alle facce visibili nell immagine finale e assume che gli oggetti che creano tale luce abbiano, intorno a loro, una luce ambientale costante. Una descrizione più completa, ma non troppo complessa, della radiosità e del suo uso nel ray-tracing si può trovare nell articolo Principles of Radiosity (www.linuxgraphic.org/ section3d/articles/radiosite/principe_en.html). 221

Pov-Ray è capace di creare immagini meravigliose, ma non ha un interfaccia grafica autonoma degna di tal nome, forse perché, una volta caricato il file di descrizione di una scena, non c è nulla da fare interattivamente. Utility come Kminpovgui permettono comunque di avviarlo direttamente da file manager, senza dover aprire un terminale. le angolazione raggiungono le varie sorgenti di luce, cioè per capire quanto e come queste ultime illuminano quel punto e come le sue caratteristiche modificano la luce riflessa. Questa, però, è solo la versione più rozza di ray-tracing, non sufficiente a ottenere risultati di ottima qualità. In realtà questa procedura andrebbe ripetuta con tutti gli altri oggetti presenti nella scena. Ognuno di loro, infatti, potrebbe generare uno o più raggi di luce che colpiscono proprio il punto sotto esame e quindi contribuiscono alla luce da questo riflessa. Questa breve descrizione dovrebbe essere sufficiente per capire qual è il principale problema delle operazioni di ray-tracing: la lentezza. Anche una scena relativamente semplice richiede milioni di calcoli in virgola mobile, perciò non è raro metterci parecchie ore o giorni, anche con un computer abbastanza potente, per renderla con il ray-tracing. Pov-ray Il programma Open Source di raytracing più conosciuto è Pov-Ray (Persistence Of Vision Raytracer, www.povray.org/), un applicativo che gira anche su Mac e Windows e supporta architetture multiprocessore e profondità di colore a 48 bit. La popolarità e flessibilità di Pov-Ray sono tali che si effettuano varie gare a tema su Internet. La sfida proposta in un recente torneo (http://local.wasp.uwa.edu.au/~pbourke/exhibition/scc5/final.html), di cui si vede un esempio nella prima figura di questo articolo, consisteva nel creare un animazione complessa di 100 fotogrammi con un singolo file di istruzioni di dimensione non superiore a 512 byte, senza poter nemmeno includere librerie esterne di qualsiasi tipo. Pov-Ray viene usato anche per applicazioni didattiche: il corso di Istituzioni di Matematica della Facoltà di Matematica dell Università Roma 3, ad esempio, tiene un corso basato proprio su questo programma (www.mat.uniroma3.it /users/magrone/didattica/architettura/ist2/povray.htm). Il modo migliore, comunque impegnativo ma abbastanza veloce, per iniziare a conoscere questo applicativo e, in generale, il mondo del raytracing è quello di studiare e provare a modificare le numerose descrizioni di scene distribuite con Pov-Ray stesso. Trattandosi di file di testo, queste scene possono essere modificate con qualsiasi editor, magari una linea alla volta, per capire direttamente sul campo qual è il significato di ogni comando e quale effetto ha sul risultato finale. Insieme a Pov- Ray viene distribuita anche una libreria piuttosto fornita di componenti di vario tipo, come solidi elementari o texture per simulare i materiali più comuni. Per farne uso nei vostri lavori basta includere il nome del file corrispondente all inizio della descrizione di ogni scena. Altri file e librerie Pov- Ray si trovano facilmente su Internet (vedi box Risorse ). A causa della natura stessa delle operazioni che effettua, Pov-Ray è nato come programma da linea di comando e non c è, da parte degli sviluppatori, alcuna intenzione di cambiare questa scelta in futuro, almeno per Linux. Questo non deve stupire, nè scoraggiare i potenziali utenti. Le istruzioni iniziali sono o troppo poche oppure veri e propri programmi, quindi l utilità di finestre, menu e mouse sarebbe comunque piuttosto limitata. Soprattutto, una volta passate quelle istruzioni a Pov-ray non c è più nulla da fare interattivamente, solo aspettare la fine dei calcoli, magari per ore: perchè sforzarsi di creare e mantenere aggiornata un interfaccia grafica? In effetti, su Mac e Windows tali interfacce esistono ma sono più plugin aggiunti al programma vero e proprio che modifiche o aggiunte ad esso: più che a creare le scene o le istruzioni per farne il miglior rendering possibile, sono utili soprattutto a lanciare Pov-Ray senza dover imparare a memoria le relative opzioni da linea di comando. Diverso è il discorso se si parla di applicativi grafici per modeling Ray-tracing su scheda grafica Negli ultimi anni i processori delle normali schede grafiche da desktop (Gpu, Graphical Processing Unit) hanno raggiunto una potenza di calcolo tale che non pochi sviluppatori hanno deciso di provare a usarle come processori ausiliari, a cui delegare grandi quantità di calcoli assai pesanti ma ripetitivi che altrimenti rallenterebbero troppo la Cpu principale. Anche il mondo del ray-tracing sta tentando questa strada. Al momento, i due esperimenti più promettenti sembrano un programma chiamato k-d Tree e un metodo descritto in una tesi di laurea scaricabile da Internet (http://gpurt.sourceforge.net/da07_0405_ray_ Tracing_on_GPU-1.0.5.pdf). Le versioni correnti del primo sono già capaci di calcolare fino a 45 milioni di raggi al secondo, effettuando rendering di immagini da 1024 per 1024 pixel a un ritmo che va da 12 a 18 frame al secondo. La tesi appena menzionata, invece, descrive come effettuare raytracing con appositi linguaggi basati su librerie OpenGl o Direct3D e un modello ad alto livello della Gpu scritto in C++. Al momento le prestazioni della libreria non sono superiori a quelle di un ray-tracer interamente software, ma combinandole con altri metodi di rendering sarebbe già possibile, secondo gli sviluppatori, ottenere effetti speciali di buon livello in vari giochi per computer. 222

3D che, pur non aiutando più di tanto con la generazione di file Pov- Ray, permettono almeno di avviarlo da interfacce a finestre e facilitano, o velocizzano, tutte le fasi precedenti al ray-tracing. A parte Blender, che può essere configurato per lanciare Pov-Ray o altri software di ray-tracing, vale la pena di citare due programmi molto diversi fra loro, per dare un idea di cosa è disponibile. PovMoray (www.stmuc.com/ moray/) è un modellatore 3D per Windows (shareware, non Open Source) che permette di creare visualmente vari oggetti, rappresentandoli schematicamente con griglie tridimensionali. Una volta terminata questa fase, PovMoray offre parecchie opzioni per preparare la scena e lanciare Pov-Ray 3.5. All estremo opposto si trovano prodotti come ngplant (http://povrayscrapbook.awardspace.com/) un altro modellatore tridimensionale con interfaccia grafica, ma specializzato nella creazione di alberi e altre piante. Per gli sviluppatori il software di ngplant è disponibile anche come una libreria indipendente, per aggiungere le stesse capacità di modeling botanico, tramite plugin, a qualsiasi altro applicativo. Per quanto riguarda Linux e Unix, diversi sviluppatori hanno creato interfacce a finestre solo per Pov-Ray, ma anche in questo caso si tratta di semplici insiemi di menu a tendina che permettono di scegliere in quale modo lanciarlo. Un esempio tipico è quello di Kminpovgui (www.imagico.de/kminpovgui/), che è un gruppo di script shell per far partire Pov- Ray in questa o quella modalità, oppure consultare la documentazione. Più che per l aiuto vero e proprio, forzatamente limitato, che offre nella configurazione di Pov-Ray, questi script sono comodi perchè si integrano perfettamente nel desktop Kde. La loro procedura di installazione, ad esempio, aggiunge al file manager Konqueror un menu che si attiva quando si selezionano i file di istruzioni di Pov-Ray (con estensione.pov) e che permette di lanciare il rendering con un solo clic del mouse. Anche l altro script povdocsearch, che effettua ricerche nella documentazione in linea di Pov-Ray, dopo l installazione è direttamente accessibile dai menu del text editor di Kde, Kate. Quando lo si lancia da questo editor, povdocsearch trova l argomento richiesto dall utente e apre direttamente il web browser sulla pagina corrispondente del manuale online. Gli script di Kminpovgui possono essere utilizzati anche al di fuori di Kde: alcuni utenti sono riusciti addirittura a usarli sotto Windows, tramite l ambiente Cygwin. Animazioni Il ray-tracing non si limita a produrre fotografie statiche, per quanto bellissime e incredibilmente realistiche. Pov-Ray, ad esempio, permette di creare animazioni in maniera abbastanza semplice, anche se non troppo flessibile. Il suo linguaggio interno è capace di creare sequenze di immagini a partire da un unica scena iniziale, variando in ognuna di esse colori, posizioni degli oggetti o del punto di vista e altri particolari. A quel punto qualsiasi altro programma capace di creare un filmato a partire da una serie di file grafici può trasformare quelle scene in un unico video nel formato desiderato. Nelle versioni di default di Pov-Ray qualsiasi animazione di questo tipo è gestita esclusivamente attraverso una variabile-orologio, chiamata appunto clock, che varia fra i valori 0 e 1. Per far ruotare una sfera intorno all asse verticale della scena, ad esempio, si potrebbe scrivere nel file di istruzioni Pov-Ray un istruzione simile a questa: sphere {<5, 0, 0>, 1 rotate y*360*clock} Risorse La documentazione in Italiano di Pov-Ray 3.0 è consultabile online all indirizzo www.liberliber.it/biblioteca/p/pov_ray_team/manuale_pov_r ay_v3_01/html/. Quella più aggiornata, in inglese, è disponibile direttamente dalla home page. La sezione http://povray.org/resources/links/ dello stesso sito contiene elenchi di plug-in, librerie, utility varie nonché scene già pronte e liberamente scaricabili. Una risorsa simile in Italiano è la pagina www.flohmueller.de/pov_tut/pov ita.htm. Il ray-tracing è limitato alle immagini statiche, ma si presta anche alle animazioni Come si vede da questo semplice esempio, il tipo di movimento che si può impartire a un oggetto dipende solo dalla formula contenente la variabile di clock. Una semplice libreria, contenuta in un unico file e chiamata appunto Clock Modifier (www.geocities.com/ccolefax/clockmod.html) contiene comunque funzioni che permettono di realizzare movimenti molto più complessi, anche semi-irregolari o variabili nel tempo, senza dover calcolare da zero tutte le formule necessarie. Anche con questa libreria rimangono alcune limitazioni intrinseche del clock, come il fatto che può variare soltanto da 0 a 1 e che non può essere suddiviso in parti più piccole. Per la maggior parte degli utenti questo non sarà mai un problema: in caso contrario, si può provare un altra libreria chiamata TimeLine (www.geocities.com/siliconvalley/vista/3378/dgtl.html). Dopo aver generato tutte le immagini che comporranno l animazione, per convertirle a video c è solo l imbarazzo della scelta. La sezione Ri- Le stesse utility o modellatori 3D compatibili con Pov-Ray possono normalmente lanciare anche altri ray-tracer. Questo vale anche per interfacce grafiche rudimentali come Kminpovgui, che riconosce la presenza sul computer anche di MegaPov. 223

sorse del sito di Pov-Ray elenca parecchi programmi che già vengono utilizzati regolarmente per questo scopo. bmp2avi (http://willsoft.free. fr/), tanto per citarne uno, è stato scritto pensando soprattutto a rendering a risoluzione abbastanza alta da garantire la massima qualità possibile per filmati o trasmissioni TV. Con esso si possono convertire i file bitmap generati da POV-Ray in un formato Avi non compresso, direttamente utilizzabile in programmi di video-editing come Adobe Premiere. Altri ray-tracer Pov-Ray è sicuramente il software Open Source per ray-tracing più documentato e versatile, ma questo non significa certo che sia l unico o che i suoi concorrenti siano da ignorare. Fra questi spicca innanzitutto una versione non ufficiale dello stesso Pov-Ray chiamata MegaPov (http://megapov.inetart.net/). In esso si trovano tutta una serie di patch ed estensioni non inserite nel programma standard o perchè ancora instabili o perchè distribuite, nella forma originale, solo per un sistema operativo. MegaPov è interessante soprattutto per chi è già un utente esperto di Pov-Ray e ha bisogno proprio delle funzionalità extra presenti solo in questa versione ma non ha voglia, tempo o capacità di ricompilare il programma dai sorgenti. Negli altri casi, se Pov-Ray per qualsiasi motivo non vi soddisfa conviene provare Yafray ((Yet Another Free RAYtracer, www.yafray.org) un altro ray-tracer multipiattaforma direttamente compatibile non solo con Blender ma anche con programmi come Wings e Aztec. Se si devono effettuare rendering davvero pesanti, si è disposti a programmare e si hanno a disposizione più computer configurabili ci si può servire invece di Tachyon (http://jedi.ks.uiuc.edu/~johns/raytracer/), scaricabile sia separatamente sia come parte della suite Open Source per calcolo scientifico Sage (www.sagemath.org/). Questa libreria, scritta appositamente per effettuare ray-tracing su cluster, supporta generazione di immagini ad alto range dinamico (Hdr) e visualizzazione di molecole con il programma Vmd (Visual Molecolar Dynamics, www.ks.uiuc.edu/research/vmd/). Collezionare di tutto con GCstar GCstar (www.gcstar.org) è un assistente piuttosto completo per collezionisti di qualsiasi tipo di oggetti, da vini a film, monete, libri e videogiochi. La sua caratteristica più utile è la possibilità di aggiungere campi personalizzati alla descrizione di ogni tipo di articolo o addirittura di creare nuovi tipi di collezioni. Subito dopo viene la capacità di inserire parecchie informazioni automaticamente, nel senso che si può chiedere a GCstar di scaricarle direttamente da vari database su Internet. Altri vantaggi non trascurabili per molti utenti sono l interfaccia in Italiano e il fatto che, essendo GCstar scritto in Perl con librerie grafiche Gtk, può girare anche su Windows. I dati delle collezioni possono essere salvati o caricati in parecchi formati, incluso Tellico: l elenco completo è disponibile su http://wiki.gcstar.org/en/conversions. La funzione di ricerca opera su tutti i campi di ogni collezione, ma è possibile anche definire dei filtri contenenti solo alcuni di essi. A partire dalla versione 1.4 l interfaccia utente è stata migliorata in varie maniere. In particolare ora è possibile, usando esclusivamente l interfaccia grafica, modificarne l aspetto spostando a piacere i pulsanti nelle barre strumenti, salvare permanentemente i filtri creati quando si effettua una ricerca o aggiungere nuovi campi dato ai modelli che definiscono ogni tipo di collezione. Sono stati aggiunti anche un modello per collezionare registrazioni di singoli episodi di serie Tv e altri plug-in per importare dati direttamente da siti Web. Un orda di applicazioni per email e appuntamenti H orde Groupware Webmail (www.horde.org/webmail/) è un insieme di applicativi Open Source per gestire tramite web browser la posta elettronica e tutti gli aspetti organizzativi di un azienda o qualsiasi altra organizzazione. Webmail a parte, la distribuzione standard di Horde contiene moduli distinti, ma comunque perfettamente integrati, per condividere calendari, rubriche, note ed elenchi di attività da concludere. In aggiunta a questi componenti ufficiali sono comunque disponibili altri moduli più o meno sperimentali per forum, wiki e gestione, sempre via browser, di file o bookmark. Tutto il codice è in linguaggio Php, quindi facilmente utilizzabile anche in ambiente Microsoft o Sun. La versione 1.1 di Horde è molto più ricca delle precedenti. Oltre a offrire nuove interfacce email, una più veloce perché basata su Ajax (chiamata Dimp, www.horde.org/dimp/) e una per terminali mobili, essa consente di salvare le proprie note in formato Pdf o cifrarle con Pgp e include un nuovo sistema centralizzato di notifica dei messaggi. Turba, il componente di Horde per la gestione di rubriche, ha una funzione di auto-completamento dei nomi ed è compatibile con database Sql, Ldap, Kolab e Imsp. GPL-Violations.org e la FSF europea contro i violatori delle licenze I l progetto Gpl-Violations.org (http://gpl-violations.org/) è un organizzazione senza scopo di lucro fondata alcuni anni fa dallo sviluppatore del kernel Linux H. Welte, con lo scopo di vigilare che le aziende che vendono o utilizzano software libero lo facciano nel pieno rispetto della licenza più diffusa per quel tipo di software, la Gpl (General Public License). Negli ultimi due anni e mezzo i membri del progetto hanno individuato più di 100 violazioni della licenza, fornendo un contributo decisivo per portare i colpevoli in tribunale o comunque costringerli a rispettare la licenza stessa. Nello stesso periodo, la Freedom Task Force (Ftf, www.fsfeurope.org/ftf/) della branca europea della Fondazione per il Software Libero stava creando una rete in 17 paesi europei per facilitare lo scambio di informazioni su tutti gli aspetti legali legati a sviluppo, uso e distribuzione del Software Libero. I due gruppi hanno stretto di recente un accordo formale per collaborare molto più strettamente che in passato. La parte più importante è quella che porterà a Ftf più risorse per diffondere in maniera ancora più capillare, in tutta Europa, tutte le informazioni e le competenze necessarie su come gestire Software Libero senza complicazioni legali: sono previsti ad esempio vari corsi di formazione e servizi di consulenza e assistenza legale. 224