SlideShare ist ein Scribd-Unternehmen logo
1 von 24
Downloaden Sie, um offline zu lesen
GRAFICA DIGITALE

Silvia Lombardi
Trento, 18 Maggio 2012
Corso “Didactics of Computer Science”
Laurea magistrale in Matematica
                                        Fonte: J. Glenn Brookshear
Università degli studi di Trento        “Computer Science: an overview”


                                                                  1
Prime informazioni
La grafica digitale è quella parte dell’informatica che si occupa di produrre e manipolare
immagini. E’ associata alla presentazione di testi, mappe, fotografie, videogiochi e
immagini animate. Nasce nella seconda meta degli anni ’60 per scopi industriali e
militari, ma ha avuto un maggiore sviluppo a partire dagli anni ’90.
Possiamo distinguere
• Grafica in 2 dimensioni (2D), che converte forme bidimensionali in insiemi di pixel, gli
elementi puntiformi che rappresentano un’immagine nella memoria di un computer, al
fine di produrre l’immagine stessa
• Elaborazione digitale delle immagini (image processing), che analizza i pixel in
un’immagine e ne individua le caratteristiche utili per modificare l’immagine stessa.




                                                                                         2
Grafica tridimensionale (3D)
La grafica tridimensionale si occupa di convertire forme tridimensionali (dunque nello
spazio) in immagini, costruendo scene in 3D in modo digitale e simulando poi il processo
fotografico, scattando immagini delle scene. La scena fotografata è dunque un insieme di
dati e algoritmi.




                                                              Fotografia di una scena del mondo
                                                              virtuale del film “Toy story”,prodotto
                                                              dalla Disney Pixar usando la grafica
                                                              3D




                                                                                               3
Possiamo distinguere due passi nella rappresentazione di un’immagine in grafica 3D:
•   un processo di tipo artistico e creativo legato alla creazione, codifica,
    memorizzazione e manipolazione delle scene da fotografare;
•   un processo prettamente computazionale legato alla produzione
    dell’immagine.


L’intero processo di creazione e visualizzazione delle immagini in 3D consiste però
      di 3 fasi
•   MODELLIZZAZIONE
•   RENDERING
•   VISUALIZZAZIONE




                                                                                      4
MODELLIZZAZIONE

La fase di modellizzazione è simile a quella di creazione di un set nell’industria
cinematografica, tranne per il fatto che la scena 3D è costruita a partire da dati digitali e
algoritmi, non esiste cioè nella realtà. In particolare, il set è chiamato scena, mentre gli
accessori utilizzati sono detti oggetti.
L’accuratezza con la quale sono rappresentati gli oggetti dipende dalla loro posizione nella
scena ma anche da quanto sia stato preciso il modello realizzato in questa prima fase.
Tra le informazioni necessarie per riprodurre un oggetto, possiamo evidenziare
• la forma
• le caratteristiche della sua superficie
• l’interazione dell’oggetto con la luce




                                                                                                5
Forma

La forma di un oggetto in grafica 3D è realizzata attraverso l’unione di piccole superfici
piane, chiamate patch planari, aventi la forma di un poligono. I poligoni formano un
reticolo poligonale (polygonal mesh) che approssima la forma dell’oggetto. Il reticolo
poligonale è rappresentato come l’insieme dei vertici delle sue patch planari; spesso i
poligoni utilizzati sono i triangoli, poiché si minimizza il numero di vertici.
La rappresentazione di un reticolo poligonale può essere ottenuta in vari modi. In primo
luogo è possibile fornire direttamente l’espressione matematica della forma desiderata,
ottenendo così con precisione i vertici del reticolo.


 Una sfera di raggio r, può essere rappresentata con l’espressione
 geometrica r²=x²+y²+z²; i vertici del reticolo possono essere
 determinati identificando i punti d’intersezione delle rette di
 latitudine e longitudine.




                                                                                             6
Un metodo più sofisticato per ottenere un reticolo poligonale è basato sull’uso delle curve
di Bezier. Consiste nel definire un segmento di linea curva in tre dimensioni grazie a pochi
punti, detti punti di controllo: due punti rappresentano gli estremi della curva e altri
definiscono come è deformata. Tecniche simili consentono di creare le superfici di Bezier.



                                                              Esempio di curva di Bezier , fonte:
                                                                    mondografica.it




