25
Modellare 1 Daniele Marini Con contributi di Maurizio Rossi

Modellare 1 Daniele Marini Con contributi di Maurizio Rossi

Embed Size (px)

Citation preview

Page 1: Modellare 1 Daniele Marini Con contributi di Maurizio Rossi

Modellare1

Daniele MariniCon contributi di Maurizio Rossi

Page 2: Modellare 1 Daniele Marini Con contributi di Maurizio Rossi

Sintesi e analisi

Dalla forma geometrica all’immagine

dall’immagine alla forma geometrica

Problema direttoe

problema inverso

Page 3: Modellare 1 Daniele Marini Con contributi di Maurizio Rossi

Creare una rappresentazione

• Una rappresentazione di un modello ha due significati:– rappresentazione astratta, matematica della

struttura– raffigurazione della forma

• La rappresentazione astratta richiede tecniche di costruzione

• La rappresentazione astratta richiede un metodo di descrizione della struttura dati che la descrive

• Riassumiamo questi concetti distinguendo tra superfici e volumi nel diagramma seguente

Page 4: Modellare 1 Daniele Marini Con contributi di Maurizio Rossi

Schemi di rappresentazione

Sono il modo con cui un modello per la sintesi di immagini viene descritto. I principali:

• mesh o griglia poligonale• poliedri• patch parametriche (bicubiche ..)• CSG (geometria solida costruttiva)• suddivisione spaziale (voxel)• implicite: x2 + y2 + z2 = r2

Oggetto di studio del CAD

Page 5: Modellare 1 Daniele Marini Con contributi di Maurizio Rossi

Quale schema scegliere?

• per il rendering di forme statiche?• per il rendering di forme animate o dinamiche?• oggetti rigidi o flessibili o malleabili?• quali tipi di forma: semplici come un mondo di solidi elementari o complesse come la testa di una persona?

NON ESISTE LO SCHEMA UNICO UNIVERSALE

Page 6: Modellare 1 Daniele Marini Con contributi di Maurizio Rossi

Superfici o volumi• I modelli possono essere forme

bidimensionali descritte su una superficie …

• oppure forme tridimensionali• Le forme tridimensionali possono essere

descritte da superfici nello spazio …• o da volumi nello spazio• I volumi possono anche essere

rappresentati come solidi delimitati da superfici

Page 7: Modellare 1 Daniele Marini Con contributi di Maurizio Rossi
Page 8: Modellare 1 Daniele Marini Con contributi di Maurizio Rossi

Elementi base

Quadrilatero (o triangolo) piano

Patch parametrica

CSG

voxel

Page 9: Modellare 1 Daniele Marini Con contributi di Maurizio Rossi

Rappresentazione Poliedrica

Vertici, spigoli, facce, oggetti

Semplice, a volte costoso, problemi di precisione eaccuratezza, dipende dalla curvatura, può essereautomatizzato (reverse modeling 3d, luce strutturata, o con algoritmi - es. sweep -trascinamento)

Con sistemi automatici si generano molti triangoli: problema della decimazione dei triangoli (eliminazione dei triangoli inutili)

vide

o

vide

o

Page 10: Modellare 1 Daniele Marini Con contributi di Maurizio Rossi
Page 11: Modellare 1 Daniele Marini Con contributi di Maurizio Rossi
Page 12: Modellare 1 Daniele Marini Con contributi di Maurizio Rossi

Importanza della struttura dati:

struttura di un disegno piano

video

Page 13: Modellare 1 Daniele Marini Con contributi di Maurizio Rossi

Struttura di una scena

Page 14: Modellare 1 Daniele Marini Con contributi di Maurizio Rossi

Procedimenti costruttivi:sweep (estrusione e

rotazione)

videovideo

Page 15: Modellare 1 Daniele Marini Con contributi di Maurizio Rossi

Rotazione

Page 16: Modellare 1 Daniele Marini Con contributi di Maurizio Rossi

Rappresentazione parametricaFunzioni di Bernstein blending functions

Funzioni di Bernstein fino al 3° ordine:

