Lezione 11 - di.unito.itmarcog/IG/2003/Lezione11.pdf · Lezione 11: Solidi, superfici e proiezioni...
Transcript of Lezione 11 - di.unito.itmarcog/IG/2003/Lezione11.pdf · Lezione 11: Solidi, superfici e proiezioni...
2003
Lezione 11:Solidi, superfici e proiezioni
Le proiezioni
Lo schermo del calcolatore e' in grado di visualizzare immagini bidimensionali.
In grafica 3D si modellano oggetti in tre dimensioni.
Le proiezioni sono un meccanismo con cui costruire una vista bidimensionale di un mondo tridimensionale.
Le proiezioni
Ogni proiezione e' caratterizzata da un insieme di raggi di proiezione e da un piano di proiezione.
La visione 2D del mondo 3D corrisponde all'intersezione dei raggi di proiezione con il piano di proiezione.
Le proiezioni
Esistono due classi principali di proiezioni:
Proiezioni parallele
Proiezioni prospettiche
Le proiezioni
Nelle proiezioni parallele i raggi di proiezione sono tutti paralleli tra di loro.
Le proiezioni
Nelle proiezioni prospettiche i raggi di proiezione non sono paralleli, ma passano tutti per uno o piu' punti.
Le proiezioni
Le proiezioni parallele si dividono a loro volta in due sottoclassi:
Ortografiche
Oblique
Le proiezioni
Nelle proiezioni ortografiche i raggi di proiezione sono perpendicolari al piano di proiezione.
Le proiezioni
Nelle proiezioni oblique i raggi di proiezione sono inclinati rispetto al piano di proiezione.
Le proiezioni ortografiche
Le proiezioni ortografiche piu' importanti sono le proiezioni ortogonali.
In questo caso i raggi di proiezione sono perpendicolari alle superfici pricipali dell'oggetto.
Le proiezioni ortografiche
Esistono 6 tipi diversi di proiezione ortogonale, ma normalmente ne vengono utilizzati solamente 3:
Prospetto
Profilo
Pianta
Le proiezioni ortografiche
Il prospetto mostra l'oggetto visto "da sinistra".
Le proiezioni ortografiche
La pianta visualizza invece una visione "dall'alto" dell'oggetto stesso.
Le proiezioni ortografiche
Il profilo corrisponde ad una visione "frontale" dell'oggetto.
Le proiezioni ortografiche
Normalmente le tre proiezioni ortogonali vengono rappresentatte contemporaneamente in modo da dare una visione globale dell'oggetto.
Le proiezioni ortografiche
L'assonometria isometrica e' una proiezione ortografica in cui i raggi non sono perpendicolari alle direzioni principali dell'oggetto raffigurato.
Questo tipo di rappresentazione e' in grado di visualizzare tutte le facce di un oggetto contemporaneamente.
Le proiezioni ortografiche
In assonometria isometrica i tre assi formano un angolo di 120 gradi l'uno con l'altro.
Le proiezioni oblique
La proiezione obliqua piu' importante e' detta assonometria cavaliera.
Le proiezioni oblique
In questo caso gli assi x e y vengono rappresentati come nella proiezione ortogonale frontale.
Le proiezioni oblique
L'asse z viene raffigurato lungo una retta a 45 gradi. Le lunghezze lungo l'asse z vengono dimezzate.
Le proiezioni prospettiche
Le proiezioni prospettiche sono caratterizzate dal numero di punti da cui partono i raggi di proiezione:
Frontale
Accidentale
Razionale
Le proiezioni prospettiche
Nelle visioni frontali esiste un solo centro di proiezione.
Le proiezioni prospettiche
Le visioni accidentali hanno due centri di proiezione.
Le proiezioni prospettiche
Tre centri di proiezione contraddistinguono le proiezioni razionali.
I solidi
I programmi permettono di inserire numerosi oggetti con cui costruire le scene.
Questi oggetti si basano su astrazioni matematiche di forme reali che chiameremo solidi.
I solidi
La classe piu' semplice di oggetti solidi che considereremo e' quella dei 2-manifolds.
In un 2-manifold, ogni piccolo cerchio attorno ad un qualsiasi punto giace su un unico piano.
I solidi
In un 2-manifold tutto cio' che sta introno ad ogni suo punto giace su un solo piano.
I solidi
Non sono classificabili come 2-manifold le figure in cui, attorno ad un punto, giacciano piu' piani.
I solidi
Un poliedro semplice e' un 2-manifold in cui non vi siano "buchi" o "sporgenze".
I solidi
Una faccia di un poliedro e' una porzione di piano che ne delimita la superfice.
I solidi
Un spigolo corrisponde all'intersezione di due facce distinte.
I solidi
Un vertice e' situato nell'intersezione di tre facce distinte.
I solidi
Ogni spigolo e' delimitato da esattamente due vertici.
Ogni faccia e' delimitata da 3 o piu' spigoli.
I solidi
Esiste una relazione in un poliedro semplice tra il numero di vertici, gli spigoli e le facce, detta formula di Eulero.
Chiamati V il numero di vertici, E il numero di spigoli ed F il numero di facce...
V = 8F = 6E= 12
I solidi
V + F = E + 2.
I solidi
La formula puo' essere anche estesa a poliedri con buchi, sporgenze e parti separate.
Chiamati H il numero di buchi nelle facce, G il numero di "gallerie" che attraversano il solido e C il numero di componenti separate...
V = 24F = 15E= 36C =1H = 3G = 1
I solidi
V + F = E + H + 2(C - G).
Le mesh
Ogni solido inserito in un programma di grafica 3D viene memorizzato come un insieme di triangoli.
Un insieme di triangoli adiacenti prende il nome di Mesh.
Le mesh
In geometria e' noto che per tre punti non allineati passa un solo piano.
Le mesh
Tre punti non allineati delimitano un triangolo.
Le mesh
Qualsiasi poligono formato da un numero superiore di punti, potrebbe non giacere su un unico piano.
Le mesh
Ogni poligono viene suddiviso e memorizzato come un insieme di triangoli, in quanto questi ultimi garantiscono la planarita' della figura da essi rappresentata.
Le mesh
Il processo di suddivisione di un poligono in triangoli viene chiamato triangolazione.
Le mesh
Ogni solido viene memorizzato attraverso i poligoni che delimitano le sue facce...
Le mesh
... e quindi in ultima analisi come un insieme di triangoli adiacenti.
Le mesh
Per creare ed inserire in un programma di grafica nuovi oggetti solidi, occorre definirli attraverso mesh.
Le superfici
Cio' che viene effettivamente rappresentato sullo schermo da un programma di grafica e' la superficie di un oggetto.
Tutta la "materia" contenuta "all'interno" dell'oggetto puo' essere ignorata in quanto mascherata dalla superifce stessa.
Le superfici
Una superficie piana e' una superificie i cui punti appaertengono tutti ad uno stesso piano.
Le superfici
Una superficie curva e' invece una superificie che presenta delle concavita' e delle convessita'.
Le superfici
Per ogni punto di una superficie curva esiste un unico piano tangente.
Le superfici
Il piano tangente viene generalmente identificato con un segmento perpendicolare al piano stesso.
Le superfici
Questo segmento viene rappresentato da un vettore chiamato normale alla superfice.
Le superfici
In ogni punto di una qualsiasi superficie (piana o curva che sia) e' definito un vettore normale che identifica "la direzione" del piano tangente alla superficie in quel punto.
Le superfici
Questa informazione viene utilizzata per determinare il colore che assumono i vari punti di una superficie in funzione delle sorgenti di luce presenti.
Primitive 3D base
I programmi di grafica 3D mettono a disposizione un gran numero di solidi da cui partire per creare i modelli.
Questi oggetti possono essere inseriti direttamente sulla scena e configurati in termini di dimensioni e parametri vari.
Primitive 3D base
Il solido piu' semplice e' il parallelepipedo.
Primitive 3D base
La sfera e' disponibile in due formati: quella a "faccie quadrate"...
Primitive 3D base
... e quella a "faccie triangolari".
Primitive 3D base
Il cilindro e' l'equivalente del parallelepipedo a base circolare.
Primitive 3D base
Il cono a base circolare. In molti programmi lo stesso strumento consente anche di inserire tronchi di cono.
Primitive 3D base
La piramide a base rettangolare.
Primitive 3D base
Il tubo corrisponde ad un cilindro bucato.
Primitive 3D base
Il toro invece corrisponde all'incirca al disegno di una ciambella.
Primitive 3D base
La teiera e' invece inserita per motivi storici, in quanto e' stata da sempre utilizzata per testare il rendering dei programmi.
Privitive 3D estese
La primitiva poliedri permette di inserire poliedri complessi quali l'ottaedro e l'icosaedro.
Privitive 3D estese
Il cilindro ed il parallelepidedo rifilato inseriscono le rispettive figure con gli spigoli smussati.
Privitive 3D estese
Il nodo toroidale inserisce una figura annodata, utile per studiare illuminazioni complesse.
Privitive 3D estese
Il fuso, il serbatoio e la capsula corrispondono a cilindri con differenti tipi di estremita'.
Privitive 3D estese
Il poligono Gen ed il prisma, corrispondono a prismi con differenti tipi di base.
Privitive 3D estese
L'estrusione ad L e l'estrusione a C creano giunti a forma di L e di C.
Privitive 3D estese
Il tubo flessibile costruisce un soffietto a fisarmonica.
Superfici curve
Cosi' come in grafica 2D esistono primitive per disegnare segmenti curvi, in grafica 3D sono presenti primitive per modellare superfici curve.
Queste superfici sono l'estensione delle curve di Bezier ed Hermite al caso 3D.
Superfici curve
Le superfici di Hermite uniscono 4 punti nello spazio...
Superfici curve
... per ogni punto viene specificata la normale alla superficie in quel punto...
Superfici curve
... ed un fattore di torsione.
Superfici curve
Piu' utilizzate sono le NURBS (Non Uniform Rational B-Spline).
Esse vengono definite mediante 16 punti.
Esistono due modi distinti di utilzzare questi punti: come punti interpolati o come punti di controllo.
Superfici curve
Nel caso di punti interpolati, la superficie definita passa per tutti i 16 punti inseriti.
Superfici curve
Una NURBS con punti di controllo e' invece l'analogo di una curva di Bezier in tre dimensioni: la superficie non tocca i punti ma giace nel guscio convesso da essi determinato.
Superfici curve
I programmi di grafica hanno numerosi strumenti per definire e modificare NURBS e superfici di Hermite.