Professional Documents
Culture Documents
INDICE
Trasformazioni geometriche
4
Traslazione
4
Scalatura
4
Rotazione
4
Window-to-viewport
4
Concatenazione (composizione) di trasformazioni
5
Rotazione attorno a un punto qualsiasi P
5
Scalatura attorno a un punto qualsiasi P
5
Matrice Identità
5
Current Transformation Matrix (CTM)
5
Push e Pop Matrix
5
Back-face Culling
5
Trasformazioni di Vista
6
Come avviene la proiezione di un oggetto 3D
6
Proiezioni geometriche piane
6
P. Parallela: proiezione ortografica
6
Proiezione Prospetica 7
Matrice View 7
Orientare la camera 8
shading 9
Modello di Lambert 12
Trasformazioni geometriche
Dal punto di vista teorico, applicare una trasformazione ad un entità geometrica significa
trasformare tutti i punti che la compongono.
Traslazione
Significa muovere ogni punto della primitiva geometrica P(x, y) di dx unità lungo lʼasse x e di dy
unità lungo lʼasse y, fino a raggiungere la nuova posizione Pʼ(xʼ, yʼ).
Pʼ= P + T
dove T rappresenta il vettore traslazione.
Scalatura
Scelto un punto C (punto fisso), scalare un generico punto P significa riposizionare P sul piano
cartesiano ricalcolando le sue distanze (nella direzione di ciascun asse coordinato) da C in base
ad una nuova unità di misura.
Pʼ=P * S
dove S rappresenta la matrice di scalatura.
Rotazione
Fissato un punto C (punto fisso) di riferimento e un verso di rotazione (orario o antiorario), significa
ruotare solidamente tutti i punti della primitiva intorno a C nel verso assegnato.
Pʼ=P * R
dove R rappresenta la matrice di rotazione.
(la rotazione sopra riportata, esegue solo una rotazione attorno allʼorigine, cioè attorno allʼasse z)
Window-to-viewport
Eʼ un esempio di concatenazione di trasformazioni geometriche. Consiste nel mappare i punti che
si trovano nel rettangolo definito dalle coordinate dei suoi vertici in basso a sx ed in alto a dx (la
window) nei punti corrispondenti del rettangolo della viewport.
Salvo casi particolari: il prodotto di trasformazioni geometriche non gode generalmente della
proprietà commutativa.
Matrice Identità
Eʼ la matrice utilizzata per azzerare qualsiasi trasformazione applicata.
Back-face Culling
In ogni sistema grafico, ogni poligono possiede due facce.
Una faccia è definita rivolta allʼesterno (outward facing) se la sequenza dei vertici è attraversata
in senso anti-orario.
Una faccia è definita rivolta allʼinterno (inward facing) se la sequenza è attraversata in senso
orario.
Con il back-face culling (ovvero “eliminazione delle faccie nascoste”) determiniamo se la faccia di
un poligono che compone un oggetto solido è visibile oppure no.
La tecnica ovviamente viene applicata sulla faccia che il poligono mostra alla camera.
Trasformazioni di Vista
Nello spazio 3D il processo rendering di una scena è decisamente più complicato di quello di una
scena 2D. Non solo perchè abbiamo una dimensione in più ma perchè dobbiamo visualizzare
scene 3D su un dispositivo di output 2D.
Cosa avviene quindi? Tutto sta nel fatto che la visualizzazione va ricondotta alla creazione di una
vista della scena.
Inoltre, i raggi di proiezione convergono verso il centro di proiezione (COP) che corrisponde alla
posizione della lente della camera o allʼocchio dellʼosservatore.
Vantaggi:
-preserva sia le distanze che gli angoli.
-può essere usata per misurazioni (es. cartine di edifici)
Proiezione Prospetica
In questi tipo di p. la dimensione dellʼoggetto è proporzionale alla posizione dellʼoggetto.
Rappresenta molto più fedelmente la vista umana.
Eʼ una proiezione utile perchè gli oggetti appaiono molto più realistici ma non è utile se deve
essere usata per rilevare informazioni quantitative dalla vista.
Le distanze non sono mantenute, solo gli angoli delle facce parallele al piano di proiezione
risultano inalterati.
Nel caso della proiezione prospettica, tutte le linee convergono in un punto di fuga. (possono
esserci più punti di fuga)
Si usa catalogare le p. prospettiche a seconda del numero di punti di fuga principali, che non i
punti relativi alle linee parallele ad uno degli assi.
Matrice ModelView
Ha lo scopo di accumulare in unʼunica trasformazione due matrici:
1. View: responsabile della posizione e dellʼorientamento della camera.
2. Model: responsabile della disposizione degli oggetti della scena.
Posizionare la camera
Sia (e,u,v,w) il frame che definisce la posizione e lʼorientamento della camera.
Spostare la camera significa traslare e ruotare il frame della camera fino a farlo “coincidere” con il
frame del mondo (o,x,y,z).
Matrice View
La trasformazione che allinea lʼorigine e con lʼorigine o ed il sistema di riferimento uvw con il
sistema di riferimento xyz è la seguente.
Orientare la camera
Più nello specifico, per riuscire a posizionare ed orientare la camera in maniera esatta e definire il
frame (e,u,v,w) sono necessari tre parametri:
1. La posizione della camera (o dellʼocchio): e
2. Il vettore della direzione dello sguardo g
3. Il vettore up t
Lezione 09x41
..du maron...
Cambio.
Interazione luce-materia
Per determinare il colore di un punto su una superficie dobbiamo considerare lʼinterazione luce-
materia.
I parametri da considerare sono:
1. Le sorgenti di luce - tipo, colore, orientamento
2. Le proprietà del materiale - tipo, colore, orientamento
3. La posizione dellʼosservatore
Lʼequazione che risolve questo problema si chiama equazione di illuminazione. Questo processo
può essere calcolato in due modi diversi:
lighting
se si fa riferimento al calcolo del bilancio luminoso, ossia la quantità di radiazione luminosa che
incide su ogni determinata posizione dello spazio (ad esempio su ogni porzione di superficie degli
oggetti della scena).
shading
se si fa riferimento al calcolo del colore apparente risultante dallʼesposizione di ognuna di queste
porzioni di superficie alla radiazione luminosa incidente.
Illuminazione Locale
Con questo metodo, consideriamo solo la prima riflessione del raggio
luminoso.
Ray-casting
Sorgente puntiforme
Eʼ caratterizzata da una posizione e da un colore. La luce è diffuso allo stesso modo in tutte le
direzioni.
Se definiamo la distanza come infinita, allora i raggi luminosi saranno tutti dritti e paralleli,
otteniamo quindi la luce direzionale.
Attenuazione Radiale
Nella realtà, la luce si disperde con la distanza.
La luce emessa da una sorgente a distanza p0 da un punto p viene attenuata secondo la
relazione:
Questa attenuazione però non va molto bene, perchè cʼè troppa luce per gli oggetti vicini e troppo
poca per quelli lontani. Inoltre le sorgenti di luce reali non sono puntiformi.
Viene introdotta quindi la:
Attenuazione Quadratica
Tipicamente si utilizza una funzione con un numero maggiori di parametri:
In questa funzione, i parametri possono essere aggiustati per produrre lʼeffetto di attenuazione
desiderato. Ad esempio, porre a ad un valore grande impedisce alla attenuazione di essere troppo
grande per distanze piccole.
Tipi di Superfici
1. Superfici speculari: si comportano come degli specchi riflettendo gran parte della luce
in prossimità dellʼangolo di riflessione(uno specchio è una superficie speculare perfetta)
2. Superfici diffuse: riflettono la luce in tutte le possibili direzioni con uguale intensità
3. Superfici translucenti: trasmettono parte della luce allʼinterno del materiale attraverso
il fenomeno della rifrazione.
Il modello di Phong combina linearmente tre tipi di interazione luce-materia: ambiente , diffusa e
speculare:
-Ogni luce ha tre componenti separate
-Ogni materiale avrà tre componenti separate
Per ogni luce e per ogni materiale le corrispondenti componenti interagiscono per produrre il
colore.
Ovvero: Ia = La Ka
Superfici Lambertiane
Le superfici lambertiane sono le superfici che diffondono la luce allo stesso modo in tutte le
direzioni. In natura queste superfici sono geometricamente irregolari e non esiste un angolo di
riflessione privilegiato.
Nel calcolo della componente diffusa vogliamo determinare la quantità di luce che colpisce la
superficie:
Modello di Lambert
La legge di Lambert descrive lʼirraggiamento di una superficie irradiata da una sorgente puntiforme
secondo la relazione:
Quando una luce è posizionata dietro lʼoggetto, il suo contributo deve essere nullo:
Riflessione Speculare
Molte superfici non sono ne perfettamente diffuse ne perfettamente speculari
(specchi).
In generale le superfici lisce hanno un punto di “lucentezza” a causa della
riflessione della luce in direzione del vettore riflesso.
Se lʼosservatore se è posizionato nella stessa direzione del raggio riflesso
percepisce il classico “bagliore”.
Specularità
La quantità di specularità è proporzionale allʼangolo tra il vettore riflesso r e la direzione dello
sguardo v, ovvero:
Coefficiente Speculare
Phong propose un coefficiente di specularità α (o shininess) che diminuisce allʼaumentare
dellʼangolo φ: