Rappresentazione di oggetti 3D 1
Modellazione geometrica La modellazione geometrica riguarda le tecniche di rappresentazione di curve e superfici Surface modeling Rappresentazione della superficie di un oggetto 3D mediante le curve che delimitano tale superficie Volume modeling Rappresentazione del volume delimitato dalle superfici 2
Modello geometrico Descrive il metodo o lo schema di rappresentazione utilizzato nel modello geometrico. I principali: Surface modelling: mesh o griglia poligonale, patch parametriche Volume modeling: poliedri, CSG (geometria solida costruttiva), suddivisione spaziale (voxel) Oggetto di studio del CAD 3
Elementi base Quadrilatero (o triangolo) Patch parametrica CSG voxel quadrica 4
Poliedri Oggetto superfici poligoni spigoli vertici Un oggetto è rappresentato come un insieme di facce- ciascuna faccia è approssimata da un insieme di poligoni ogni poligono è rappresentato da un insieme di spigoli- ogni spigolo è descritto da un insieme di vertici L accuratezza dipende dalla curvatura della superficie Con sistemi automatici si possono generano molti triangoli: problema della decimazione dei triangoli 5
Importanza della struttura dati oggetti superfici Poligoni/facce spigoli vertici 6
Polygon mesh Polygon mesh: insieme di edges, vertici e poligoni tale che: Un edge connette 2 vertici V 1..V 2 Un poligono è una sequenza chiusa di edge V 1 Ogni edge è parte di un poligono V 3 V 2 7
Polygon mesh Polygon mesh: insieme di edges, vertici e poligoni tale che: Un edge è comune al più a 2 poligoni detti adiacenti P 1 P 2 Un vertice è comune ad almeno 2 edge 8
Rappresentazione esplicita Ciascun poligono è rappresentato da una lista di vertici P = ( (x 1,y 1,z 1 ), (x 2,y 2,z 2 ), (x n,y n,z n )) V 1 V n I vertici sono memorizzati in senso orario o antiorario Gli edge sono definiti tra 2 vertici successivi della lista e tra l ultimo vertice ed il primo 9
Rappresentazione esplicita P = ( P 1, P 2 ) P 1 = ( V 1, V 3, V 4 ) P 2 = ( V 1, V 2, V 3 ) V 1..V 2 P 2 V 4. P 1.V 3 La rappresentazione risulta inefficiente perché i vertici in comune sono ripetuti Non vi è una rappresentazione esplicita degli edge in comune 10
Rappresentazione indexed La più semplice rappresentazione indexed è definita da: Una unica lista di vertici ( per tutti i poligoni) Ogni poligono è definito mediante una lista di puntatori alla lista dei vertici 11
Rappresentazione indexed P = ( P 1, P 2 ), V=( V 1, V 2, V 3,V 4, ) P 1 = ( 1, 3, 4) P 2 = ( 1 1 2, 3 ) V 1..V 2 P 1 P 2 V 4..V 3 La rappresentazione risulta più efficiente perché ogni vertice è rappresentato una sola volta. Si ha quindi Risparmio di memoria Possibilità di variare facilmente le coordinate di un vertice Non vi è una rappresentazione esplicita degli edge in comune 12
Triangolazione Triangolazione o rassellazione è il procedimento che scompone in triangoli una superficie Generalmente si vuole ridurre il numero di triangoli. Il proceso si chiama anche decimazione Vantaggi Considerati 3 vertici V 1, V 2, V 3 la faccia triangolare definita dai vertici (nello spazio) è sempre piana Si ha che per 3 punti nello spazio passa uno ed un solo piano 13
Decimazione dei triangoli Perche triangoli Come decimare? Ridurre i triangoli nelle regioni piatte Preservare l aspetto Stimare la curvatura: f u, f v dove f(u,v) è la superficie descritta in forma parametrica 14
Triangolazione di Delaunay La triangolazione di Delaunay ha la proprietà che il cerchio circoscritto a un qualunque triangolo non contiene alcun punto della triangolazione 15
Diagramma di Voronoi Consideriamo un insieme di punti P e li chiamiamo vertici Il diagramma di Voronoi dei vertici P è una partizione del piano in celle tali che: Ogni cella di Voronoi, generata dal vertice P, contiene tutti i punti che sono più vicini a P che a qualunque altro vertice 16
Triangolazione Triangolazione di Delaunay e diagrammi di Voronoi Partizione del piano in celle tali che tutti i punti di una cella sono piu vicini al vertice generatore della cella di ogni altro punto 17
Algoritmo di Sibson Data una triangolazione qualsiasi l algoritmo di Sibson genera la triangolazione di Delaunay considerando coppie di triangoli adiacenti Data una coppia di triangoli adiacenti, si esaminano i 2 triangoli e si ridefiniscono se il vertice di un triangolo risulta essere interno al cerchio circoscritto dell altro 18
Algoritmo di Sibson Siano t 1 = (P 0, P 1, P 2 ) e t 2 = (P 3, P 1, P 2 ) Il vertice P 3 risulta interno al cerchio circoscritto al triangolo t 1 I 2 triangoli si ridefiniscono come t 1 e t 2 19