Page 17: Modellare 1 Daniele Marini Con contributi di Maurizio Rossi

)(P)(P)(P)(P)( 0330220110000 tBtBtBtBtP xxxxx +++= )(P)(P)(P)(P)( 0330220110000 tBtBtBtBtP xxxxx +++=

Costruire una curva di Bezier

Page 18: Modellare 1 Daniele Marini Con contributi di Maurizio Rossi

Vincoli di continuità agli estremi del poligono

vide

o

vide

o

Page 19: Modellare 1 Daniele Marini Con contributi di Maurizio Rossi
Page 20: Modellare 1 Daniele Marini Con contributi di Maurizio Rossi

Superfici parametriche:Bezier

Page 21: Modellare 1 Daniele Marini Con contributi di Maurizio Rossi

Patch bicubiche parametriche

P(u,v) = ijCi,j Bi(u)Bj(v)P(u,v) = ijCi,j Bi(u)Bj(v)

Ci,j sono 16 punti di controllo

u, v sono parametri reali in (0,1)

P è un polinomio bicubico

vide

o

vide

o

Page 22: Modellare 1 Daniele Marini Con contributi di Maurizio Rossi

Valutare la superficie parametrica

• Come trovare punti sulla superficie:– Valutazione diretta dell’equazione parametrica

(costosa)– Algoritmi progressivi: De Casteljau - interpolazione

lineare progressiva, vediamo l’esempio di calcolo dei punti su una parabola:

22

121

110

20

2111

1010

)1(2)1()()()1()(

)1()(

)1()(

btbttbtttbtbttb

tbbttb

tbbttb

o +−+−=+−=

+−=

+−=

22

121

110

20

2111

1010

)1(2)1()()()1()(

)1()(

)1()(

btbttbtttbtbttb

tbbttb

tbbttb

o +−+−=+−=

+−=

+−=

b0

b1

b2

b01

b11

b02

Page 23: Modellare 1 Daniele Marini Con contributi di Maurizio Rossi

De Casteljau• Il caso della parabola riguarda una curva

piana, per le superfici il metodo si generalizza:Il punto è il punto con parametro t sulla curva di Beziér bn calcolato come:

Per le superfici di interesse per la grafica n=3I punti bi sono i punti di controllo

dettagli sul metodo si trovano su: G. Farin Curves and surfaces for computer aided geometric design, AP

bon (t)

bir(t) = (1− t)bi

r−1(t) + tbi+1r−1(t)

con r =1,..,n;i = 0,..,n − r

bir(t) = (1− t)bi

r−1(t) + tbi+1r−1(t)

con r =1,..,n;i = 0,..,n − r

Page 24: Modellare 1 Daniele Marini Con contributi di Maurizio Rossi

NURBS• Non Uniform Rational B Splines: si considerano i

pesi wi (chiamati shape parameters)• se i pesi sono tutti =1 si hanno le curve di Bezier

P( t) =w0C0B0(t)+ w1C1B1( t)+ w2C2B2(t)+ w3C3B3( t)

w0B0(t)+ w1B1( t)+ w2B2(t)+ w3B3( t)=

wiCiBi(t)i =0

3

wiBi(t)i =0

3

P( t) =w0C0B0(t)+ w1C1B1( t)+ w2C2B2(t)+ w3C3B3( t)

w0B0(t)+ w1B1( t)+ w2B2(t)+ w3B3( t)=

wiCiBi(t)i =0

3

wiBi(t)i =0

3

∑€

P( t) = CiBi(t)i =0

3

P( t) = CiBi(t)i =0

3

Page 25: Modellare 1 Daniele Marini Con contributi di Maurizio Rossi

Curve parametriche per interpolazione

• Spline cubiche• Matrice di Hermite:

• Teoria, vantaggi e svantaggi delle diverse forme sono oggetto di studio della geometria computazionale

[ ]⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ =

⎥⎥⎥⎥

⎢⎢⎢⎢

−−

−−

=

3

2

1

0

3210

1

1000

3300

3630

1331

)(

t

t

t

t

t CCCCP [ ]⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ =

⎥⎥⎥⎥

⎢⎢⎢⎢

−−

−−

=

3

2

1

0

3210

1

1000

3300

3630

1331

)(

t

t

t

t

t CCCCP

video