3D-s számítógépes geometriacg.iit.bme.hu/portal/sites/default/files/oktatott... · 3D-s...

30
3D-s számítógépes geometria 1 3D-s számítógépes geometria Dr. Várady Tamás BME, Villamosmérnöki és Informatikai Kar Irányítástechnika és Informatika Tanszék http://cg.iit.bme.hu/portal/node/312 https://www.vik.bme.hu/kepzes/targyak/VIIIAV01 3. Háromszöghálók II.

Transcript of 3D-s számítógépes geometriacg.iit.bme.hu/portal/sites/default/files/oktatott... · 3D-s...

Page 1: 3D-s számítógépes geometriacg.iit.bme.hu/portal/sites/default/files/oktatott... · 3D-s számítógépes geometria 1 3D-s számítógépes geometria. Dr. Várady Tamás. BME,

3D-s számítógépes geometria 1

3D-s számítógépes geometria

Dr. Várady

TamásBME, Villamosmérnöki és Informatikai KarIrányítástechnika és Informatika Tanszék

http://cg.iit.bme.hu/portal/node/312https://www.vik.bme.hu/kepzes/targyak/VIIIAV01

3. Háromszöghálók

II.

Page 2: 3D-s számítógépes geometriacg.iit.bme.hu/portal/sites/default/files/oktatott... · 3D-s számítógépes geometria 1 3D-s számítógépes geometria. Dr. Várady Tamás. BME,

3D-s számítógépes geometria 2

Tartalom

háromszöghálók egyszerűsítése csúcspontok klaszterezéseinkrementális eljárásokprogresszív hálók

egyenletes mintavételezés és újrahálózásnormálvektorok és görbületek numerikus becslése felületek minőségének javítása

Page 3: 3D-s számítógépes geometriacg.iit.bme.hu/portal/sites/default/files/oktatott... · 3D-s számítógépes geometria 1 3D-s számítógépes geometria. Dr. Várady Tamás. BME,

Háromszöghálók egyszerűsítése 3

Háromszöghálók egyszerűsítése1 (decimálás)

háromszögháló ⇒ kisebb háromszöghálókomplexitás csökkentése − hatékonyság növeléseadattárolás, adatátvitelhierarchikus reprezentációoptimalizálás (energiafüggvények)

minőség megőrzésetávolság toleranciaalaksajátosságokgrafikus paraméterek, textúra

négy algoritmus csúcspontok klaszterezése inkrementális eljárásokprogresszív hálók (visszaépíthető)mintavételezés és új háló létrehozása

Page 4: 3D-s számítógépes geometriacg.iit.bme.hu/portal/sites/default/files/oktatott... · 3D-s számítógépes geometria 1 3D-s számítógépes geometria. Dr. Várady Tamás. BME,

Háromszöghálók egyszerűsítése 4

Háromszöghálók egyszerűsítése2

1. példa (Botsch

et al.):

577 512 háromszög→ 10 % →

1 % →

0.1 %

2. példa:

(Garland, Heckbert):

a háromszögek

követik a

textúra

struktúrát

18050 →

1000

Page 5: 3D-s számítógépes geometriacg.iit.bme.hu/portal/sites/default/files/oktatott... · 3D-s számítógépes geometria 1 3D-s számítógépes geometria. Dr. Várady Tamás. BME,

Háromszöghálók egyszerűsítése 5

Háromszöghálók egyszerűsítése3

3. példa (Hoppe):

nézőpont függő

egyszerűsítés

100000 →

29400

Hátsó

lap

Nem része a nézeti tartománynak

Távoli lap

Page 6: 3D-s számítógépes geometriacg.iit.bme.hu/portal/sites/default/files/oktatott... · 3D-s számítógépes geometria 1 3D-s számítógépes geometria. Dr. Várady Tamás. BME,

Klaszterezés 6

Csúcspontok klaszterezése1

approximációs tolerancia: εadaptív osztás: minden cella átmérője ≤ εreprezentáns mintapontok meghatározása az eredeti háromszögek degenerálódnak ⇒ törlés,

egyszerűsítésklaszterek közötti élek újraszámolása

P klaszter, reprezentáns: p, eredeti pontok: p0, p1, ...pn

