Che materia stai cercando?

Lezioni, Grafica del Calcolatore

Appunti di Grafica del calcolatore per l'esame del professore Giacchetti sui seguenti argomenti:
-Texture Mapping.
-Rendering.
- Ray casting.
Sono spiegate anche tutte le principali tecniche e i principali algoritmi usati nella grafica del calcolatore.

Esame di Grafica del calcolatore docente Prof. A. Giacchetti

Anteprima

ESTRATTO DOCUMENTO

- è fondamentale sapere quale superficie e interna o esterna quindi associo spesso

l’informazione sulla normale uscente alla maglia poligonale ( associata a faccia o

vertici )

STRUTTURA MESH

- vertici danno informazioni di tipo posizionale

- spigoli informazioni di tipo connettivo

- spigoli connettono i vertici introducendo concetto di Vicinanza tra vertici e dando

informazioni tipo topologico

- facce sono introdotte da vertici e spigoli

RICERCA DI INCIDENZA

- è una procedura che determina tutti gli elementi di un dato tipo che incidono su un

elemento

WINGED EDGE ( Baumgart 1975 )

- Si aggiungono dei puntatori allo spigolo per rendere piu semplice l’analisi delle

incidenze

- Spigolo (edge) due facce incidenti ( wings)

- Un vertice contiene un puntatore ad uno degli spigoli che incide su di esso piu’ le

coordinate

- La faccia contiene un puntatore ad uno degli spigoli che vi incide

HALF EDGE

- Ogni spigolo viene diviso in due spigoli orientati in modo opposto

- Ogni mezzo spigolo contiene un puntatore al vertice iniziale

- Ogni vertice oltre alle coordinate contiene un puntatore ad uno qualsiasi dei mezzi

spigoli che esce da tale vertice

- Ogni faccia contiene uno dei suoi mezzi spigoli

MESH PROCESSING

- *)Meshing [ generare nuove rappresentazioni poligoniali dalle nuvole]

- Smoothing [ eliminare il rumore]

- Riparazione [le mesh derivate da ricostruzione algoritmica possono avere buchi e

problemi topologici]

- Decimazione [ semplificare modelli e risparmiare memoria

- Densificazione [ aumentare il dettaglio ]

- Shape Analysis [ riconoscere oggetti , trovare simmetrie ]

- Shinking [riduce il volume]

SEMPLIFICAZIONE

- se la maglie poligonali sono fatte bene bisognerebbe semplificarle

- vogliamo rimuovere il maggior numero di vertici per cui il risultato sia una buona

approssimazione della maglia

- Per semplificare maglie triangolari si usano due algoritmi : *)Decimazione dei

vertici *) contrazione iterativa degli spigoli[ad ogni contrazione lo spigolo di

costo minore viene eliminato ]

- I due metodi differiscono per metrica errore impiegata

RIMOZIONE VERTICI / SPIGOLI

- Si usa il *)Vertex rimoval [ rimuove un vertice e triangola la cavità ]

