Grafica Computazionale – AA 2011/2012 – 21 Giu 2012 (1mo appello). Tempo max: 3.5 ore.
1) Scrivere una matrice di trasformazione M che ingrandisca di 10 volte gli oggetti ma lasci invariato il punto p di coordinate (4,4,4). Verificare cosa succede applicando M al punto di coordiante q = (4,5,3) e al vettore di coordinte (0,0,1). Se M è invertibile, trovare la sua inversa N. Dire quanto vale il determinate di M e (se esite) di N.
2) Sia p il punto di R3 (3,3,0).
Dare le coordinate di p (se esistono e sono determinate):
a) Cartesiane, nel sistema di riferimento mondo, che è quello canonico b) Cartesiane, nel sistema di riferimento vista, se la camera si trova nell’origine ed è puntata direttamente verso p
c) Omogenee, nello stesso sistema di riferimento del punto a, in due modi diversi.
d) Baricentriche, nel triangolo T aventi come vertici l’origine, (0,6,0), e (6,0,0)
3) Scrivere delle funzioni in pseudocodice GLSL per:
3a) dato un piano P passante per un punto p e avente una normale al piano n, determinare in quale semispazio giaccia un punto dato q
3b) dato un punto q espresso in coordinate oggetto, la matrice di proiezione P, la matrice di modellazione M e la matrice di vista V, determinare se q giaccia o meno all’interno del view frustum
3c) determinare se un oggetto delimitato, in clip coordinates, da una bounding sphere di centro q e raggio r debba essere scartato da un View Frustum Culling conservativo 3d) determinare una qualunque delle due normali di un piano in R3 passante per tre punti
dati q0 q1 e q2
3e) dato un sistema di riferimento A, constituito da tre assi x,y,z e un’origine o, dove x,y,z e o sono tutti espressi in uno stesso sistema di riferimento B, e un punto p esprsso tramite le sue coordinate nel sistema A, determinare le coordinate di p nel sitema di riferimento B.
3f) opzionale: data usa sfera S di centro c e di raggio (radius) r, e un raggio (ray) R che parte dal punto q e procede in direzione d, determinare se ci sia oppure no intersezione fra R e S. In caso di intersezione, determinare una sua posizione.
4) Si consideri una mesh M0 composta di una sola faccia pentagonale. Si suddivida questa faccia con un edge a piacere che connetta due punti non facenti parti di un lato del pentagono originale, ottenendo la mesh M1 (costituita dunque da un triangolo e un quadrilatero). (a) Inventarsi una geometria per M1 (a piacere). (b) Descrivere la
connettività di M1 come struttura di half edges. (c) Dire argomentando quali dei seguenti aggettivi si applica ad M1: two-manifold, chiusa, aperta, ben orientata, ben orientabile, pure-quad, quad-dominant, pure-tri, poligonale. (d) Trovare il minimo Axis Aligned
Bounding Box per M1 (e) Si descriva la connettività di M1 come mesh indicizzata.
5) Sia dato un frammento f avente i seguenti attributi interpolati: normale in spazio vista nv = (0,3,4), posizione in spazio vista pv = (4,0,4), esponente speculare N = 4. Si ha una luce posizionale in posizione in spazio mondo um = (10, 10, 10) e una matrice di vista V che e’ una matrice di traslazione del vettore (-6,-6,-2).
(a) Determinare il coefficiente di illunimazione:
(a1) diffusivo (a2) di Phong (a3) di Blinn-Phong.
(b) In una tipica architettura pipeline GPU, che tipo di shader potrebbe includere il codice che computa la soluzione del problema (a)? In questo shader, di quale tipo e classe di allocazione ti immagini possano essere le variabili usate ( nv, pv, N, um, V …)?
6) Spiegare con uno pseudocodice in cosa consistano i seguenti test:
(6a) Back-face culling (6b) Depth test (6c) Alpha test.
In ciascun caso, specificare in quale fase del pipeline avvengano, e cosa venga scartato.
7) Elencare alcuni parametri intrinseci ed estrinseci di una camera. Specificare quale delle sotto-trasformazioni usate nel procedimento di trasformazione siano determinate da ciascuno di questi insiemi di parametri.
8) Elencare alcuni effetti di illuminazione globale, e locale.
9) Definire brevemente:
a- u-v mapping di una mesh
b- inteprolazione e estrapolaz. lineare c- normal map
d- campo di altezza f- rango di una matrice g- tessitura
h- texture fetch
i- depth of field (di una immagine) j- rendering non-fotorealistico k- form factor (matrice)
l- raggio primario e raggio secondario (in algoritmi di ray tracing)