Q klaszter, reprezentáns: q, eredeti pontok: q0, q1, ...qm

ha van (pi,qj) él ⇒ új (p,q) él beillesztése

aránylag gyors algoritmus (lineáris lépésszám)

topológiai változások − a minőség nem mindig megfelelő

Page 7: 3D-s számítógépes geometriacg.iit.bme.hu/portal/sites/default/files/oktatott... · 3D-s számítógépes geometria 1 3D-s számítógépes geometria. Dr. Várady Tamás. BME,

Klaszterezés 7

Négyzetes

hiba

v=(x,y,z) pont síktól mért távolsága

D= (n,v-p)= |v-p

|cos

α=(n,v)+d

n=(nx,ny,nz) egységvektor; p - tetszőleges pont a síkban, d konstans

négyzetes hiba:

másodfokú felület:

hibák (felületek) összeadása komponensenként:

négyzetes hiba k síkra:

222 ),(2],[)),)((),(()),(( dddddD TTTT ++=++=+= vnvnnvvnnvvn

{ } { }2,],,[,,,),(2)( ddcQcQ TT nnnbAvbvAvv ==++=

{ }21212121 ,,)()( ccQQ +++=+ bbAAvv

{ }**** ,,)()( cQQk

k bAvv == ∑

π

v

pnπ

D

Page 8: 3D-s számítógépes geometriacg.iit.bme.hu/portal/sites/default/files/oktatott... · 3D-s számítógépes geometria 1 3D-s számítógépes geometria. Dr. Várady Tamás. BME,

Klaszterezés 8

Csúcspontok klaszterezése2

minden cellárafeltételezés: síkszerű háromszöghalmazoptimális reprezentáns csúcs:a legkisebb négyzetes eltérés a háromszögek síkjától:

a) eredeti b) átlag c) medián d) négyzetes

(Botsch

et al.)

0///,2)( **** =∂∂=∂∂=∂∂=++= zQyQxQmincQ T bvvAvv

cQ TT +−=−= −− bbAvbAv 1*1