- Edge Collapse [rimuove un spigolo fondendo due vertici in uno nuovo

- Half Edge Collapse [uno dei due vertici rimane fermo]

LEGGI SULLE SLIDE IL METODO GARLAND HECKBERT

MULTIRISOLUZIONE

- questo algortimo genera una piramide di modelli a complessità crescente ovvero

una multi risoluzione dell’oggetto

LEGGI SLIDE COME FA LA MULTIRISOLUZIONE

RENDERING

- indica una serie di algoritmi geometrici e non , a cui si sottopone una data

descrizione di serie di oggetti per ottenere un’immagine.

- La visualizzazione consiste nel creare una particolare vista della scena 3d

IL MONDO IN TRE DIMENSIONI

- per effettuare il rendering si deve creare una vista , e la definizione del modello è

indipendente dalla posizione di osservazione della scena

- Quindi le funzioni destinate allea modellazione ed al posizionamento della

macchina all’interno della scena sono distinte e separate

MACCHINA FOTOGRAFICA VIRTUALE (metafora)

- usata per descrivere le relazioni scena/osservatore

- il modello semplice usato anche in Computer Vision è la telecamera pinhole

- è costituita da un parallelepipedo in cui la faccia anteriore presenta un foro di

dimensioni infinitesime e su quella posteriore si formano le immagini

- immagini nitide , nessun problema luminosità ,

- l’angolo di vista si modifica variando il rapporto fra distanza focale e dimensione

piano immagine

- piano immagine esiste tra la scena e il centro di proiezione ( si assume)

PROIEZIONE PROSPETTICA LEGGI SULLE SLIDE

TRASFORMAZIONI DI PROIEZIONE

- una proiezione è una trasformazione geometrica con il dominio in uno spazio di

1dimensione n ed il codominio in uno spazio di dimensione minore f:R^n →R^m

m<n

- dal punto di vista geometrico è definita come un insieme di rette di proiezione

aventi origine comune in un centro di proiezione , che passa per tutti i punti

dell’oggetto da proiettare ed intersecanti un piano di proiezione

- non è necessario calcolare i proiettori di tutti i punti di una scena ma solo quelli ai

vertici delle primitive

- ci sono : *)proiettori rettilinei *)proiezione giacente su un piano

- proiezioni geometriche piane si classificano in : *) proiezioni prospettiche [si

specifica un centro di proiezione ] *) proiezione parallele [ che prendono questo

nome poiché i proiettori sono paralleli]

- la prospettica è piu’ reale della parallela perché riproduce la visione reale

PROIEZIONE PARALLELA LEGGI SLIDE

ALGORITMO DI RAY CASTING / PITTORE

- Si fissa un punto di vista ed un rettangolo su cui si formerà l’immagine

- La tela è divisa in celle ciascuna delle quali assumerà un colore

- Si traccia un raggio attraverso ciascuna cella e la si dipinge con il colore che si

vede lungo il raggio

- I raggi ottici riempiono una piramide semi-infinita con vertice nel COP e spigoli

passanti per i vertici della finestra di vista ( RAY CASTING usato per calcolare

immagini virtuali a partire dalle descrizioni dei modelli viste )

- Semplice ma inefficiente per via del calcolo delle intersezioni

FOTOMETRIA / RADIOMETRIA

- la radiazione luminosa è caratterizzata da : 1) Distribuzione spettrale per il colore

2) energia per luminosità o intensità 3)fotometria è la misura dell’energia

trasportata dalle onde elettromagnetiche dalla gamma ottica , e l’azione della luce

visibile sull’occhio umano 4)la radiometria si occupa di radiazioni esteso

sull’intero intervallo delle possibili lunghezze d’onda

RADIOMETRIA

- Si può misurare l’energia indipendentemente per un certo numero di lunghezze

d’onda campione che servono a rappresentare l’intera distribuzione spettrale

- Di solito se ne usano 3 che corrispondono ai colori rosso , verde , blu (RGB)

- Il flusso radiante è la velocità alla quale l’energia luminosa viene emessa da una

superficie e si misura in Watt

- Irradianza è il rapporto tra il flusso ricevuto da un elemento infinitesimo di

superficie x e la sua area dx

- Radiosità il rapporto fra flusso emesso da un elemento infinitesimo di superficie

in x e la sua area dx

- Irradianza è energia ricevuta mentre radiosità è energia emessa

- L’intensità luminare è il flusso radiante emesso in un angolo solido infinitesimo

dw lungo un particolare direzione w

- L’angolo solido sotteso da un oggetto rispetto un punto P è pari all’area della sua

proiezione dell’oggetto su una sfera unitaria centrata in P

- LEGGITI FORMULE

- Dati due punti x e y la radianza che lascia x verso y è uguale a quella che

raggiunge y dalla direzione x quindi non si attenua con la distanza

- Nel Ray Casting i raggi luminosi trasportano radianza , ed i pixel registrano il

