La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Informatica Grafica a.a. 2012-2013 DICGIM – University of Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Modelli a poligoni.

Presentazioni simili


Presentazione sul tema: "Informatica Grafica a.a. 2012-2013 DICGIM – University of Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Modelli a poligoni."— Transcript della presentazione:

1 Informatica Grafica a.a DICGIM – University of Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Modelli a poligoni Roberto Pirrone 11 ottobre 2012

2 Informatica Grafica a.a DICGIM – University of Palermo Sommario Struttura di una mesh di poligoni Struttura dati Formati di file che specificano mesh di poligoni Generazione di mesh poligonali da modelli e dati Laser Modelli analitici Modelli sweep Generazione procedurale di mesh Superfici parametriche Volumi di dati Level Of Detail (LOD) 11 ottobre 2012

3 Informatica Grafica a.a DICGIM – University of Palermo Mesh di poligoni Le mesh di poligoni costituiscono una rappresentazione delle superfici di un modello per mezzo di una tassellazione di poligoni piani che approssimano la superficie stessa pezzo a pezzo. Poligoni quadrangolari o meglio triangolari (è assicurata la planarità) I vertici dei poligoni sono punti effettivi della superficie del modello Ottima rappresentazione per la macchina, ma poco orientata allutente. Tutti gli algoritmi ed i dispositivi hw di rendering assumono di trattare con insiemi di poligoni proiettati ortograficamente sullo schermo. 11 ottobre 2012

4 Informatica Grafica a.a DICGIM – University of Palermo Struttura di una mesh di poligoni Da un punto di vista concettuale un oggetto viene decomposto nelle sue superfici che, campionate, sono approssimate a poligoni. I poligoni si intendono costituiti da lati che raccordano coppie di vertici. 11 ottobre 2012

5 Informatica Grafica a.a DICGIM – University of Palermo Struttura di una mesh di poligoni 11 ottobre 2012

6 Informatica Grafica a.a DICGIM – University of Palermo Struttura dati una mesh In genere si usano liste circolari gerarchiche per consentire laccesso diretto ai singoli vertici o lati. 11 ottobre 2012

7 Informatica Grafica a.a DICGIM – University of Palermo Struttura dati una mesh Ad ogni vertice/poligono sono associate informazioni utili al processo di modellazione e rendering Coordinate geometriche Componenti del vettore normale (ovvero della normale al piano del poligono insieme con i coefficienti dellequazione del piano) Coordinate del vertice nello spazio delle texture (texture coordinates) Componenti cromatiche rispetto ai vari tipi di riflessione della luce (autoemissiva, ambiente, diffusa o speculare) descrizione del materiale 11 ottobre 2012

8 Informatica Grafica a.a DICGIM – University of Palermo Formati di file per mesh di poligoni Esistono diversi formati di file che consentono di gestire oggetti grafici in forma di mesh di poligoni secondo le informazioni già viste. Formati proprietari 3DS – 3D Studio Max DXF – AutoCAD IV – Open Inventor Formati aperti OBJ – Wavefront Technologies PLY – Stanford University 11 ottobre 2012

9 Informatica Grafica a.a DICGIM – University of Palermo File Wavefront OBJ 11 ottobre 2012

10 Informatica Grafica a.a DICGIM – University of Palermo File Wavefront OBJ 11 ottobre 2012 Definizione facce: f v1 v2 v3 v4... f v1/vt1 v2/vt2 v3/vt3... f v1/vt1/vn1 v2/vt2/vn2 v3/vt3/vn3... f v1//vn1 v2//vn2 v3//vn3... Riferimento a materiali mtllib [external.mtl file name]... Shading s 1 (ovvero s off per disabilitare)

11 Informatica Grafica a.a DICGIM – University of Palermo File Wavefront OBJ Riferimento a oggetti e/o gruppi di poligoni Tipologie di illuminamento 11 ottobre 2012

12 Informatica Grafica a.a DICGIM – University of Palermo File Wavefront OBJ Descrizione di materiali (eventualmente con texture maps) 11 ottobre 2012

13 Informatica Grafica a.a DICGIM – University of Palermo File Stanford PLY Il formato PLY è stato definito da Greg Turk La struttura base prevede Header Vertex list Face list Altri elementi (ad es. materiali) Il formato usa i tipi del C per definire i dati Il file può essere ascii o binario little endian o big endian 11 ottobre 2012