Il reticolo poligonale si può costruire anche di forza bruta, digitalizzando un modello fisico
dell’oggetto e riportando le posizioni dei punti sulla superficie tramite un dispositivo a
penna che segni e memorizzi tali punti.



                                                                                                    7
Per le figure più complesse è necessario scrivere
programmi che costruiscano la forma desiderata usando
modelli procedurali, che applicano algoritmi specifici per
ottenere la struttura voluta.
I modelli procedurali sono degli ottimi strumenti per
produrre oggetti tra loro simili. Inoltre i modelli procedurali
possono essere costruiti
• secondo regole di ramificazione, con un processo simile
a quello di costruzione di parse tree;
• come sistemi di particelle, simulando la struttura di un
oggetto come un insieme di particelle e muovendole
secondo regole definite in modo da produrre la forma
cercata.



                                                            Modello procedurale per la costruzione di un
                                                                    reticolo poligonale di una catena
                                                                                montuosa
                                                                                                   8
Caratteristiche della superficie
Oltre alla forma, molte altre informazioni possono essere fornite sull’oggetto da
rappresentare. Ad esempio, si può fornire uno schema dei colori presenti sulla superficie
tramite un processo di texture mapping.
Questo processo di mappatura dei colori ha i suoi effetti migliori se applicato a superfici
piatte, ma viene utilizzato con successo anche nei video giochi.
La ricerca di realismo nella modellizzazione degli oggetti è un campo in continua
evoluzione, in cui nuove tecniche vengono sperimentate al fine di ottenere riproduzioni
digitali sempre più fedeli alla realtà.




                                                                                              9
MODELLIZZAZIONE DI SCENE COMPLETE



Agli oggetti descritti e codificati digitalmente, viene assegnata una posizione all’interno
della scena. Questi dati sono collegati tra loro in una struttura dati chiamata scene graph.
Questa struttura contiene anche collegamenti ad oggetti speciali che rappresentano le
sorgenti di luce e la macchina da presa.
Talvolta è necessario alterare anche la posizione della macchina da presa, come avviene
ad esempio nei sistemi di realtà virtuali, dove un individuo vede l’ambiente secondo i suoi
movimenti.




                                                                                        10
RENDERING

La fase di rendering determina come appaiono gli oggetti nella scene graph proiettati su
una superficie chiamata piano di proiezione, applicando cioè la proiezione prospettica.
Tutti gli oggetti sono proiettati lungo linee rette che partono da un punto, chiamato centro
della proiezione. La parte di piano proiettivo delimitata dall’immagine finale è detta
finestra immagine (image window). Identificata questa finestra, viene calcolata la
posizione di ogni pixel. I risultati sono memorizzati in un’area di memoria chiamata frame
buffer.




                                                                                         11
Nel determinare la posizione di un oggetto, è necessario tener conto dell’interazione
esistente tra la sua superficie e la luce. In base al materiale dell’oggetto, sono possibili due
fenomeni: riflessione e rifrazione.
• Riflessione: un raggio di luce arriva sulla superficie formando un angolo di incidenza
rispetto alla normale e viene riflesso di un angolo della stessa ampiezza. Se la superficie è
liscia, i raggi paralleli che arrivano sulla superficie sono riflessi tutti nella stessa direzione e
la luce riflessa è detta luce speculare. Se i raggi sono riflessi in direzioni diverse si parla di
luce diffusa. La capacità di distinguere la luce speculare da quella diffusa è dovuta alla luce
ambiente, ovvero alla luce che non è associata a una direzione particolare.
Si distinguono
•superfici isotrope: con schemi di riflessione simmetrici
•anisotrope: cambiano luminosità ruotando



                                                                          Schema della riflessione
                                                                               della luce




                                                                                                     12
• Rifrazione: se la luce attraversa un oggetto trasparente, la direzione dei raggi di luce è
alterata. Il grado di rifrazione dipende dall’indice di rifrazione dei materiali coinvolti ed è
legato alla loro densità. Il software di rendering deve conoscere l’indice di rifrazione per
rappresentare le proprietà degli oggetti trasparenti e deve inoltre sapere quale parte della
superficie è opposta all’esterno.




                                                                       Schema della rifrazione
                                                                            della luce



                                                                                                 13
La pipeline di rendering
Il processo di produzione di una immagine dalla scene graph è noto come pipeline di
rendering e consiste di varie tecniche applicate ad oggetti opachi, non considerando cioè la
rifrazione. Inoltre la pipeline implementa un modello d’illuminazione locale (senza
considerare interazione tra gli oggetti).
Il primo passo del processo è l’identificazione della regione tridimensionale che contiene
gli oggetti, chiamata view volume, ed è lo spazio entro la piramide definita dalle rette
passanti per il centro della proiezione e i vertici dell’image window.




                                                                                        14
Identificati e scartati gli oggetti che non intersecano il view volume, gli altri oggetti
vengono rifiniti tramite un processo di clipping, che consiste nel tagliare le parti esterne al
view volume. In seguito vengono individuati i punti interni ai patch planari rimasti e ad
ognuno di loro è associata la posizione del pixel corrispondente nell’immagine finale. Il
processo che associa ogni posizione del pixel a un punto sulla scena è detto scan
conversion o rasterization (rasterizzazione). Tale processo è effettuato tracciando rette dal
centro della proiezione passanti per la posizione di ogni pixel sull’image window e
identificando i punti in cui queste rette intersecano i patch planari.




                                                                     Il processo di scan
                                                                            conversion




                                                                                           15
Per scene complete, viene effettuata anche la rimozione delle superfici nascoste (hidden-
surface removal), ovvero l’eliminazione dei punti non visibili all’utente. Un esempio è la
back-face elimination, ovvero la rimozione delle facce posteriori di un oggetto.


Per risolvere al meglio il problema della resa degli oggetti in primo piano o sul fondo della
scena, viene adottata la tecnica del z-buffer, un’area di memoria aggiuntiva che contiene
una voce per ogni pixel e memorizza in dettaglio la sua posizione nell’immagine. In tal
modo si riesce a rappresentare esattamente l’immagine desiderata anche se ci sono
sovrapposizioni.




                                                                                          16
Il processo di determinazione dell’aspetto del patch in ogni punto viene detto shading
(ombreggiatura). Per rendere le caratteristiche della luce sulla superficie dell’oggetto
vengono usati vari metodi:
• Flat shading, che consiste nell’usare come orientamento della luce su ogni punto quello
di un patch planare;
• Gouraud shading, che converte informazioni sull’orientamento e i colori ai vertici dei
patch per interpolare ed ottenere l’aspetto dei punti interni;
• Phong shading, che interpola l’orientamento della superficie lungo i confini del patch per
poi stimare quella dei punti interni, convertendo successivamente in colori queste
informazioni


Altre tecniche di shading quali ad esempio il bump mapping, riescono a rappresentare
solchi, asperità e sporgenze.



                                                                                           17
Fonte: wikipedia.org
GOURAUD SHADING
                                         18
Hardware del pipeline di rendering


Per le applicazioni grafiche possono essere aggiunti dei dispositivi appositi, quali graphics
card o graphics adapter, al fine di ridurre il tempo richiesto per il processo di rendering.


Un’applicazione grafica sviluppata per una specifica piattaforma, talvolta deve essere
modificata se trasferita in altri ambienti. Per rispondere a quest’esigenza esistono
interfacce che convertono comandi standardizzati nelle istruzioni del sistema considerato,
ad esempio
• OpenGL (Open Graphics Library)
• Direct3D




                                                                                           19
ANIMAZIONE

La tecnologia digitale consente di vedere anche immagini in movimento. Un’animazione è
ottenuta tramite immagini consecutive di una scena, detti frames (fotogrammi) visualizzate
in rapida successione. La presentazione di questi frames avviene a intervalli regolari,
secondo uno standard di 24 frames al secondo o 60 nel caso dei video.
I frames possono essere prodotti sia dalla normale fotografia che artificialmente dalla
grafica digitale.
Le due tecniche possono combinarsi; le fotografie possono essere modificate creando ad
esempio l’illusione del morphing, il processo per cui un oggetto si trasforma gradualmente
in un altro.
Questo effetto è reso attraverso dei punti di controllo presenti nel frame originale, che
vengono usati come guida per deformare un’immagine in un’altra.




                                                                                            20
Esempio di morphing, fonte: slidetomac.com


                                             21
Un progetto di animazione inizia con la creazione di uno storyboard, una sequenza di
immagini bidimensionali che racconta una storia nella forma di sketch, o punti chiave della
presentazione.