valore di essa

- Nelle tipiche immagini il valore di intensità del pixel è legato al logaritmo della

radianza

BRDF GENERICA

- le due piu’ semplici approssimazioni BRDF modellano due comportamenti ideali

dei materiali : *) diffusione *) riflessione speculare

- Un riflettore speculare è come uno specchio perfetto , riflette il raggio incidente

lungo una direzione che forma un angolo dalla direzione di incidenza

- Se il materiale è lucido il raggio incidente viene disperso

- In grafica le BRDF diffusione e riflessione vengono mescolate

- La BRDF dipende anche dalla lunghezza d’onda perché la luce bianca incide sulla

superficie e grazie all’assorbimento selettivo delle componenti cromatiche la luce

riflessa ha una distribuzione spettarle non uniforme ovvero è colorata

RICORSIONE

- abbiamo due metodi : *) Locali [ si elimina la ricorsione tenendo conto solo

dell’effetto diretto delle sorgenti luminose , trascurando le interriflessioni ,

vengono tenute conto la radianza entrante solo le direzioni corrispondenti ai raggi

provenienti dalle sorgenti luminose ] *) Globali [ si tiene conto della natura

ricorsiva della equazione di radianza ma si trascurano alcuni fenomeni di

interriflessione come il ray tracing e il radiosity

ALGORTIMI

- Ray Tracing estende ricorsivamente il ray casting per trovare il percorso dei soli

raggi riflessi specularmente e rifratti

- Il Ray Tracing è view dependent in quanto la soluzione che trova dipende dalla

posizione dell’osservatore

- Radiosity riformula l’equazione della radianza in termini di radiosità perdendo

dunque direzionalità quindi la scena è perfetta solo se ha diffusori perfetti

(superficie ruvida che ripartisce la radianza entrante su tutte le direzioni)

- Radiosity la sua soluzione è calcolata in relazione alle superfici della scena e non

dipende dalla posizione

MODELLI DI ILLUMINAZIONE

- Applicare i modelli di illuminazione misti devono considerare sia componenti

diffusive che speculari

- Ogni punto ha radianza preassegnata

RASTERIZATION PIPELINE

- Invece che gettare raggi sulla scena proietto la scena sul piano immagine

- La proiezione di un poligono e ancora un poligono che ha per vertici la proiezione

dei vertici

- È un esempio di rendering in object order mentre il ray casting è image-order

PROBLEMI

- Elimino il calcolo delle intersezioni raggio-oggetto

- Problemi : *) Superfici Nascoste : nel ray casting il problema di stabilire quali

parti della scena vedere e quali sono nascosti viene implicitamente risolto mentre

nella rasterizzazione devo stabilire quali sono visibili e quali no *)Clipping : nel

ray casting gli oggetti al di fuori del volume di vista vengono implicitamente

scartati mentre nella rasterizzazione devo stabilirlo io e quelli a cavallo sono

tagliati *)Scan Conversion : devo disegnare un poligono su una matrice di pixel

decidendo quali vi appartengono e quali no *) Shading Interpolativo : nel ray

casting il colore dei pixel deriva dal modello di illuminazione mentre nel secondo

si possono assegnare colore ai vertici del poligono e per quelli interni bisogna

intrerpolare *) Effetti globali di illuminazione : nel ray casting e facile ottenere

ombre tracciando gli shadow rays mentre nella rasterizzazione servono trucchi

piu’ elaborati

PIPELINE GEOMETRICA

- devo : 1) mettere assieme gli oggetti di scena 2) rappresentare gli oggetti della

telecamera virtuale 3) proiettarli 4 ) applicare varie trasformazioni

PROIEZIONE

- Metto gli oggetti con trasformazioni “ di modellazione “ in un riferimento

“coordinate mondo “ e poi proiettare sul piano immagine (proiezione prospettica

o affine )

TRASFORMAZIONE DI VISTA