14 Informatica Grafica a.a DICGIM – University of Palermo File Stanford PLY Header ply format ascii 1.0 comment ply is the magic number comment format can be also binary_little_endian comment or binary_big_endian in place of ascii element property … element property … end_header 11 ottobre 2012

15 Informatica Grafica a.a DICGIM – University of Palermo File Stanford PLY Header ply format ascii 1.0 comment ply is the magic number comment format can be also binary_little_endian comment or binary_big_endian in place of ascii element property … element property … end_header 11 ottobre 2012

16 Informatica Grafica a.a DICGIM – University of Palermo File Stanford PLY 11 ottobre 2012

17 Informatica Grafica a.a DICGIM – University of Palermo File Stanford PLY 11 ottobre 2012 Definizione di un materiale Per aggiungere il materiale ad ogni vertice aggiungere la seguente linea alla fine della definizione dellelemento vertex : property material_index int

18 Informatica Grafica a.a DICGIM – University of Palermo Generazione di mesh poligonali da dati laser Lapproccio più comune è lalgoritmo di skinning I dati acquisiti giacciono su piani paralleli di scansione Si crea una striscia di triangoli connettendo a zig-zag i punti contigui che giacciono su due piani adiacenti 11 ottobre 2012

19 Informatica Grafica a.a DICGIM – University of Palermo Triangolazione di Delaunay E linsieme di triangoli che si ottiene circuitando un insieme di punti che definiscono una tassellazione di Voronoi che chiameremo punti seme In una regione di Voronoi è costituita da tutti i punti del piano che sono i più vicini al punto di seme della regione stessa rispetto a qualunque altro punto di seme 11 ottobre 2012

20 Informatica Grafica a.a DICGIM – University of Palermo Triangolazione di Delaunay I confini della regione sono gli assi dei segmenti che congiungono i semi Tali segmenti sono i lati dei triangoli cercati La triangolazione di Delaunay rappresenta il grafo duale della tassellazione di Voronoi 11 ottobre 2012

21 Informatica Grafica a.a DICGIM – University of Palermo Triangolazione di Delaunay Una triangolazione di Delaunay DT(P) di un insieme di punti P R n si è tale per cui non ci sono punti in P che siano interni allipersfera circoscritta a qualunque simplesso in DT(P) In due dimensioni circonferenze e triangoli In tre dimensioni sfere e tetraedri 11 ottobre 2012

22 Informatica Grafica a.a DICGIM – University of Palermo Flip algorithm Criterio per la verifica che una triangolazione sia una DT La somma degli angoli opposti ad un lato comune di due triangoli adiacenti deve essere <180° Nel caso non sia così si esegue il flip del lato comune Si elimina il lato comune e si sostituisce con quello che unisce gli altri due vertici; si può provare che si ottiene una DT 11 ottobre 2012

23 Informatica Grafica a.a DICGIM – University of Palermo Algoritmi per la Triangolazione di Delaunay di nuvole di punti mediante chiusure convesse Algoritmo Incrementale Ripeti per ogni punto della nuvola Aggiungi il punto alla chiusura convessa esistente Se il punto è interno allattuale chiusura convessa non far nulla Altrimenti Cancella tutti i triangoli che il punto può vedere Crea la piramide ottenuta connettendo il nuovo punto ai punti rimasti dei triangoli cancellati nella vecchia chiusura convessa Per stabilire se un punto è interno o esterno a un triangolo ovvero se è visibile da questo si usa il calcolo della normale positiva al triangolo circuitandone i vertici in senso antiorario. 11 ottobre 2012

24 Informatica Grafica a.a DICGIM – University of Palermo Algoritmi per la Triangolazione di Delaunay di nuvole di punti mediante chiusure convesse Algoritmo divide-and-conquer Calcola ricorsivamente la chiusura convessa delle due metà della nuvola Esegui la circuitazione delle due chiusure convesse per trovare la tangente comune inferiore o superiore (segmento che connette due vertici nelle chiusure convesse e totalmente esterno ad esse) Trova il terzo vertice adiacente ad uno dei due estremi della tangente e chiudi un triangolo Ripeti secondo uno schema di skinning per chiudere tutto il cilindro esterno che raccorda le due chiusure convesse ottenendo la chiusura convessa finale 11 ottobre 2012