41)~(,

21~

v~

Page 9: 3D-s számítógépes geometriacg.iit.bme.hu/portal/sites/default/files/oktatott... · 3D-s számítógépes geometria 1 3D-s számítógépes geometria. Dr. Várady Tamás. BME,

9Quadtree

Ujjgyakorlat*

-

quadtree

Klaszterezés• ha egy cellában n>4, tovább osztunk• ha a cella kicsi és n≥2

→ reprezentáns pontot kell számolni

Page 10: 3D-s számítógépes geometriacg.iit.bme.hu/portal/sites/default/files/oktatott... · 3D-s számítógépes geometria 1 3D-s számítógépes geometria. Dr. Várady Tamás. BME,

10Quadtree

Ujjgyakorlat -

quadtree

Klaszterezés• ha egy cellában n>4, tovább osztunk• ha a cella kicsi és n≥2 → reprezentáns pontot kell számolni

3 ilyen

kis

cella

van

Page 11: 3D-s számítógépes geometriacg.iit.bme.hu/portal/sites/default/files/oktatott... · 3D-s számítógépes geometria 1 3D-s számítógépes geometria. Dr. Várady Tamás. BME,

Inkrementális decimáció 11

Inkrementális decimáció1Euler szabály

(poliéderek):v-e+f = 2csúcs (v), él (e), lap (f)

elemi műveletek:v ↔ v-1, e ↔ e-3, f ↔ f-2

(a) csúcstörlés −

beszúrása belső háromszögelés

módja szabad

(b1) élösszehúzás

ketté

vágásaz új csúcs választása

szabad, optimalizálható

(b2) fél-él összehúzás −

ketté

vágás

az új csúcs az eredeti ponthalmaz tagja

Page 12: 3D-s számítógépes geometriacg.iit.bme.hu/portal/sites/default/files/oktatott... · 3D-s számítógépes geometria 1 3D-s számítógépes geometria. Dr. Várady Tamás. BME,

12Decimáció

Ujjgyakorlat*

-

decimáció

-

mindig a legrövidebb élet írtjuk ki-

az új csúcs a régi él közepére kerül-

két lépés

Page 13: 3D-s számítógépes geometriacg.iit.bme.hu/portal/sites/default/files/oktatott... · 3D-s számítógépes geometria 1 3D-s számítógépes geometria. Dr. Várady Tamás. BME,

13Decimáció

Ujjgyakorlat -

decimáció

-

mindig a legrövidebb élet írtjuk ki-

az új csúcs a régi él közepére kerül-

két lépés

Page 14: 3D-s számítógépes geometriacg.iit.bme.hu/portal/sites/default/files/oktatott... · 3D-s számítógépes geometria 1 3D-s számítógépes geometria. Dr. Várady Tamás. BME,

Inkrementális decimáció 14

Inkrementális decimáció2közelítési hibaösszeg becslése

minden lépésnél, mindegyik érintettháromszögre −

a hibák összegződnekhiba: skalár vagy vektor vagy négyzetes

négyzetes hibák eseténminden kiinduló pontra Qi=0, egyszerű összegzés minden új v csúcsra;az optimális v

meghatározható

(korábbi slide)cél: minimális „összenergia”, illetve„összköltség”

az algoritmus lépései1. minden pontra a négyzetes hiba meghatározása2. elsőbbségi sor (priority

queue): összehúzható

élek és ezek költsége3. legolcsóbb élösszehúzás

végrehajtása ⇒ az adatstruktúra lokális frissítése4. iteráció, amíg a terminálási

feltétel(ek) teljesülnek

v1

v2v

v1

v2v

Page 15: 3D-s számítógépes geometriacg.iit.bme.hu/portal/sites/default/files/oktatott... · 3D-s számítógépes geometria 1 3D-s számítógépes geometria. Dr. Várady Tamás. BME,

Progresszív hálók 15

Progresszív hálók1

(Hoppe)

háromszöghálók hierarchiájanincs információvesztéscél: hatékony grafika, adattárolás, adatátvitel

él-összehúzás (edge collapse)adatsor: (vs, vt, vs’)

csúcs-széthúzás (vertex split)adatsor: (vs, vl, vr, vt’, vs’+

attribútumok)

Page 16: 3D-s számítógépes geometriacg.iit.bme.hu/portal/sites/default/files/oktatott... · 3D-s számítógépes geometria 1 3D-s számítógépes geometria. Dr. Várady Tamás. BME,

Progresszív hálók 16

Progresszív hálók2

?

Page 17: 3D-s számítógépes geometriacg.iit.bme.hu/portal/sites/default/files/oktatott... · 3D-s számítógépes geometria 1 3D-s számítógépes geometria. Dr. Várady Tamás. BME,

Progresszív hálók 17

Progresszív hálók3az összehúzandó él kiválasztása –

energia minimumra való törekvésE1: geometriai jellemzők (távolság,

normálvektor eltérés)E2: skalár jellemzők (pl. színek)E3: élek, határok

nézőpont specifikus finomításhátsó lapok, távoli lapok, kis méretű lapok

?

Page 18: 3D-s számítógépes geometriacg.iit.bme.hu/portal/sites/default/files/oktatott... · 3D-s számítógépes geometria 1 3D-s számítógépes geometria. Dr. Várady Tamás. BME,

Progresszív hálók 18

Progresszív hálók

rövid szemináriumés prototípus implementáció

input:

meshoutput: animált progresszív háromszögháló

az animáció

megállítható

és továbbléptethetőaz egyszerűsítés módszerei:

(i) nézőpont szerint(ii) síklapuság szerint(iii) háromszögméret szerint

Önálló feladat

Page 19: 3D-s számítógépes geometriacg.iit.bme.hu/portal/sites/default/files/oktatott... · 3D-s számítógépes geometria 1 3D-s számítógépes geometria. Dr. Várady Tamás. BME,

Mintavételezés és új háló 19

Mintavételezés és új háló

létrehozása

Dióhéjban:

új topológiai struktúraizotrópiára való törekvésmintavételezés szigorú – távolsági és minőségi – kritériumok alapján

Page 20: 3D-s számítógépes geometriacg.iit.bme.hu/portal/sites/default/files/oktatott... · 3D-s számítógépes geometria 1 3D-s számítógépes geometria. Dr. Várady Tamás. BME,

Geometriai jellemzők 20

Geometriai

jellemzők becslése1a) normálvektor: nb) görbületek:

Gauss-görbület: G = κ1 κ 2,, Átlaggörbület: H = (κ 1 + κ 2) / 2Főgörbületek (κ 1, κ 2), főirányok (k1, k2)

Normálvektor becslése sík illesztés alapján

adott pont: p, körülötte: qi=(xi,yi,zi),

ismeretlen normálvektor : n=(nx,ny,nz),

legkisebb négyzetes távolság:

kényszer (euklideszi távolság):

Lagrange-féle multiplikátor:

(négy ismeretlenes egyenletrendszer)

minDi

ii

i =−= ∑∑ 22 ),( pqn1222 =++ zyx nnn

0////)),,((),,((),,,(

),,(,),,(

=∂∂=∂∂=∂∂=∂∂=−+=

==

λλλ

HzHyHxHminczyxGzyxFzyxH

czyxGminzyxF

q1

q2

p

q3

q4

q5

Page 21: 3D-s számítógépes geometriacg.iit.bme.hu/portal/sites/default/files/oktatott... · 3D-s számítógépes geometria 1 3D-s számítógépes geometria. Dr. Várady Tamás. BME,

Geometriai jellemzők 21

Geometriai

jellemzők becslése2

Lokális paraboloid

illesztés

adott

pontokon

keresztül

legyen p az origó

a lokális koordináta rendszerben:qi

=(ui

,vi

,wi

), (i=1,..n, n ≥

5), wi

= (n, qi

-p)

a paraboloid egyenlete:

ismeretlenek:

azonosak a deriváltakkal:

legkisebb négyzetes (algebrai) távolság:

minwvufD iii

ii

i =−= ∑∑ 22 )),((

evducvbuvauvuf ++++= 22),(],,,,[ edcba=x

q1

q2

p

q3

q4

q5

],,,,[ 21

21

vuvvuvuu fffff=x

Page 22: 3D-s számítógépes geometriacg.iit.bme.hu/portal/sites/default/files/oktatott... · 3D-s számítógépes geometria 1 3D-s számítógépes geometria. Dr. Várady Tamás. BME,

Geometriai jellemzők 22

Geometriai

jellemzők becslése3

Legkisebb négyzetes minimalizálás mátrix alakban:

ahol

minwvufD iii

ii

i =−= ∑∑ 22 )),((

bAAAxbAAxAbAx TTTT 12 )(,0.)( −=⇒=−⇒=− min

⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢

.

.

.

.

.

.....

.....

.....

.....

.....

22iiiiiii w

edcba

vuvvuu

Page 23: 3D-s számítógépes geometriacg.iit.bme.hu/portal/sites/default/files/oktatott... · 3D-s számítógépes geometria 1 3D-s számítógépes geometria. Dr. Várady Tamás. BME,

Geometriai jellemzők 23

Geometriai

jellemzők becslése4Háromszög alapú

normálvektor-becslés

i-edik

háromszög:

a) egységvektorok átlagolása:

b) területarányos súlyozás:

||,1

00i

ii

iin n

nnnnp == ∑

∑∑∑ =→===i

ii

iiii

ii AAAAA

Annnnn pp 2

1,|,|21,1

