La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Informatica Grafica Algoritmi 3D1 Macchina Fotografica Virtuale La visualizzazione di una scena 3D avviene come se usassimo una macchina fotografica.

Presentazioni simili


Presentazione sul tema: "Informatica Grafica Algoritmi 3D1 Macchina Fotografica Virtuale La visualizzazione di una scena 3D avviene come se usassimo una macchina fotografica."— Transcript della presentazione:

1 Informatica Grafica Algoritmi 3D1 Macchina Fotografica Virtuale La visualizzazione di una scena 3D avviene come se usassimo una macchina fotografica.

2 Informatica Grafica Algoritmi 3D2 Visualizzazione in 3D Passo fondamentale: Proiezione. Occorre specificare:Volume di vista. Piano di proiezione. Punto/Direzione di vista. Passi fondamentali:

3 Informatica Grafica Algoritmi 3D3 Proiezioni l La proiezione trasforma punti in 3 (o più) coordinate in punti su un piano. l Le proiezioni sono definte dai raggi di proiezione (projectors) che partono dal center of projection ed arrivano sul projection plane.

4 Informatica Grafica Algoritmi 3D4 Tipi di Proiezioni Planari: proietta su un piano. Non Planari: proietta su superficie non planare. Prospettiche: centro di proiezione (X Y Z 1). Parallele: direzione di proiezione (a b c 0) punto allinfinito differenza tra due punti omogenei: (X Y Z 1) - (X Y Z 1) = (a b c 0).

5 Informatica Grafica Algoritmi 3D5 Proiezioni Prospettiche Da 1 a 3 punti di fuga (3 punti scarso uso). Nellesempio 2 punti di fuga: lati paralleli X-Z convergenti lati paralleli Y paralleli

6 Informatica Grafica Algoritmi 3D6 Proiezioni Parallele Ortografiche: direzione perpendicolare al piano di proiezione. Oblique: direzione non perpendicolare al piano.

7 Informatica Grafica Algoritmi 3D7 Proiezioni Parallele (2) Assonometriche Ortografiche: piano non perpendicolare asse X o Y o Z. Preservano parallelismo ma non gli angoli. Isometriche: assonometriche più angoli uguali sui tre assi. La direzione normale al piano (dx dy dz) è tale che|dx|=|dy|=|dz|.

8 Informatica Grafica Algoritmi 3D8 Proiezioni Oblique Piano di proiezione perpendicolare asse (X,Y,Z) Cavaliere: direzione e piano angolo 45°, preservano la lunghezza sui tre assi. Cabinet: angolo 63,8° = arctg(2), dimezzano la lunghezza lungo uno degli assi.

9 Informatica Grafica Algoritmi 3D9 Riassunto Proiezioni Planari Geometriche Tutte le proiezioni richiedono: l piano di proiezione. l posizione del centro di proiezione. l distanza centro di proiezione-piano: »Finita prospettiche. »Infinita parallele

10 Informatica Grafica Algoritmi 3D10 Viste Arbitrarie Includono proiezione e volume di vista (clipping). Bisogna specificare: l View Reference Point VRP : punto sul piano di proiezione. l View Plane Normal VPN : normale al piano di proiezione. l View up Vector VUP : determina un sistema di coordinate 3D sul piano di proiezione. l Asse V.

11 Informatica Grafica Algoritmi 3D11 Finestra sul piano definita rispetto a UV. CW center of window =U min +[U max -U min ]/2 V min +[V max -V min ]/2 Definizione di Viste VRC View Reference Coordinate: coordinate sul piano di proiezione. La proiezione di VUP determina asse V lasse U é perpendicolare a V ed a VPN

12 Informatica Grafica Algoritmi 3D12 Definizione di Viste (2) PRP Projection Reference Point: definisce direzione o centro della proiezione. Specificato nelle coordinate VRC. Prospettiche : il PRP é il centro di proiezione.

13 Informatica Grafica Algoritmi 3D13 Proiezioni Parallele Parallele : la Direction of Projection (DOP) é la retta PRP-CW. Ortografiche : DOP // VPN. Oblique : DOP non // VPN.

14 Informatica Grafica Algoritmi 3D14 Volume Di Vista Volumi infiniti sono implicitamente definiti da PRP e finestra sul piano. Prospettiche : piramide semi-infinita con apice PRP e sezione sul piano pari alla finestra. Parallele : parallelepipedo infinito con sezione sul piano pari alla finestra. Volumi Finiti permettono di concentrarsi su parte dello spazio.

15 Informatica Grafica Algoritmi 3D15 Volume Finito di Vista Definiti da :front-clipping plane e back-clipping plane paralleli al view-plane, VPN perpendicolare al view-plane.

16 Informatica Grafica Algoritmi 3D16 Volume di Vista (Prospettiche) Proiezioni prospettiche: volume di vista a tronco di piramide.

17 Informatica Grafica Algoritmi 3D17 Normalizzazione Il volume di vista viene trasformato in un volume canonico in nuove coordinate: NPC (Normalized Projection Coordinates). Il risultato viene mappato nel 3D viewport, che e contenuto nel cubo unitario (0 0 0 ) (1 1 1 ). Disegnando le primitive ignorando la Z si ottiene limmagine da mandare al display. PHIGS definisce 2 matrici 4x4 view-orientation matrix view-mapping matrix world coordinates VRC NPC view orientationview mapping

18 Informatica Grafica Algoritmi 3D18 Esempi Disegno casa variando tipo proiezione, piano, ecc.. Esempio usato nel seguito

19 Informatica Grafica Algoritmi 3D19 Parametri Parametri vista di default VRP(wc) (0 0 0) origine VPN(wc)(0 0 1) asse z VUP(wc)(0 1 0) asse y PRP(vrc)(0,5 0,5 1) Window(vrc) ( ) Proiezione parallela.

20 Informatica Grafica Algoritmi 3D20 Proiezioni Prospettiche VRP (0 0 0) PRP(8 6 84) Window( ) Disegno piccolo e non centrato VRP (0 0 54) PRP(8 6 30) Window(-1 17 ;-1 17)

21 Informatica Grafica Algoritmi 3D21 Situazioni Equivalenti I valori specificati sono ridondanti. Configurazioni diverse possono essere equivalenti. Esempio:

22 Informatica Grafica Algoritmi 3D22 Prospettica: 1 Punto di Fuga Parametri vista VRP(wc) ( ) origine VPN(wc)(0 0 1) asse z VUP(wc)(0 1 0) asse y PRP(vrc)( ) Window(vrc) ( ) Proiezione prospettica

23 Informatica Grafica Algoritmi 3D23 Prospettica: 2 Punti di Fuga Parametri vista VRP(wc) ( ) origine VPN(wc)(1 0 1) asse z VUP(wc)(0 1 0) asse y PRP(vrc)( *sqrt(2)) Window(vrc) ( ) Proiezione prospettica. Il View-Plane interseca gli assi x e z.

24 Informatica Grafica Algoritmi 3D24 Matrice WC -> VRC l Per passare dalle coordinate del mondo (WC) a quelle di vista (VRC) si eseguono una traslazione T ed una rotazione R, caratterizzate dalle matrici: T = R = Dove: n = VPN VPN, u = VUP * VPN VUP * VPN v = n * u

25 Informatica Grafica Algoritmi 3D25 Proiezioni Parallele Parametri vista VRP(wc) (0 0 0) origine VPN(wc)(0 0 1) asse z VUP(wc)(0 1 0) asse y PRP(vrc)( ) Window(vrc) ( ) Proiezione parallela

26 Informatica Grafica Algoritmi 3D26 Volume di Vista Finito Parametri vista VRP(wc) (0 0 54) origine VPN(wc)(0 0 1) asse z VUP(wc)(0 1 0) asse y PRP(vrc)(8 6 30) Window(vrc) ( ) Proiezione prospettica F(VRC)+1 B(VRC)-23

27 Informatica Grafica Algoritmi 3D27 Espressioni Matriciali Casi semplici: PRP (0 0 0), piano z = d Sviluppando i conti otteniamo: M per =

28 Informatica Grafica Algoritmi 3D28 Espressioni Matriciali (2) PRP (0 0 -d), piano z=0: M per = /d 0

29 Informatica Grafica Algoritmi 3D29 Clipping Fare il clipping in WC é molto dispendioso. Soluzione: prima normalizzazione poi clipping. Normalizzazione: ridurre il volume di vista ad un volume canonico. Esistono due volumi canonici:

30 Informatica Grafica Algoritmi 3D30 Implementazione Dobbiamo moltiplicare per le matrici di normalizzazione ( N par o N per ), effettuare il clipping, proiettare (usando le matrici viste in precedenza), poi portare in coordinate di dispositivo.

31 Informatica Grafica Algoritmi 3D31 Normalizzazione: Parallele View orientation: 1) trasla VRP nell origine 2) ruota VRC in modo che: VPN ZU XV Y (3 rotazioni) View mapping: 3) Shearing in modo che DOP // Z 4) trasla e scala per farlo diventare il volume canonico parallelo.

32 Informatica Grafica Algoritmi 3D32 Passi della Proiezione (1) Situazione iniziale: a sinistra vista parallela dallalto, a destra vista laterale Situazione dopo la traslazione che fa coincidere le origini di WR e VRC

33 Informatica Grafica Algoritmi 3D33 Passi della Proiezione (2) Situazione dopo la rotazione che fa coincidere i due riferimenti WR e VRC Situazione dopo la deformazione che allinea il volume di vista con gli assi

34 Informatica Grafica Algoritmi 3D34 Risultato Situazione dopo lo scalamento che fa coincidere il volume di vista con il volume canonico

35 Informatica Grafica Algoritmi 3D35 Proiezioni Prospettiche 1) Trasla VRP nell origine (0,0,0 ) 2) Ruota VRC in modo che VPN Z; U X; V Y 3) Trasla COP (0,0,0) 4) Shear linea centrale volume Z 5) Scala per far coincidere con volume canonico Esecuzione passi: 1-2vedi parallelo 3 T(-PRP) 4 uguale passo 3 parallelo 5 dipende da VRP e finestra

36 Informatica Grafica Algoritmi 3D36 Passi 4 e 5 Passo 5: Scaling Passo 4: Shearing

37 Informatica Grafica Algoritmi 3D37 Passi della Proiezione (1) Situazione iniziale: a sinistra vista parallela dallalto, a destra vista prospettica Situazione dopo la traslazione che fa coincidere le origini di WR e VRC

38 Informatica Grafica Algoritmi 3D38 Passi della Proiezione (2) Situazione dopo la rotazione che fa coincidere i due riferimenti WR e VRC Situazione dopo la traslazione che porta il COP (PRP) nellorigine

39 Informatica Grafica Algoritmi 3D39 Risultato Situazione dopo la deformazione che allinea il volume di vista con gli assi Situazione dopo lo scalamento che fa coincidere il volume di vista con il volume canonico

40 Informatica Grafica Algoritmi 3D40 Clipping al Volume Canonico Estensione degli algoritmi di Cohen-Sutherland codici di 6 bits. Cyrus-Beck 6 punti, 6 normali uscenti. Più efficente: Liang-Barsky variante di Cyrus-Beck

41 Informatica Grafica Algoritmi 3D41 Clipping in Coordinate Omogenee Motivazioni: 1) in coordinate omogenee é possibile avere un solo volume canonico ed il clipping può essere effettuato in hardware. 2) non necessita divisione per W (normalizzazione) Trasformazione tronco piramide parallelepipedo: M per = Zmin <> -1

42 Informatica Grafica Algoritmi 3D42 Mapping in un Viewport I punti sono ora tali che: -1 x 1, -1 y 1, -1 z 0 Ora trasformo i punti in punti nel 3D Viewport. P = (x,y,z) con P nel 3D Viewport (contenuto nel cubo unitario). Il Viewport serve per specificare quale parte dello schermo usare ed e mappato sullo schermo in modo fisso. Assumendo schermo 1024*800, il punto P = (x,y) sullo schermo si ottiene: x = round(x*1024) y = round(y*800)

43 Informatica Grafica Algoritmi 3D43 Sistemi di Coordinate Abbiamo usato i seguenti sistemi di coordinate: 3D Modeling Coordinates 3D World Coordinates 3D VRC 3D NPC 2D Device Coordinates


Scaricare ppt "Informatica Grafica Algoritmi 3D1 Macchina Fotografica Virtuale La visualizzazione di una scena 3D avviene come se usassimo una macchina fotografica."

Presentazioni simili


Annunci Google