- devo passare in coordinate solidali con la camera e definire cosa vedo dato che sto

lavorando in object order devo buttar via il resto

VOLUME DI VISTA

- La piramide di vista viene limitata da due piani paralleli al piano di vista : il piano

taglio anteriore e posteriore

- Il solido risultante è un frustum di vista che è la regione di spazio nel mondo che

può apparire sulla finestra di vista

- Per proiettarli devono essere trasformati nello spazio vista con una trasformazione

rigida detta trasformazione di vista

TRASFORMAZIONE PROSPETTICA

- mappa il frustum in un parallelepipedo retto , poi mappato sul piano immagine

con una proiezione ortografica cosi si semplifica le operazioni di clipping

VOLUME DI VISTA CANONICO

- la trasformazione prospettica N mappa punti 3D in punti 3D e scegliendo e

α β

possiamo mappare il frustum in un parallelepipedo . Proiettandolo ortogonalmente

si ottiene la proiezione prospettica desiderata.

CASO ORTIGINALE

- se si vuole una proiezione ortogonale basta sostituire la trasformazione prospettica

con una trasformazione affine che mappa il volume di vista canonico

LEGGI PIPELIINE GEOMETRICA SLIDE 20-21

RIEPILOGO

- Spazio Oggetto : dove ciascun singolo oggetto viene definito .

- Spazio Mondo : dove si costruisce . Si passa dallo spazio oggetto a quello mondo

mediante la trasformazione di modellazione

- Spazio Vista : centrato sulla telecamera virtuale che definisce il frustum di vista

- Spazio Schermo 3d : si ottiene trasformando il frustum di vista in un

parallelepipedo

- Spazio Immagine : sistema di coordinate nel display fisico . Si ottiene proiettando

ortogonalmente il volume di vista canonico e applicando la trasformazione

viewport.

RAY CASTING E COLORE

- Possiamo creare le immagini se sappiamo assegnare il colore dipendente

dall’illuminazione dei punti incontrati dal raggio (shading)

EQUAZIONE DEL RENDERING

- Per determinare il colore del pixel nel ray casting dobbiamo risolverla . E’

ricorsiva sia a destra e a sinistra.

- La radianza in un punto di una superficie è determinata globalmente poiché non

dipende solo dalle sorgenti luminose ma anche da quelle secondarie

MODELLI DI ILLUMINAZIONE APPROSIMATI

- La cosa è piu’ semplice se usiamo un modello di illuminazione locale , cioè

interazione tra una sorgente ed una singola superficie senza ricorsione

- Nei locali ciascun punto viene trattato indipendentemente dal resto della scena

MODELLO PHONG

- Le regole che seguono sono in un'unica banda cromatica , servono per la

riproduzione di un immagine a livelli diversi di intensità (toni di grigio) piuttosto

che colori

- Quando si utilizza una RGB l’equazione viene calcolata in modo indipendente per

ciascuna delle tre componenti cromatiche

- La luce viene considerata da tre componenti cromatiche R,G,B e si calcola

l’intensità indipendentemente da ogni componente cromatica ottenendo un colore

- Intensità luminosa (valore che viene assegnato al raggio) è diversa da radianza .

- Inventore fu Phong – Bui – Tran prima metà degli anni 70

- Semplifica lo schema fisico di iterazione : *) Solo sorgenti puntiformi *) No inter-

riflessioni *) calcolo locale dell’equazione di illuminazione *) Approsimazione

con due costanti della funzione di riflessione

- Simula il comportamento di materiali opachi

- Non modella la rifrazione : no materiali trasparenti o semi-tr

- Niente ombre

- Metodo è la semplificazione del fenomeno della riflessione usando le leggi della

fisica che regolano le riflessioni speculari ( Fresnel) e la riflessione diffusa

(Lambert)

LEGGE DI FRASNEL

- Quando un raggio di luce passa da un mezzo ad un altro con diverso indice di

rifrazione raggiunta la superficie di separazione parte del raggio viene riflessa e