25 Informatica Grafica a.a DICGIM – University of Palermo Generazione di mesh poligonali da funzioni analitiche Scansione latitudine-longitudine Si generano quadrangoli che poi vengono trasformati in triangoli suddividendoli attraverso le diagonali Problemi non corrispondenza di archi di curva uguali a passi angolari uguali in lat-long In caso di forme soggette a deformazioni globali (flessione, assottigliamento, torsione) la tassellazione lat-long diventa onerosa e può dar luogo a una cattiva poligonizzazione nei punti ad elevata curvatura 11 ottobre 2012

26 Informatica Grafica a.a DICGIM – University of Palermo Generazione di mesh poligonali da funzioni analitiche 11 ottobre 2012

27 Informatica Grafica a.a DICGIM – University of Palermo Generazione di mesh poligonali da funzioni analitiche 11 ottobre 2012

28 Informatica Grafica a.a DICGIM – University of Palermo Generazione di mesh poligonali da funzioni analitiche 11 ottobre 2012 Parametrizzazione uniforme: linsieme dei punti campionati si ottiene proiettando i punti di campionamento di una sfera, i quali sono uniformemente distribuiti sia in termini angolari sia in termini di spaziatura lungo la superficie, attraverso un opportuno fattore di scala variabile punto a punto e che deve essere stimato in ogni punto.

29 Informatica Grafica a.a DICGIM – University of Palermo Generazione di mesh poligonali da modelli sweep E possibile ricondurre lo sweep ad una operazione di estrusione di una sezione che viene deformata ad ogni passo secondo la legge imposta dal profilo desiderato Ad ogni passo di estrusione viene generata unapprossimazione lineare del profilo da cui si ricavano i poligoni 11 ottobre 2012

30 Informatica Grafica a.a DICGIM – University of Palermo Generazione di mesh poligonali da modelli sweep Una generalizzazione del metodo precedente è quella di far scorrere una sezione trasversale appoggiandola ad una coppia di curve binario che, con la loro distanza variabile, ne definiscono ad ogni passo la dimensione di scala. Affine transformation surface Ad ogni passo lungo z (direzione di estrusione) la sezione trasversale definita sul piano (x,y) subisce una trasformazione affine che la deforma. Non cè una curva direttrice, ma i parametri di trasformazione possono essere controllati da curve parametriche. La natura affine della trasformazione consente sempre lapprossimazione del profilo superficiale mediante poligoni piani. 11 ottobre 2012

31 Informatica Grafica a.a DICGIM – University of Palermo Generazione di mesh poligonali da modelli sweep 11 ottobre 2012 Problemi di approssimazione planare se si generalizza ad una qualunque curva direttrice Problemi di orientamento locale della sezione trasversale Problemi di auto- intersezione della sezione trasversale

32 Informatica Grafica a.a DICGIM – University of Palermo Generazione procedurale di mesh poligonali 11 ottobre 2012 Fractal terrain: generazione di modelli di rilievi del suolo usando la geometria frattale cioè lautosimilarità di una forma con sé stessa a diverse scale di osservazione. Il modello a poligoni originale viene decomposto iterativamente per bisezione dei lati. Ad ogni nuovo punto generato si aggiunge una perturbazione statistica della quota originale lungo la normale al lato.

33 Informatica Grafica a.a DICGIM – University of Palermo Generazione di mesh poligonali da superfici parametriche 11 ottobre 2012 Suddivisione ricorsiva delle patch in porzioni più piccole fino a soddisfare un criterio di planarità per il quale lapprossimazione poligonale della patch risulta accettabile.

34 Informatica Grafica a.a DICGIM – University of Palermo Generazione di mesh poligonali da superfici parametriche 11 ottobre 2012 Suddivisione uniforme o non uniforme per inseguire curvature locali

35 Informatica Grafica a.a DICGIM – University of Palermo Generazione di mesh poligonali da superfici parametriche 11 ottobre 2012 La suddivisione non uniforme può creare artefatti dovuti allo spezzarsi della mesh in corrispondenza di poligoni con risoluzione diversa. Gli eventuali buchi andranno circuitati per generare nuovi poligoni.

36 Informatica Grafica a.a DICGIM – University of Palermo Generazione di mesh poligonali da superfici parametriche 11 ottobre 2012 La suddivisione delle patch si riconduce ad una approssimazione delle curve a u e v costante mediante poligonali aperte.

37 Informatica Grafica a.a DICGIM – University of Palermo Generazione di mesh poligonali da superfici parametriche 11 ottobre 2012 R 3 =Q(0.5): la struttura dei nuovi punti di controllo si ottiene applicando Lalgoritmo di De Casteljau

