Corso di Informatica Grafica a.a 2010-2011 DICGIM – University of Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Modellazione Solida Prof. Roberto Pirrone 4 aprile 2011
Corso di Informatica Grafica a.a 2010-2011
DICGIM – University of Palermo
Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica
Modellazione Solida
Prof. Roberto Pirrone
4 aprile 2011
Corso di Informatica Grafica a.a 2010-2011
DICGIM – University of Palermo
Sommario
Generalità
Operatori booleani regolarizzatiApplicazione ai poligoni
Modelli wireframe
Istanza di primitive
Modelli sweep
Modelli boundaryPoliedri
Modelli ad occupazione di spazioModelli ad enumerazione di spazio (voxel)
Modelli a partizione di spazio (octrees)
4 aprile 2011
Corso di Informatica Grafica a.a 2010-2011
DICGIM – University of Palermo
Generalità
La modellazione solida è quella parte della Computer Graphics che si occupa di definire modelli per la rappresentazione di oggetti tridimensionali.
In genere si richiede che una tecnica di rappresentazione dei solidi abbia le seguenti caratteristiche:
Non ambiguità o completezza: non ci devono essere dubbi sulla forma rappresentata
Univocità: ad una data forma corrisponde una ed una sola codifica
4 aprile 2011
Corso di Informatica Grafica a.a 2010-2011
DICGIM – University of Palermo
Generalità
In genere si richiede che una tecnica di rappresentazione dei solidi abbia le seguenti caratteristiche:
Accuratezza: non ci devono essere approssimazioni nella codifica della forma
Validità : non devono essere possibili configurazioni che non rappresentano
Compattezza: occupi poche risorse di memoria
Efficienza: la generazione dei modelli deve essere quanto più veloce possibile
4 aprile 2011
Corso di Informatica Grafica a.a 2010-2011
DICGIM – University of Palermo
Operatori booleani regolarizzati
In genere le forme che si ottengono vengono composte in strutture più complesse attraverso operatori di natura insiemistica: unione, intersezione e complemento.
Un solido è un insieme definito in e quindi la composizione di forme complesse ben si presta ad una interpretazione di natura insiemistica.
4 aprile 2011
Corso di Informatica Grafica a.a 2010-2011
DICGIM – University of Palermo
Operatori booleani regolarizzati
Se si usassero direttamente gli operatori insiemistici si potrebbero ottenere dei risultati non validi: infatti è possibile che l’applicazione di un operatore insiemistica a due insiemi fornisca come risultato un insieme di misura nulla rispetto a quelli di partenza (superfici, linee o punti).
4 aprile 2011
Corso di Informatica Grafica a.a 2010-2011
DICGIM – University of Palermo
Operatori booleani regolarizzati
Gli operatori booleani utilizzati sono detti regolarizzati perché sono costruiti in modo tale da preservare la topologia
oggetti 3D composti con tali operatorifornire ancora un risultato 3D
Un operatore booleano regolarizzato è definito come:
4 aprile 2011
Corso di Informatica Grafica a.a 2010-2011
DICGIM – University of Palermo
Operatori booleani regolarizzati
Sia dato un insieme
Distanza di un punto dall’insieme:
Frontiera dell’insieme:
Interno:
Chiusura:
4 aprile 2011
Corso di Informatica Grafica a.a 2010-2011
DICGIM – University of Palermo
Operatori booleani regolarizzati4 aprile 2011
Corso di Informatica Grafica a.a 2010-2011
DICGIM – University of Palermo
Intersezione regolarizzata
Poligoni di A (B) esterni a B (A) si scartano
Poligoni di A (B) totalmente interni a B(A) si mantengono
Poligoni sovrapposti con normali opposte si scartano
Poligoni sovrapposti con normali coincidenti si mantengono
4 aprile 2011
A
B
Corso di Informatica Grafica a.a 2010-2011
DICGIM – University of Palermo
Unione regolarizzata
Poligoni di A (B) esterni a B (A) si mantengono
Poligoni di A (B) totalmente interni a B(A) si scartano
Poligoni sovrapposti con normali opposte si scartano
Poligoni sovrapposti con normali coincidenti si mantengono
4 aprile 2011
A
B
Corso di Informatica Grafica a.a 2010-2011
DICGIM – University of Palermo
Complemento regolarizzato
Poligoni di A esterni a B si mantengono
Poligoni B totalmente interni a A si mantengono
Poligoni sovrapposti con normali opposte si mantengono
Poligoni sovrapposti con normali coincidenti si scartano
4 aprile 2011
A
B
Corso di Informatica Grafica a.a 2010-2011
DICGIM – University of Palermo
Wireframe
Ambigua
Può essere non valida
4 aprile 2011
Corso di Informatica Grafica a.a 2010-2011
DICGIM – University of Palermo
Istanza di primitive – CSG
Si ha un DB di primitive geometriche pronte che vanno istanziate solo attraverso la specifica dei loro parametri.
Si usano tecniche di CSG (Constructive Solid Geometry) per la loro composizione
4 aprile 2011
Corso di Informatica Grafica a.a 2010-2011
DICGIM – University of Palermo
CSG
La tecnica CSG è non univoca: può dar luogo alla stessa rappresentazione a partire da composizione di differenti istanze di primitive.Inoltre le stesse composizioni di primitive, modificate nei parametri di istanza, danno luogo a rappresentazioni diverse.
4 aprile 2011
Corso di Informatica Grafica a.a 2010-2011
DICGIM – University of Palermo
Tecniche sweep
Si generano le forme facendo scorrere una curva generatrice su una curva direttrice.
Flessibile ed usata molto nel CAD di pezzi meccanici.
4 aprile 2011
Corso di Informatica Grafica a.a 2010-2011
DICGIM – University of Palermo
Tecniche sweep
Non si presta molto all’uso con gli operatori booleani regolarizzati.
4 aprile 2011
Corso di Informatica Grafica a.a 2010-2011
DICGIM – University of Palermo
Rappresentazioni Boundary
Il solido è rappresentato attraverso composizione di superfici che ne delimitano il volume.
Tali superfici sono topologicamente bidimensionali
Poliedri
Superfici parametriche (affrontate successivamente)
4 aprile 2011
Corso di Informatica Grafica a.a 2010-2011
DICGIM – University of Palermo
Rappresentazione a poliedri4 aprile 2011
Un poliedro è definito tale in ragione del rispetto della Formula di Eulero
Corso di Informatica Grafica a.a 2010-2011
DICGIM – University of Palermo
Rappresentazione a poliedri (2)4 aprile 2011
Formula di Eulero generalizzata per poliedri con concavità buchiC numero componenti connesseG numero di buchi che “passano attraverso” l’oggetto (genus)
Corso di Informatica Grafica a.a 2010-2011
DICGIM – University of Palermo
Rappresentazioni ad enumerazione di spazio4 aprile 2011
Voxel
Corso di Informatica Grafica a.a 2010-2011
DICGIM – University of Palermo
Octrees (partizione di spazio)
Si suddivide ricorsivamente lo spazio in quadranti (ottanti) fino a che ogni singolo quadrante (ottante) è pieno sopra una certa soglia.
4 aprile 2011
Corso di Informatica Grafica a.a 2010-2011
DICGIM – University of Palermo
Octrees4 aprile 2011
Corso di Informatica Grafica a.a 2010-2011
DICGIM – University of Palermo
Ordine degli ottanti in 3D
Codifica dell’ottante:7I,5II {7,5}
4 aprile 2011
Corso di Informatica Grafica a.a 2010-2011
DICGIM – University of Palermo
Octrees ed operatori booleani regolarizzati
A B
A∪*B A∩*B
4 aprile 2011
Corso di Informatica Grafica a.a 2010-2011
DICGIM – University of Palermo
Ricerca di un vicino in un Octree
Algoritmo di Samet
Risali l’albero fino ad arrivareal primo antenato comune //si usa la codifica dei nodi
Ripeti per ogni passo di risalitadiscendi di un passo lungo l’arco con numero d’ordine simmetrico rispetto a quello di salita//la simmetria nasce dalla//direzione di vicinanza cercata//ad es. Nord-Sud 0-2, 1-3 //e viceversa
A={0,2,2}B={2,0}
4 aprile 2011
Corso di Informatica Grafica a.a 2010-2011
DICGIM – University of Palermo
Ricerca di un vicino in un Octree4 aprile 2011