parte trasmessa

- Somma delle due energie dei due raggi è uguale all’energia del raggio originale

- Se da aria a corpo solido non c’è rifrazione si ha solo riflessione

- Anglo di incidenza è uguale all’angolo di riflessione

- Vale per materiali molto lisci e lucidi

LEGGE DI LAMBERT

- Materiali molto opachi hanno una superficie che a livello microscopico ha piccole

sfaccettature che riflettono la luce in una direzione

- Integrando su scala microscopica la luce si riflette uniformemente verso tutte le

direzioni , con intensità proporzionale al rapporto tra la direzione del raggio

incidente e la normale alla superficie in quel punto

MODELLAZIONE DELLA RIFLESSIONE DIFFUSIVA FOGLIO

COMPONENTI DIFFUSIVA

- Si approssima la funzione di riflessione diffusa della superficie come una costante

Kd dipendente dal materiale

- L’equazione simula il comportamento di alcuni materiali i quali riflettono la luce

che ricevono in maniera uniforme in tutte le direzioni

RIFLESSIONE SPECULARE

- Novità il riflettore non perfetto

- Riflessione piu’ realistica rispetto alla legge di Fresnel

- Conseguenza : Specular Highlight (simula superfici lucide in generale)

COMPONENTE AMBIENTALE

- Le inter-flessioni tra oggetti diversi nella scena non sono trattate nel modello di

phong

- Leggi equazione

NOTE

- il modello di phong riguarda solo il termine speculare

- Una sorgente di luce emana luce di tre tipi diversi non ha un significato fisico ,

ma può servire a rendere il modello più flessibile

- La luce ambientale è associata ad ogni sorgente e non è un termine globale unico

,cosi quando una luce viene spenta l’illuminazione ambientale diminuisce

BRDF DI PHONG

- Per determinare la intensità di un punto si deve calcolarne la radianza uscente

nella direzione che lo unisce al COP

ATTENUAZIONE

- Se due superfici distinte e parallele a alla scena , costituito dallo stesso materiale ,

si sovrappongono all’immagine è impossibile distinguere dove finisce una e

comincia l’altra poiché avranno lo stesso colore in base al modello locale

- Si introduce un coefficiente di attenuazione della luce che moltiplica la luce

incidente per tener conto che l’intensità emessa da un punto che raggiunge una

superficie decresce con l’inverso del quadrato della distanza

EMISSIONE

- L’effetto è che l’oggetto emette un proprio colore oltre alla luce riflessa dalla

sorgente luminosa

- La luce emessa in questo modo da un oggetto influenza apparenza solo di

quell’oggetto e non l’apparenza degli oggetti vicini

- Un corpo emissivo non si comporta come una sorgente luminosa , in questo

modello locale

MODELLO PIU’ FISICAMENTE MOTIVATO

- Un modello maggiormente motivato è quello di Cook – Torrance

- Basat sul modello microfacets della superficie che descrive la superficie come

formata da piccole facce disposte in modo variabile

QUINDI : RAY CASTING

- Il raggio ottico e una semiretta uscente dal COP che interseca il piano vista

- Se il raggio non interseca nessun oggetto allora gli assegno il colore di sfondo

- Se il raggio interseca un oggetto devo calcolarne l’illuminazione nel punto di

intersezione

- Si aggiungono ombre tracciando il raggio che connette il punti d’intersezione con

la sorgente luminosa

RAY TRACING

- usa tecnica ricorsiva e globale per calcolare l’illuminazione in un punto della

superficie (modella bene per superfici trasparenti e riflettenti ma non tiene conto

della componente diffusiva)

- Nel punto di intersezione del raggio della superficie si applica il modello di

illuminazione preferito per le sorgenti visibili da li

- Dallo stesso punto si tirano altri due raggi : uno di rifrazione e di riflessione

- Si applica il processo ricorsivamente finchè un raggio non incontra una sirgente

luminosa oppure di perde all’infinito

