270 likes | 702 Views
Modellazione Solida. Prof. Roberto Pirrone. Sommario. Generalità Operatori booleani regolarizzati Applicazione ai poligoni Modelli wireframe Istanza di primitive Modelli sweep Modelli boundary Poliedri Modelli ad occupazione di spazio Modelli ad enumerazione di spazio ( voxel )
E N D
Modellazione Solida Prof. Roberto Pirrone
Sommario • Generalità • Operatori booleani regolarizzati • Applicazione ai poligoni • Modelli wireframe • Istanza di primitive • Modelli sweep • Modelli boundary • Poliedri • Modelli ad occupazione di spazio • Modelli ad enumerazione di spazio (voxel) • Modelli a partizione di spazio (octrees)
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
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
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.
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).
Operatori booleani regolarizzati • Gli operatori booleani utilizzati sono detti regolarizzatiperché sono costruiti in modo tale da preservare la topologia • oggetti 3D composti con tali operatori fornire ancora un risultato 3D • Un operatore booleano regolarizzato è definito come:
Operatori booleani regolarizzati Sia dato un insieme Distanza di un punto dall’insieme: Frontiera dell’insieme: Interno: Chiusura:
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 A B
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 A B
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 A B
Wireframe • Ambigua • Può essere non valida
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
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.
Tecniche sweep • Si generano le forme facendo scorrere una curva generatrice su una curva direttrice. • Flessibile ed usata molto nel CAD di pezzi meccanici.
Tecniche sweep • Non si presta molto all’uso con gli operatori booleani regolarizzati.
Rappresentazioni Boundary • Il solido è rappresentato attraverso composizione di superfici che ne delimitano il volume. • Tali superfici sono topologicamente bidimensionali • Poliedri • Superfici parametriche (affrontate successivamente)
Rappresentazione a poliedri Un poliedro è definito tale in ragione del rispetto della Formula di Eulero
Rappresentazione a poliedri (2) Formula di Eulero generalizzata per poliedri con concavità buchi C numero componenti connesse G numero di buchi che “passano attraverso” l’oggetto (genus)
Octrees (partizione di spazio) • Si suddivide ricorsivamente lo spazio in quadranti (ottanti) fino a che ogni singolo quadrante (ottante) è pieno sopra una certa soglia.
Ordine degli ottanti in 3D Codifica dell’ottante: 7I,5II {7,5}
Octrees ed operatori booleani regolarizzati A B A∩*B A∪*B
Ricerca di un vicino in un Octree Algoritmo di Samet Risali l’albero fino ad arrivare al primo antenato comune //si usa la codifica dei nodi Ripeti per ogni passo di risalita discendi 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}