38 Informatica Grafica a.a DICGIM – University of Palermo Generazione di mesh poligonali da superfici parametriche 11 ottobre 2012 Criterio di planarità: minimizzare d 1 e d 2

39 Informatica Grafica a.a DICGIM – University of Palermo Estrazione di iso-superfici (marching cubes) Lorenson e Cline (1987) Questo tipo di approccio è utilizzato soprattutto per visualizzazione o per costruire delle realtà virtuali di campi operatori e non per diagnostica. Si tratta di determinare come una iso-superficie f(i,j,k)=c, rappresentata mediante poligoni, attraversa il singolo voxel. 11 ottobre 2012

40 Informatica Grafica a.a DICGIM – University of Palermo Marching cubes (2) Ogni cubo è costruito connettendo otto pixel di due slice contigue. Per cui si conosce il valore di f(i,j,k) ad ogni vertice del cubo.

41 Informatica Grafica a.a DICGIM – University of Palermo Marching cubes (3) Ci sono 256 (2 8 ) possibilità di attraversamento 8 vertici che possono essere dentro (1) o fuori (0) dalla superficie Mediante considerazioni di simmetria, le possibilità di attraversamento si riducono a 14 più il caso nullo con tutti i vertici esterni. Ad ogni vertice di ogni voxel è assegnato un valore in termini dellinformazione rappresentata dal volume: la iso- superficie rappresenta tutti i punti caratterizzati da un unico valore. Lalgoritmo marcia da un voxel (cubo) allaltro e: Individua la modalità di attraversamento (vertici del voxel interni ed esterni alla superficie) Calcola leffettiva posizione dei poligoni nel voxel per mezzo di una interpolazione lineare sugli edge intersecati. 11 ottobre 2012

42 Informatica Grafica a.a DICGIM – University of Palermo Marching cubes (4) Indice ad 8 bit che identifica la tipologia di attraversamento e punta alla tabella degli edge numerati come in figura 11 ottobre 2012

43 Informatica Grafica a.a DICGIM – University of Palermo Marching cubes (5) Calcolo delle normali ai vertici dei triangoli Le normali alla superficie sono esprimibili in termini del gradiente G f perché per f(i,j,k)=c si ha che G f =0 Allora si calcolano i gradienti con le differenze finite ad ogni vertice del cubo e poi si interpolano lineaemente lungo gli edge per trovarne il valore allintersezione con f(i,j,k)=c. 11 ottobre 2012

44 Informatica Grafica a.a DICGIM – University of Palermo Marching cubes (6) Traccia dellalgoritmo 1.Carica 4 slice in memoria 2.Calcola un cubo da due slice adiacenti 3.Compara i valori di f(i,j,k) ad ogni vertice con f (i,j,k)=c (luogo geometrico della iso-superficie) e calcola un indice ad 8 bit che individua la modalità di attraversamento 4.Usa lindice per entrare in una tabella degli edge al fine di determinare gli edge effettivamente intersecati 5.Interpola linearmente il valore di f lungo gli edge intersecati per trovare le effettive intersezioni cioè i vertici dei triangoli di output 6.Determina le normali ai vertici a partire dai valori di quelle nei vertici del cubo che vengono interpolate linearmente lungo gli edge 7.Dai come output i triangoli generati dallattraversamento del cubo con le loro normali ai vertici. 11 ottobre 2012

45 Informatica Grafica a.a DICGIM – University of Palermo Esempi di elaborazioni di iso-superfici 11 ottobre 2012

46 Informatica Grafica a.a DICGIM – University of Palermo Esempi di elaborazioni di iso-superfici 11 ottobre 2012

47 Informatica Grafica a.a DICGIM – University of Palermo Esempi di elaborazioni di iso-superfici 11 ottobre 2012

48 Informatica Grafica a.a DICGIM – University of Palermo LOD – progressive mesh refinement 11 ottobre 2012

49 Informatica Grafica a.a DICGIM – University of Palermo LOD – progressive mesh refinement 11 ottobre 2012 Criteri di collassamento Soglia Minimizzazione di funzionale energia

50 Informatica Grafica a.a DICGIM – University of Palermo LOD – progressive mesh refinement 11 ottobre 2012


Scaricare ppt "Informatica Grafica a.a. 2012-2013 DICGIM – University of Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Modelli a poligoni."

Presentazioni simili


Annunci Google