1 / 27

Modellazione Solida

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 )

aderes
Download Presentation

Modellazione Solida

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Modellazione Solida Prof. Roberto Pirrone

  2. 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)

  3. 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. 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

  5. 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.

  6. 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).

  7. 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:

  8. Operatori booleani regolarizzati Sia dato un insieme Distanza di un punto dall’insieme: Frontiera dell’insieme: Interno: Chiusura:

  9. Operatori booleani regolarizzati

  10. 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

  11. 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

  12. 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

  13. Wireframe • Ambigua • Può essere non valida

  14. 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

  15. 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.

  16. Tecniche sweep • Si generano le forme facendo scorrere una curva generatrice su una curva direttrice. • Flessibile ed usata molto nel CAD di pezzi meccanici.

  17. Tecniche sweep • Non si presta molto all’uso con gli operatori booleani regolarizzati.

  18. Rappresentazioni Boundary • Il solido è rappresentato attraverso composizione di superfici che ne delimitano il volume. • Tali superfici sono topologicamente bidimensionali • Poliedri • Superfici parametriche (affrontate successivamente)

  19. Rappresentazione a poliedri Un poliedro è definito tale in ragione del rispetto della Formula di Eulero

  20. 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)

  21. Rappresentazioni ad enumerazione di spazio Voxel

  22. Octrees (partizione di spazio) • Si suddivide ricorsivamente lo spazio in quadranti (ottanti) fino a che ogni singolo quadrante (ottante) è pieno sopra una certa soglia.

  23. Octrees

  24. Ordine degli ottanti in 3D Codifica dell’ottante: 7I,5II {7,5}

  25. Octrees ed operatori booleani regolarizzati A B A∩*B A∪*B

  26. 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}

  27. Ricerca di un vicino in un Octree

More Related