0

)()( pqpqn 1ii −×−= +i

q1

q2

p

q3

q4

q5

Page 24: 3D-s számítógépes geometriacg.iit.bme.hu/portal/sites/default/files/oktatott... · 3D-s számítógépes geometria 1 3D-s számítógépes geometria. Dr. Várady Tamás. BME,

Geometriai jellemzők 24

Geometriai

jellemzők becslése5

Háromszög alapú

görbület-becslések

az i-edik

háromszögben:

Gauss-görbület

klasszikus differenciálgeometria(Gauss-Bonet

tétel):

szöghiány:

diszkrét becslés:

Átlaggörbület

∑=∠=∠=−= −+

ii

ii

AA )(),(),,(),(

pnneepqe 1ii1iiii βα

∑−=i

iαπδ 2)(p

)(pδ∫∫ =AGdA

)()(

31

||41

pp

e

AH i ii∑

)()()(

31 p

ppA

G δ=

qi+1

qi-1

qi

p

qi+1

ni

qi-1 p

qi

ni-1 αi

βi

eiei+1

Page 25: 3D-s számítógépes geometriacg.iit.bme.hu/portal/sites/default/files/oktatott... · 3D-s számítógépes geometria 1 3D-s számítógépes geometria. Dr. Várady Tamás. BME,

Geometriai jellemzők 25

Geometriai

jellemzők becslése6

Átlag (H) és Gauss (G) görbület1

Átlag (H) és Gauss (G) görbület2

Page 26: 3D-s számítógépes geometriacg.iit.bme.hu/portal/sites/default/files/oktatott... · 3D-s számítógépes geometria 1 3D-s számítógépes geometria. Dr. Várady Tamás. BME,

26Simítás

Háromszöghálók simítása1•

Energia-minimalizálás

(fairing) −

minőségmérő

integrálok: a „tökéletlenséget”

büntetik•

A simaság fontos: pl. megjelenítésnél, anyagtulajdonságok, megmunkálás stb.

Membrán energia:•

a felület legyen kicsi Rugalmas lap energia (thin

plate):•

ne legyen nagy a görbület

Minimális görbület variáció: •

ne változzon gyorsan agörbület

0|||| 22

+

=

∫∫∫

Ω

rrr dudv

min.dA

vu

s

0

||||2||2

222

22

21

++

=+

∫∫∫

Ω

r

rrr dudv

min.dA

vvuvuu

sκκ

03

22

1

1

2

2

=⎟⎟⎠

⎞⎜⎜⎝

⎛⎟⎟⎠

⎞⎜⎜⎝

⎛∂

∂+

∂∫

r

kkmin.dA

s

κκ

(Kobbelt)

Page 27: 3D-s számítógépes geometriacg.iit.bme.hu/portal/sites/default/files/oktatott... · 3D-s számítógépes geometria 1 3D-s számítógépes geometria. Dr. Várady Tamás. BME,

27Simítás

Háromszöghálók simítása2

Egyszerű

iteratív módszerek:

Laplace-féle simítás−

a pontokat a szomszédok konvex kombinációjának irányába mozgatja

esernyő

operátor, súlyozott átlag

λ

simítási mérték

Görbület-áramlás(mean

curvature

flow)

Görbület-áramlás optimalizálva

1,||,1)( *1 =−=−= −∑∑ ii

ii

i i

wwww

U ii qppqp

)( oldoldnew U ppp λ+=

)()( oldoldoldnew H pnppp λ+=

)()( newnewoldnew H pnppp λ+=

q1

q2pold

q3

q4

q5

pnew

Page 28: 3D-s számítógépes geometriacg.iit.bme.hu/portal/sites/default/files/oktatott... · 3D-s számítógépes geometria 1 3D-s számítógépes geometria. Dr. Várady Tamás. BME,

28Simítás

Háromszöghálók simítása3Numerikus vagy diszkrét simítás (fairing)

minden iterációs lépésben módosul a háló

és csökken az energia:

(i) mi az energia ? (ii) hogyan módosítjuk a pontokat ?

1. simasági mérték −

parametrikus görbületbecslés2. simasági mérték −

diszkrét átlaggörbület

nnni

nnni

n EEpMEpM ≤=⇒= +++ 111 },{},{

)()( pnppp újúj Hλ+=

minimalizáló

egyenletrendszer,közelítő

megoldás → új átlaggörbület becslések

pont módosítás az új célgörbületekszerint:

gyorsítás: először durva felbontás, utána finomítás

peremfeltételek: az első

(és a második)háromszögsor változatlan marad

)()( pnppp Húj λ+=

Page 29: 3D-s számítógépes geometriacg.iit.bme.hu/portal/sites/default/files/oktatott... · 3D-s számítógépes geometria 1 3D-s számítógépes geometria. Dr. Várady Tamás. BME,

29Simítás

Háromszögháló

simítás4

Demó

Page 30: 3D-s számítógépes geometriacg.iit.bme.hu/portal/sites/default/files/oktatott... · 3D-s számítógépes geometria 1 3D-s számítógépes geometria. Dr. Várady Tamás. BME,

30Következő előadás

A következő

előadás tartalma

Görbék és felületek I:

vektor polinomok, interpolációBernstein polinomokBézier görbék és tulajdonságaikegyszerű műveletekgörbék csatlakoztatása Bézier felületek és tulajdonságaik