Modulo 0. “Computer Grafica” cosa è e quale parte è trattata nel corso? Una possibile e generale definizione della Computer Grafica è: “L'insieme delle tecniche digitali di elaborazione della informazione (hardware, software, sistemistiche, organizzative) per produrre immagini statiche e in movimento in formato digitale.” Questa definizione è molto ampia. Essa ovviamente include anche la “elaborazione delle immagini” e altri rami della Informatica che pur condividendo moltissime tecniche e principi con la Computer Grafica si distinguono da essa come illustrato nel prossimo paragrafo. Computer Grafica, Information Visualization, Computer Vision, Image Processing condividono tutte un grande generalissimo schema: prendono delle informazioni di varia natura in ingresso, le elaborano e restituiscono informazioni di varia natura in uscita. Area di elaborazione visuale Tipo di dati in ingresso Tipo di elaborazioni svolte Tipo di dati in uscita Computer Grafica Modelli geometrici, modelli di illuminazione, modelli di ripresa fotografica, interpolazioni temporali. Principalmente DATI NUMERICI. Elaborazione della interazione tra modelli, luci, telecamere e deformazioni dinamiche di tutti gli oggetti coinvolti in una scena sintetica. Sequenze di immagini con risoluzione spaziale e temporale che supporti il livello di dettagli e/o fotorealismo richiesti nell'applicazione. Computer Vision Informazioni provenienti da sensori generalmente sotto forma di immagini singole o multiple, a scala di grigio o multispettrali come ottenute da telecamere digitali di varia natura e qualità. Principalmente DATI VISUALI Calcoli matematici che ottengano modelli geometrici e modelli della telecamera in grado di “spiegare” i dati ricevuti in ingresso (foto, riprese video) in maniera precisa. Informazioni numeriche sullo stato della scena che viene ripresa (presenza e traiettoria di oggetti, ricostruzione di superficie geometriche reali) Image Processing Immagini ottenute con varie Calcoli matematici sulla forme di sensori e rappresentazione numerica digitalizzate. delle immagini in ingresso. Principalmente DATI VISUALI. Immagini “migliorate” per specifici utilizzi (artistici, comunicativi, di studio scientifico) Information Visualization Grandi collezioni di dati numerici e categoriali, più eventuali relazioni definite su essi. Principalmente DATI ETEROGENEI. Grafici, diagrammi e altri tipi di immagini di natura astratta che guidino la intuizione umana a cogliere regolarità e fare “scoperte” sui dati in esame. Organizzazione dei dati in DB strutturati che consentano di eseguire efficientemente query sui dati. Le risposte saranno presentate visualmente. Lo schema riportato è un po' rigido ed ovviamente non cattura la intera realtà di questo settore della elaborazione automatica. Infatti i modelli che si usano in Grafica spesso provengono da analisi ottenute in Visione, le immagini prodotte dalla Grafica spesso debbono essere ulteriormente elaborate per ottenere la qualità richiesta nelle applicazioni. E ancora: la Grafica richiede sempre più disponibilità di immagini adeguate da usare come sfondi, mappe ambientali di illuminazione, tessiture e sorgenti di informazioni allo scopo di sintetizzare immagini con elevato grado di fotorealismo. Un punto di vista leggermente differente e altrettanto valido per classificare le operazioni tipiche di questo settore della Informatica è il seguente. Si parla di elaborazione nello “spazio degli oggetti” e di elaborazioni nello “spazio delle immagini”. Qui il termine “spazio” indica un ambito concettuale generale. Per spiegare meglio questa categorizzazione consideriamo alcuni esempi: a) posizionare, dimensionare e animare un oggetto in una scena 3d è una tipica operazione nello “spazio degli oggetti”. b) filtrare una immagine per ottenere effetti speciali, fondere in overlay o con altre tecniche di composizione più immagini è una tipica operazione nello spazio delle immagini. In generale l'informatico che volesse raggiungere un buon grado di competenza nella Computer Grafica non potrà ignorare gli altri ambiti di elaborazione della informazione visuale. Un altro modo, molto pragmatico, per definire i contenuti della Computer Grafica è guardare al software che viene incluso in questo scaffale della Informatica nelle librerie. In esso troviamo strumenti per la manipolazione di immagini fotografiche (esempi: GIMP, Photoshop etc), strumenti per il disegno vettoriale (esempi: Inkscape, Freehand), strumenti per gli effetti speciali, strumenti per la animazione vettoriale 2d, strumenti per il disegno tecnico in 2d e 3d, simulatori di fenomeni fisici, modellatori basati su vari principi, rendering engines, game/simulations engine, 3d-browser, suite di programmi integrati per la produzione/editing di filmati o immagini, eccetera. Tutte queste tecniche ed applicazioni sono a buon diritto cittadini di prima classe della città della Computer Grafica. Un po' di storia: le prime applicazioni grafiche dei calcolatori digitali risalgono al 1968-70 (Sutherland, Bezier, Catmull, Blinn) essa rappresenta oggi una delle aree di maggior successo della informatica sopratutto per il notevole impatto economico degli ambiti in cui è utilizzata. La “dignità” scientifica di questo settore, inizialmente guardato come “puramente applicativo” dagli altri esperti di informatica è ormai testimoniata dall''altissimo livello scientifico che le pubblicazioni di grafica riescono ad ottenere. Per esempio la conferenza SIGGRAPH che si tiene in USA con cadenza annuale è considerata la migliore conferenza tecnica in Computer Grafica. Essa propone circa 100 nuovi risultati tecnicoscientifici nel settore. Tali contributi toccano temi come: hardware, modellazione geometrica di precisione, scansione di modelli, tecniche di illuminazione, elaborazione di immagini 2d, stili di resa, realismo, animazione, strumenti per l'animazione e simulazione di fluidi, simulazione di fenomeni naturali, strutture dati e algoritmi, compressione. Questi sono quindi per “consuetudine” considerati gli attuali contenuti della disciplina. La storia della Computer Grafica è molto affascinante. Essa è in qualche modo il “coronamento” di una serie di conquiste scientifiche e tecnologiche che hanno richiesto decine di anni di investigazione e sviluppo. Molta documentazione (libri, documentari) è disponibile a riguardo. L'argomento è di grande interesse perché mostra come Scienza, Tecnologia, Esigenze militari, Esigenze cinematografiche si sono intrecciate per produrre, grazie ad investimenti colossali, i veri e propri miracoli che oggi ci permettono di considerare le applicazioni grafiche “normali”. Nella prossima pagina è riportato schematicamente il processo di elaborazione richiesto dall'attuale stato dell'arte tecnologica per la produzione di scene animate tridimensionali. Gran parte delle lezioni del corso si focalizzeranno sui passaggi salienti di questo diagramma. Modello della scena 3d: - poligoni; - materiali; - tessiture; - luci (tipo e posizione) Modello della telecamera - posizione, orientamento - lunghezza focale - risoluzione - effetti speciali RENDERING RAW OUTPUT COMPOSITING Elaborazione di immagini - filtri; - correzioni; - aggiunte; REFINED OUTPUT RIPETUTE NEL TEMPO Effetti “temporali” - animazione camera - animazione mesh - animazione effetti - transizioni tra immagini SOUND DIGITAL ANIMATION