I maestri animatori dividono lo storyboard in frames dettagliati, frames chiave, che
stabiliscono la comparsa dei personaggi e delle scene a intervalli regolari. A volte si
aggiungono frames per riempire i vuoti tra un frame chiave e l’altro attraverso un processo
di in-betweening.


Anche per la grafica tridimensionale è possibile realizzare storyboard per un mondo
virtuale tridimensionale. In questo caso muovere un oggetto significa modificare alcuni
valori memorizzati nel suo insieme di dati.




                                                                                       22
CINEMATICA E DINAMICA


Per simulare i movimenti naturali è necessario tener conto di due branche della fisica:
• la dinamica, che descrive il moto di un oggetto applicando le leggi della fisica per
determinare gli effetti delle forze che agiscono sull’oggetto. Per esempio, ad un oggetto va
assegnata una direzione, una velocità ed una massa, in modo da determinare gli effetti
della gravità.
• la cinematica, che descrive il moto di un oggetto rispetto a come parti dell’oggetto si
muovono rispetto alle altre. Un’applicazione pratica si ha nell’animazione di figure
articolate, che devono muovere solo braccia o gambe.




                                                                                            23
Per rappresentare un personaggio nel dettaglio, viene applicata la cinematica. Si parte con
una figura stilizzata che riproduce lo scheletro, in seguito coperta con un reticolo
poligonale.


La figura può essere modificata e manipolata riposizionando le sue articolazioni. I punti
con cui si controllano queste variazioni sono gli avars (articulation variables).


La maggior parte dell’animazione che utilizza la cinematica è prodotta imponendo al
personaggio una sequenza predisposta di posizioni. Tale sequenza può essere ricavata
dall’animatore o dalla motion capture, una tecnica che, tramite dispositivi, cerca di
catturare i movimenti delle azioni desiderate.




                                                                                            24

Weitere ähnliche Inhalte

Ähnlich wie Grafica

Barcamp - tema proposto -
Barcamp - tema proposto -Barcamp - tema proposto -
Barcamp - tema proposto -iuav
 
Scanner 3D e Reverse Engineering
Scanner 3D e Reverse EngineeringScanner 3D e Reverse Engineering
Scanner 3D e Reverse EngineeringPaolo Aliverti
 
3 aspetti base del 3d tecniche di modellazione digitale – computer 3d
3 aspetti base del 3d tecniche di modellazione digitale – computer 3d3 aspetti base del 3d tecniche di modellazione digitale – computer 3d
3 aspetti base del 3d tecniche di modellazione digitale – computer 3dDaniele Francaviglia
 
S. Minto, PointCloud2Publish – Visualizzazione e condivisione di modelli 3D
S. Minto, PointCloud2Publish – Visualizzazione e condivisione di modelli 3DS. Minto, PointCloud2Publish – Visualizzazione e condivisione di modelli 3D
S. Minto, PointCloud2Publish – Visualizzazione e condivisione di modelli 3DProgetto Open Téchne
 
lez. 2 _tecniche di modellazione digitale – computer 3d
lez. 2 _tecniche di modellazione digitale – computer 3dlez. 2 _tecniche di modellazione digitale – computer 3d
lez. 2 _tecniche di modellazione digitale – computer 3dDaniele Francaviglia
 
Disegno per la stampa 3 d
Disegno per la stampa 3 dDisegno per la stampa 3 d
Disegno per la stampa 3 dFRANCESCA MEREU
 
Nozioni generali di fotografia digitale copia
Nozioni generali di fotografia digitale   copiaNozioni generali di fotografia digitale   copia
Nozioni generali di fotografia digitale copiafflusso
 
Sviluppo di strumenti per la realizzazione di un dataset per la generazione a...
Sviluppo di strumenti per la realizzazione di un dataset per la generazione a...Sviluppo di strumenti per la realizzazione di un dataset per la generazione a...
Sviluppo di strumenti per la realizzazione di un dataset per la generazione a...TeresaVergine1
 
Lezione2
Lezione2Lezione2
Lezione2irea
 
3D graphics for cultural heritage
3D graphics for cultural heritage3D graphics for cultural heritage
3D graphics for cultural heritageMarina Belli
 
Strumenti e sistemi di progettazione per la stampa 3D
Strumenti e sistemi di progettazione per la stampa 3DStrumenti e sistemi di progettazione per la stampa 3D
Strumenti e sistemi di progettazione per la stampa 3DClaudio Gasparini
 
