Corso di Informatica Grafica a.a 2010-2011 DICGIM – University of Palermo Dipartimento di...

27
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

Transcript of Corso di Informatica Grafica a.a 2010-2011 DICGIM – University of Palermo Dipartimento di...

Page 1: Corso di Informatica Grafica a.a 2010-2011 DICGIM – University of Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Modellazione.

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

Page 2: Corso di Informatica Grafica a.a 2010-2011 DICGIM – University of Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Modellazione.

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

Page 3: Corso di Informatica Grafica a.a 2010-2011 DICGIM – University of Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Modellazione.

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

Page 4: Corso di Informatica Grafica a.a 2010-2011 DICGIM – University of Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Modellazione.

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

Page 5: Corso di Informatica Grafica a.a 2010-2011 DICGIM – University of Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Modellazione.

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

Page 6: Corso di Informatica Grafica a.a 2010-2011 DICGIM – University of Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Modellazione.

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

Page 7: Corso di Informatica Grafica a.a 2010-2011 DICGIM – University of Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Modellazione.

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

Page 8: Corso di Informatica Grafica a.a 2010-2011 DICGIM – University of Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Modellazione.

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

Page 9: Corso di Informatica Grafica a.a 2010-2011 DICGIM – University of Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Modellazione.

Corso di Informatica Grafica a.a 2010-2011

DICGIM – University of Palermo

Operatori booleani regolarizzati4 aprile 2011

Page 10: Corso di Informatica Grafica a.a 2010-2011 DICGIM – University of Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Modellazione.

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

Page 11: Corso di Informatica Grafica a.a 2010-2011 DICGIM – University of Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Modellazione.

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

Page 12: Corso di Informatica Grafica a.a 2010-2011 DICGIM – University of Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Modellazione.

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

Page 13: Corso di Informatica Grafica a.a 2010-2011 DICGIM – University of Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Modellazione.

Corso di Informatica Grafica a.a 2010-2011

DICGIM – University of Palermo

Wireframe

Ambigua

Può essere non valida

4 aprile 2011

Page 14: Corso di Informatica Grafica a.a 2010-2011 DICGIM – University of Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Modellazione.

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

Page 15: Corso di Informatica Grafica a.a 2010-2011 DICGIM – University of Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Modellazione.

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

Page 16: Corso di Informatica Grafica a.a 2010-2011 DICGIM – University of Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Modellazione.

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

Page 17: Corso di Informatica Grafica a.a 2010-2011 DICGIM – University of Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Modellazione.

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

Page 18: Corso di Informatica Grafica a.a 2010-2011 DICGIM – University of Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Modellazione.

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

Page 19: Corso di Informatica Grafica a.a 2010-2011 DICGIM – University of Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Modellazione.

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

Page 20: Corso di Informatica Grafica a.a 2010-2011 DICGIM – University of Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Modellazione.

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)

Page 21: Corso di Informatica Grafica a.a 2010-2011 DICGIM – University of Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Modellazione.

Corso di Informatica Grafica a.a 2010-2011

DICGIM – University of Palermo

Rappresentazioni ad enumerazione di spazio4 aprile 2011

Voxel

Page 22: Corso di Informatica Grafica a.a 2010-2011 DICGIM – University of Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Modellazione.

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

Page 23: Corso di Informatica Grafica a.a 2010-2011 DICGIM – University of Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Modellazione.

Corso di Informatica Grafica a.a 2010-2011

DICGIM – University of Palermo

Octrees4 aprile 2011

Page 24: Corso di Informatica Grafica a.a 2010-2011 DICGIM – University of Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Modellazione.

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

Page 25: Corso di Informatica Grafica a.a 2010-2011 DICGIM – University of Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Modellazione.

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

Page 26: Corso di Informatica Grafica a.a 2010-2011 DICGIM – University of Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Modellazione.

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

Page 27: Corso di Informatica Grafica a.a 2010-2011 DICGIM – University of Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Modellazione.

Corso di Informatica Grafica a.a 2010-2011

DICGIM – University of Palermo

Ricerca di un vicino in un Octree4 aprile 2011