Rappresentazione ad oggetti
Basate sul contorno
Descrivono una regione in termini della superficie che la delimita.
Basate sullo spazio occupato
Rappresentazione comune: Triangoli - più usata, schede grafiche sono ottimizzate per questo rendering.
Alternative
- Boundary: Superfici parametriche
- Volumetriche: Rappresentazione voxelizzata e geometria costruttiva solida
- Image Based Rendering: Non si modella la scena, ma si memorizzano i campionamenti di luce rendendo possibili una visualizzazione da più punti di vista
Curve e superfici lisce
Curve/Superfici di Bezier: Dati N punti di controllo in cui la curva passa per il primo fino all'ultimo, essa approssima gli altri con una funzione dipendente da essa (con una griglia si creano le superfici).
Partizionamento spaziale
Lo spazio viene suddiviso in celle 3D voxel. Se la cella è piena ha un'intersezione non vuota con una regione, altrimenti si dice vuota. Usata per rappresentare singoli oggetti e non scene complesse. Rendering usati dal voxel sono algoritmi ad hoc o la conversione da voxel a rappresentazione per superfici (triangle-based).
Octree
Usato se ho celle con valori solo piene/vuoto. Si crea un cubo che contiene la regione e si suddivide ricorsivamente e ci si ferma quando un ottante ha tutte celle piene o vuote. Economica perché si rappresentano grandi aree con una sola foglia (caso peggiore numero foglie = numero celle).
Geometria costruttiva solida
Altro tipo di modelling: si costruiscono oggetti geometrici complessi usando modelli base con operazioni booleane.
Immagini panoramiche
Scena 3D realizzata elaborando serie di immagini in 2D per mostrare la continuità della scena. Quick Time VR è il formato più comune. L'utente può guardare in ogni direzione e zoomare.
Poligoni e triangoli
In 3D si usa l'approssimazione poligonale che non è altro che un'approssimazione in 2D fatta con dei poligoni convessi che vengono uniti fra loro creando una "mesh" o "maglia" poligonale.
Simplessi
È analogo del n-dimensionale del triangolo. Un simplesso di ordine n è un guscio convesso di n+1 punti indipendenti in Rd. Un 0-simplesso è un punto; 1-simplesso un segmento; 2-simplesso un triangolo; 3-simplesso un tetraedro. Il guscio convesso di un qualsiasi sottoinsieme di n+1 punti definisce la faccia del simplesso. Facce ordine 0 sono vertici; 1 sono spigoli.
Complesso simpliciale
È un insieme di simplessi che soddisfano delle condizioni: ogni faccia simplesso K appartiene a K stessa; l'intersezione di due simplessi 1 e 2 è una faccia comune a 1 e 2 oppure è vuota. È simpliciale quando l'ordine massimo dei simplessi è K. Due simplessi 1 e 2 sono incidenti se 1 è una faccia propria di 2 o viceversa. Sono k-1 adiacenti quando esiste un k-1 simplesso che è una faccia propria di entrambi.
Varietà
Una varietà k-dimensionale X è un sottoinsieme di Rd in cui ogni punto ha un intorno omeomorfo alla sfera Rk. È sempre con bordo eventualmente vuoto.
Mesh poligonali
Un mesh triangolare è un 2-complesso simpliciale puro e le facce sono i triangoli della maglia. La condizione 2 manifold è: uno spigolo appartiene a massimo due triangoli; se due triangoli incidono sullo stesso vertice allora devono appartenere alla stessa chiusura transitiva della relazione 1-adiacenza formando un ombrello o un ventaglio.
Orientazione
Il bordo della maglia è formato da anelli o loop. Se non esistono spigoli, la maglia è chiusa. L'orientazione della faccia è data dall'ordine ciclico (orario o no) dei suoi vertici incidenti. L'orientazione determina il fronte ed il retro della faccia.
Mesh orientabili
L'orientazione di due facce adiacenti è compatibile se i vertici dello spigolo in comune sono di ordine inverso. La maglia è orientabile se esiste una scelta orientativa delle facce che rende compatibile tutte le coppie di facce adiacenti.
Maglie/Mesh generiche
Maglie poligonali generiche contengono un numero qualsiasi di spigoli, usate raramente. Quadrangolari: elementi poligonali tutti quadrilateri, usati principalmente per rendering di terreni che contengono array di altezze, qui bisogna imporre la planarità.
Equazione di Eulero
- V – L + F = 2 – 2G (V: n vertici, L: n spigoli, F: n facce, G: maglia poligonale chiusa)
- Il genere di una superficie determina la sua topologia (sfera g = 0)
- Per una maglia poligonale orientabile V – L + F = 2(S-G) – B {S: n componenti}
Mesh triangoli
Modello più usato in grafica, molto voluminose anche. Gli attributi possono definirli: per vertice, per faccia, per wedge (cioè tre attributi per faccia). Gli attributi più comuni sono colore e coordinate texture. Non è sempre semplice modellare entità con i triangoli [Es. Nuvole, fiamme, capelli, pelliccia]. Evitare ridondanze come disegnare due triangoli con uno spigolo in comune perciò disegnandolo due volte. Raggruppare i triangoli di una maglia utilizzando fan di triangoli [è un gruppo di triangoli che hanno in comune il vertice, efficiente] o strip di triangoli [possiedono a due a due uno spigolo comune, meno efficiente ma contiene più triangoli dei fan].
Memorizzazione
Algoritmi di rendering e processing devono accedere alle informazioni contenute nei nodi, connettività, attributi al momento della creazione dei modelli.
Elementi base
I vertici sono elementi 0 dimensionali e identificabili con punti nello spazio 3D. Spigoli sono elementi 1 dimensionali e rappresentano un segmento che unisce due vertici. Facce sono poligoni bidimensionali formati da un numero di spigoli e vertici che a sua volta vengono usati per identificare la faccia. È fondamentale sapere quale superficie è 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 più 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 più 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 poligonali 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 le 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 removal** (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)
Multirisoluzione
Questo algoritmo genera una piramide di modelli a complessità crescente ovvero una multi risoluzione dell'oggetto.
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 alla 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 di luminosità. L'angolo di vista si modifica variando il rapporto fra distanza focale e dimensione piano immagine. Il piano immagine esiste tra la scena e il centro di proiezione (si assume).
Trasformazioni di proiezione
Una proiezione è una trasformazione geometrica con il dominio in uno spazio di dimensione n ed il codominio in uno spazio di dimensione minore f:Rn → Rm (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) e proiezioni parallele (che prendono questo nome poiché i proiettori sono paralleli). La prospettica è più reale della parallela perché riproduce la visione reale.
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: distribuzione spettrale per il colore, energia per luminosità o intensità. La fotometria è la misura dell'energia trasportata dalle onde elettromagnetiche dalla gamma ottica, e l'azione della luce visibile sull'occhio umano. La radiometria si occupa di radiazioni estese 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 pa...
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
-
Lezioni, Fondamenti di Informatica
-
Progettazione assistita dal calcolatore - Appunti delle lezioni di laboratorio
-
Lezioni, Disegno meccanica
-
Lezioni, Storia del disegno e della grafica