Direct volume rendering pres
Direct volume rendering presDirect volume rendering pres
Direct volume rendering presGiuseppe Frattura
 

Ähnlich wie Grafica (20)

Barcamp - tema proposto -
Barcamp - tema proposto -Barcamp - tema proposto -
Barcamp - tema proposto -
 
Scanner 3D e Reverse Engineering
Scanner 3D e Reverse EngineeringScanner 3D e Reverse Engineering
Scanner 3D e Reverse Engineering
 
Seminario Riccardo Scateni, 4-10-2012
Seminario Riccardo Scateni, 4-10-2012Seminario Riccardo Scateni, 4-10-2012
Seminario Riccardo Scateni, 4-10-2012
 
Il backstage dell'animazione
Il backstage dell'animazioneIl backstage dell'animazione
Il backstage dell'animazione
 
3 aspetti base del 3d tecniche di modellazione digitale – computer 3d
3 aspetti base del 3d tecniche di modellazione digitale – computer 3d3 aspetti base del 3d tecniche di modellazione digitale – computer 3d
3 aspetti base del 3d tecniche di modellazione digitale – computer 3d
 
My master thesis
My master thesisMy master thesis
My master thesis
 
MRR_L3 - La fotogrammetria
MRR_L3 - La fotogrammetriaMRR_L3 - La fotogrammetria
MRR_L3 - La fotogrammetria
 
Geometria3d
Geometria3dGeometria3d
Geometria3d
 
S. Minto, PointCloud2Publish – Visualizzazione e condivisione di modelli 3D
S. Minto, PointCloud2Publish – Visualizzazione e condivisione di modelli 3DS. Minto, PointCloud2Publish – Visualizzazione e condivisione di modelli 3D
S. Minto, PointCloud2Publish – Visualizzazione e condivisione di modelli 3D
 
lez. 2 _tecniche di modellazione digitale – computer 3d
lez. 2 _tecniche di modellazione digitale – computer 3dlez. 2 _tecniche di modellazione digitale – computer 3d
lez. 2 _tecniche di modellazione digitale – computer 3d
 
AppuntiLAB1
AppuntiLAB1AppuntiLAB1
AppuntiLAB1
 
Disegno per la stampa 3 d
Disegno per la stampa 3 dDisegno per la stampa 3 d
Disegno per la stampa 3 d
 
JCurves
JCurvesJCurves
JCurves
 
Nozioni generali di fotografia digitale copia
Nozioni generali di fotografia digitale   copiaNozioni generali di fotografia digitale   copia
Nozioni generali di fotografia digitale copia
 
Archeologia Virtuale: dalla carta allo schermo
Archeologia Virtuale: dalla carta allo schermoArcheologia Virtuale: dalla carta allo schermo
Archeologia Virtuale: dalla carta allo schermo
 
Sviluppo di strumenti per la realizzazione di un dataset per la generazione a...
Sviluppo di strumenti per la realizzazione di un dataset per la generazione a...Sviluppo di strumenti per la realizzazione di un dataset per la generazione a...
Sviluppo di strumenti per la realizzazione di un dataset per la generazione a...
 
Lezione2
Lezione2Lezione2
Lezione2
 
3D graphics for cultural heritage
3D graphics for cultural heritage3D graphics for cultural heritage
3D graphics for cultural heritage
 
Strumenti e sistemi di progettazione per la stampa 3D
Strumenti e sistemi di progettazione per la stampa 3DStrumenti e sistemi di progettazione per la stampa 3D
Strumenti e sistemi di progettazione per la stampa 3D
 
Direct volume rendering pres
Direct volume rendering presDirect volume rendering pres
Direct volume rendering pres
 