CALCOLO DELLE INTERSEZIONI

- Si può fare con tutti i tipi di primitiva visti (sfere , poligoni , poliedri ecc…)

- Si possono usare strutture dati per semplificare il problema

INTERSEZIONE RETTA POLIGONO

- Si fa un test per vedere se la retta interseca il paino che contiene poligono

- Se non lo interseca allora non interseca il poligono

- Nel caso di intersezione allora bisogna determinare se il punto di intersezione

giace o meno nel poligono

- Assumiamo che il poligono sia convesso , il punto R giace all’interno di P se e

solo se R si trova nel semipiano sinistro di tutte le rette orientate che contengono

gli spigoli

RIDUZIONE DELLA COMPLESSITA’

- Per implementare un ray tracer basta controllare l’intersezione di ciascun raggio

con ogni primitiva , il costo lineare è il numero delle primitive ed è praticabile

solo per modelli semplici

- Aggiungere un costo sub-lineare consente di limitare a priori il numero delle

primitive per le quali il test di intersezione viene effettuato

- Queste tecniche di sfoltimento si chiamano Pruning , culling o broad phase

- Nel narrow phase si calcolano le intersezioni

- Si considerino parti convesse e se non ci sono le spezzetto in parti convesse

VOLUMI DI CONTIMENTO

- Si racchiudono gli oggetti solidi che li contengono con i quali sia facile testare

l’intersezione , se essa non interseca il bounding volume non ce intersezione con

l’oggetto racchiuso

- Semplifica le operazioni e migliora i tempi

- Esempi di volumi di contenimento sono sfere ,parallelepipedi con lati paralleli

assi cartesiani oppure parallelepipedi generici

PARTIZIONAMENTO SPAZIALE

- Suddivide lo spazio in celle tipicamente cubiche

- Solo le primitive sono intersecate da un raggio

VOLUMI DI CONTENIMENTO GERARCHICO

- al livello più alto si ha il volume che racchiude tutta la scena , mentre al più basso

si hanno i volumi di contenimento per i singolo soggetti

- struttura bottom-up

- Indotta per ray tracing

OCTREE

- Attraversamento avviene : *) interseca il raggio con il cubo che racchiude tutta la

scena e trova un punto P sul raggio all’interno *)visita l’albero per scoprire a

quale cella appartiene P *) Interseca il raggio con le facce della cella per trovare

la faccia di uscita *) la prossima cella è adiacente alla faccia di uscita

- Il vantaggio è che la divisione si adatta agli oggetti e non rimane fissa o uniforme

KD TREE

- La costruzione avviene in modo che ogni piano divida a metà il numero di oggetti

rimanenti

- Attraversamento può avvenire in modo sequenziale o in modo ricorsivo sfruttando

la struttura ad albero.

- Quella ad albero avviene intersecando ricorsivamente con le regioni definite

dall’albero . Esso viene attraversato dal raggio con la regione corrente e

ricorsivamente suddiviso in intervalli . Solo gli oggetti contenuti nelle foglie sono

controllati


PAGINE

25

PESO

173.08 KB

PUBBLICATO

+1 anno fa


DETTAGLI
Corso di laurea: Corso di laurea in informatica
SSD:
Università: Verona - Univr
A.A.: 2014-2015

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher Bazinga222 di informazioni apprese con la frequenza delle lezioni di Grafica del calcolatore e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Verona - Univr o del prof Giacchetti Andrea.

Acquista con carta o conto PayPal

Scarica il file tutte le volte che vuoi

Paga con un conto PayPal per usufruire della garanzia Soddisfatto o rimborsato

Recensioni
Ti è piaciuto questo appunto? Valutalo!

Altri appunti di Corso di laurea in informatica

Algebra lineare - Esercizi
Esercitazione
Fondamenti dell'informatica - Appunti
Appunto
Logica e matematica discreta - Appunti
Appunto
Analisi 2 - Esercizi Generali Esame
Esercitazione