Grafica

  • 1. GRAFICA DIGITALE Silvia Lombardi Trento, 18 Maggio 2012 Corso “Didactics of Computer Science” Laurea magistrale in Matematica Fonte: J. Glenn Brookshear Università degli studi di Trento “Computer Science: an overview” 1
  • 2. Prime informazioni La grafica digitale è quella parte dell’informatica che si occupa di produrre e manipolare immagini. E’ associata alla presentazione di testi, mappe, fotografie, videogiochi e immagini animate. Nasce nella seconda meta degli anni ’60 per scopi industriali e militari, ma ha avuto un maggiore sviluppo a partire dagli anni ’90. Possiamo distinguere • Grafica in 2 dimensioni (2D), che converte forme bidimensionali in insiemi di pixel, gli elementi puntiformi che rappresentano un’immagine nella memoria di un computer, al fine di produrre l’immagine stessa • Elaborazione digitale delle immagini (image processing), che analizza i pixel in un’immagine e ne individua le caratteristiche utili per modificare l’immagine stessa. 2
  • 3. Grafica tridimensionale (3D) La grafica tridimensionale si occupa di convertire forme tridimensionali (dunque nello spazio) in immagini, costruendo scene in 3D in modo digitale e simulando poi il processo fotografico, scattando immagini delle scene. La scena fotografata è dunque un insieme di dati e algoritmi. Fotografia di una scena del mondo virtuale del film “Toy story”,prodotto dalla Disney Pixar usando la grafica 3D 3
  • 4. Possiamo distinguere due passi nella rappresentazione di un’immagine in grafica 3D: • un processo di tipo artistico e creativo legato alla creazione, codifica, memorizzazione e manipolazione delle scene da fotografare; • un processo prettamente computazionale legato alla produzione dell’immagine. L’intero processo di creazione e visualizzazione delle immagini in 3D consiste però di 3 fasi • MODELLIZZAZIONE • RENDERING • VISUALIZZAZIONE 4
  • 5. MODELLIZZAZIONE La fase di modellizzazione è simile a quella di creazione di un set nell’industria cinematografica, tranne per il fatto che la scena 3D è costruita a partire da dati digitali e algoritmi, non esiste cioè nella realtà. In particolare, il set è chiamato scena, mentre gli accessori utilizzati sono detti oggetti. L’accuratezza con la quale sono rappresentati gli oggetti dipende dalla loro posizione nella scena ma anche da quanto sia stato preciso il modello realizzato in questa prima fase. Tra le informazioni necessarie per riprodurre un oggetto, possiamo evidenziare • la forma • le caratteristiche della sua superficie • l’interazione dell’oggetto con la luce 5
  • 6. Forma La forma di un oggetto in grafica 3D è realizzata attraverso l’unione di piccole superfici piane, chiamate patch planari, aventi la forma di un poligono. I poligoni formano un reticolo poligonale (polygonal mesh) che approssima la forma dell’oggetto. Il reticolo poligonale è rappresentato come l’insieme dei vertici delle sue patch planari; spesso i poligoni utilizzati sono i triangoli, poiché si minimizza il numero di vertici. La rappresentazione di un reticolo poligonale può essere ottenuta in vari modi. In primo luogo è possibile fornire direttamente l’espressione matematica della forma desiderata, ottenendo così con precisione i vertici del reticolo. Una sfera di raggio r, può essere rappresentata con l’espressione geometrica r²=x²+y²+z²; i vertici del reticolo possono essere determinati identificando i punti d’intersezione delle rette di latitudine e longitudine. 6
  • 7. Un metodo più sofisticato per ottenere un reticolo poligonale è basato sull’uso delle curve di Bezier. Consiste nel definire un segmento di linea curva in tre dimensioni grazie a pochi punti, detti punti di controllo: due punti rappresentano gli estremi della curva e altri definiscono come è deformata. Tecniche simili consentono di creare le superfici di Bezier. Esempio di curva di Bezier , fonte: mondografica.it Il reticolo poligonale si può costruire anche di forza bruta, digitalizzando un modello fisico dell’oggetto e riportando le posizioni dei punti sulla superficie tramite un dispositivo a penna che segni e memorizzi tali punti. 7
  • 8. Per le figure più complesse è necessario scrivere programmi che costruiscano la forma desiderata usando modelli procedurali, che applicano algoritmi specifici per ottenere la struttura voluta. I modelli procedurali sono degli ottimi strumenti per produrre oggetti tra loro simili. Inoltre i modelli procedurali possono essere costruiti • secondo regole di ramificazione, con un processo simile a quello di costruzione di parse tree; • come sistemi di particelle, simulando la struttura di un oggetto come un insieme di particelle e muovendole secondo regole definite in modo da produrre la forma cercata. Modello procedurale per la costruzione di un reticolo poligonale di una catena montuosa 8
  • 9. Caratteristiche della superficie Oltre alla forma, molte altre informazioni possono essere fornite sull’oggetto da rappresentare. Ad esempio, si può fornire uno schema dei colori presenti sulla superficie tramite un processo di texture mapping. Questo processo di mappatura dei colori ha i suoi effetti migliori se applicato a superfici piatte, ma viene utilizzato con successo anche nei video giochi. La ricerca di realismo nella modellizzazione degli oggetti è un campo in continua evoluzione, in cui nuove tecniche vengono sperimentate al fine di ottenere riproduzioni digitali sempre più fedeli alla realtà. 9
  • 10. MODELLIZZAZIONE DI SCENE COMPLETE Agli oggetti descritti e codificati digitalmente, viene assegnata una posizione all’interno della scena. Questi dati sono collegati tra loro in una struttura dati chiamata scene graph. Questa struttura contiene anche collegamenti ad oggetti speciali che rappresentano le sorgenti di luce e la macchina da presa. Talvolta è necessario alterare anche la posizione della macchina da presa, come avviene ad esempio nei sistemi di realtà virtuali, dove un individuo vede l’ambiente secondo i suoi movimenti. 10
  • 11. RENDERING La fase di rendering determina come appaiono gli oggetti nella scene graph proiettati su una superficie chiamata piano di proiezione, applicando cioè la proiezione prospettica. Tutti gli oggetti sono proiettati lungo linee rette che partono da un punto, chiamato centro della proiezione. La parte di piano proiettivo delimitata dall’immagine finale è detta finestra immagine (image window). Identificata questa finestra, viene calcolata la posizione di ogni pixel. I risultati sono memorizzati in un’area di memoria chiamata frame buffer. 11
  • 12. Nel determinare la posizione di un oggetto, è necessario tener conto dell’interazione esistente tra la sua superficie e la luce. In base al materiale dell’oggetto, sono possibili due fenomeni: riflessione e rifrazione. • Riflessione: un raggio di luce arriva sulla superficie formando un angolo di incidenza rispetto alla normale e viene riflesso di un angolo della stessa ampiezza. Se la superficie è liscia, i raggi paralleli che arrivano sulla superficie sono riflessi tutti nella stessa direzione e la luce riflessa è detta luce speculare. Se i raggi sono riflessi in direzioni diverse si parla di luce diffusa. La capacità di distinguere la luce speculare da quella diffusa è dovuta alla luce ambiente, ovvero alla luce che non è associata a una direzione particolare. Si distinguono •superfici isotrope: con schemi di riflessione simmetrici •anisotrope: cambiano luminosità ruotando Schema della riflessione della luce 12
  • 13. • Rifrazione: se la luce attraversa un oggetto trasparente, la direzione dei raggi di luce è alterata. Il grado di rifrazione dipende dall’indice di rifrazione dei materiali coinvolti ed è legato alla loro densità. Il software di rendering deve conoscere l’indice di rifrazione per rappresentare le proprietà degli oggetti trasparenti e deve inoltre sapere quale parte della superficie è opposta all’esterno. Schema della rifrazione della luce 13
  • 14. La pipeline di rendering Il processo di produzione di una immagine dalla scene graph è noto come pipeline di rendering e consiste di varie tecniche applicate ad oggetti opachi, non considerando cioè la rifrazione. Inoltre la pipeline implementa un modello d’illuminazione locale (senza considerare interazione tra gli oggetti). Il primo passo del processo è l’identificazione della regione tridimensionale che contiene gli oggetti, chiamata view volume, ed è lo spazio entro la piramide definita dalle rette passanti per il centro della proiezione e i vertici dell’image window. 14
  • 15. Identificati e scartati gli oggetti che non intersecano il view volume, gli altri oggetti vengono rifiniti tramite un processo di clipping, che consiste nel tagliare le parti esterne al view volume. In seguito vengono individuati i punti interni ai patch planari rimasti e ad ognuno di loro è associata la posizione del pixel corrispondente nell’immagine finale. Il processo che associa ogni posizione del pixel a un punto sulla scena è detto scan conversion o rasterization (rasterizzazione). Tale processo è effettuato tracciando rette dal centro della proiezione passanti per la posizione di ogni pixel sull’image window e identificando i punti in cui queste rette intersecano i patch planari. Il processo di scan conversion 15
  • 16. Per scene complete, viene effettuata anche la rimozione delle superfici nascoste (hidden- surface removal), ovvero l’eliminazione dei punti non visibili all’utente. Un esempio è la back-face elimination, ovvero la rimozione delle facce posteriori di un oggetto. Per risolvere al meglio il problema della resa degli oggetti in primo piano o sul fondo della scena, viene adottata la tecnica del z-buffer, un’area di memoria aggiuntiva che contiene una voce per ogni pixel e memorizza in dettaglio la sua posizione nell’immagine. In tal modo si riesce a rappresentare esattamente l’immagine desiderata anche se ci sono sovrapposizioni. 16
  • 17. Il processo di determinazione dell’aspetto del patch in ogni punto viene detto shading (ombreggiatura). Per rendere le caratteristiche della luce sulla superficie dell’oggetto vengono usati vari metodi: • Flat shading, che consiste nell’usare come orientamento della luce su ogni punto quello di un patch planare; • Gouraud shading, che converte informazioni sull’orientamento e i colori ai vertici dei patch per interpolare ed ottenere l’aspetto dei punti interni; • Phong shading, che interpola l’orientamento della superficie lungo i confini del patch per poi stimare quella dei punti interni, convertendo successivamente in colori queste informazioni Altre tecniche di shading quali ad esempio il bump mapping, riescono a rappresentare solchi, asperità e sporgenze. 17
  • 19. Hardware del pipeline di rendering Per le applicazioni grafiche possono essere aggiunti dei dispositivi appositi, quali graphics card o graphics adapter, al fine di ridurre il tempo richiesto per il processo di rendering. Un’applicazione grafica sviluppata per una specifica piattaforma, talvolta deve essere modificata se trasferita in altri ambienti. Per rispondere a quest’esigenza esistono interfacce che convertono comandi standardizzati nelle istruzioni del sistema considerato, ad esempio • OpenGL (Open Graphics Library) • Direct3D 19
  • 20. ANIMAZIONE La tecnologia digitale consente di vedere anche immagini in movimento. Un’animazione è ottenuta tramite immagini consecutive di una scena, detti frames (fotogrammi) visualizzate in rapida successione. La presentazione di questi frames avviene a intervalli regolari, secondo uno standard di 24 frames al secondo o 60 nel caso dei video. I frames possono essere prodotti sia dalla normale fotografia che artificialmente dalla grafica digitale. Le due tecniche possono combinarsi; le fotografie possono essere modificate creando ad esempio l’illusione del morphing, il processo per cui un oggetto si trasforma gradualmente in un altro. Questo effetto è reso attraverso dei punti di controllo presenti nel frame originale, che vengono usati come guida per deformare un’immagine in un’altra. 20
  • 21. Esempio di morphing, fonte: slidetomac.com 21
  • 22. Un progetto di animazione inizia con la creazione di uno storyboard, una sequenza di immagini bidimensionali che racconta una storia nella forma di sketch, o punti chiave della presentazione. I maestri animatori dividono lo storyboard in frames dettagliati, frames chiave, che stabiliscono la comparsa dei personaggi e delle scene a intervalli regolari. A volte si aggiungono frames per riempire i vuoti tra un frame chiave e l’altro attraverso un processo di in-betweening. Anche per la grafica tridimensionale è possibile realizzare storyboard per un mondo virtuale tridimensionale. In questo caso muovere un oggetto significa modificare alcuni valori memorizzati nel suo insieme di dati. 22
  • 23. CINEMATICA E DINAMICA Per simulare i movimenti naturali è necessario tener conto di due branche della fisica: • la dinamica, che descrive il moto di un oggetto applicando le leggi della fisica per determinare gli effetti delle forze che agiscono sull’oggetto. Per esempio, ad un oggetto va assegnata una direzione, una velocità ed una massa, in modo da determinare gli effetti della gravità. • la cinematica, che descrive il moto di un oggetto rispetto a come parti dell’oggetto si muovono rispetto alle altre. Un’applicazione pratica si ha nell’animazione di figure articolate, che devono muovere solo braccia o gambe. 23
  • 24. Per rappresentare un personaggio nel dettaglio, viene applicata la cinematica. Si parte con una figura stilizzata che riproduce lo scheletro, in seguito coperta con un reticolo poligonale. La figura può essere modificata e manipolata riposizionando le sue articolazioni. I punti con cui si controllano queste variazioni sono gli avars (articulation variables). La maggior parte dell’animazione che utilizza la cinematica è prodotta imponendo al personaggio una sequenza predisposta di posizioni. Tale sequenza può essere ricavata dall’animatore o dalla motion capture, una tecnica che, tramite dispositivi, cerca di catturare i movimenti delle azioni desiderate. 24