3D számítógépes geometra és alakzatrekostrukcó b Háromszöghálók - algortmusok http://cgtbmehu/portal/ode/3 https://wwwvkbmehu/kepzes/targyak/viiima0 Dr Várady Tamás, Dr Salv Péter BME, Vllamosmérök és Iformatka Kar Iráyítástechka és Iformatka Taszék
Tartalom háromszöghálók egyszerűsítése csúcspotok klaszterezése kremetáls eljárások progresszív hálók egyeletes mtavételezés és újrahálózás ormálvektorok és görbületek umerkus becslése felületek mőségéek javítása 3D-s számítógépes geometra
Háromszöghálók egyszerűsítése (decmálás háromszögháló ksebb háromszögháló komplextás csökketése hatékoyság övelése adattárolás, adatátvtel herarchkus reprezetácó optmalzálás (eergafüggvéyek mőség megőrzése távolság toleraca alaksajátosságok (shape features grafkus paraméterek, textúra égy algortmus csúcspotok klaszterezése kremetáls eljárások progresszív hálók (vsszaépíthető mtavételezés és új háló létrehozása Háromszöghálók egyszerűsítése 3
Háromszöghálók egyszerűsítése példa (Botsch et al: 577 5 háromszög 0 % % 0 % példa: (Garlad, Heckbert: a háromszögek követk a textúra struktúrát 8050 000 Háromszöghálók egyszerűsítése 4
Háromszöghálók egyszerűsítése 3 Hátsó lap Távol lap Nem része a ézet tartomáyak 3 példa (Hoppe: ézőpot függő egyszerűsítés 00000 9400 Háromszöghálók egyszerűsítése 5
Csúcspotok klaszterezése approxmácós toleraca: adaptív osztás: mde cella átmérője D: quadtree, 3D: oct-tree, kd-tree - bárs osztás reprezetás mtapotok meghatározása az eredet háromszögek degeerálódak törlés, egyszerűsítés klaszterek között élek újraszámolása P klaszter, reprezetás: p, eredet potok: p 0, p, p Q klaszter, reprezetás: q, eredet potok: q 0, q, q m ha va (p,q j él új (p,q él bellesztése aráylag gyors algortmus (leárs lépésszám topológa változások a mőség em mdg megfelelő Klaszterezés 6
Klaszterezés 7 Négyzetes hba adott egy sík; smeretle v=(x,y,z pot -től mért távolsága: D(v= v-p cos α=(,v-p=(,v+d ahol =( x, y, z egységvektor; p - tetszőleges pot a síkba, d kostas égyzetes hba: másodfokú felület: egy pot, két felülettől mért égyzetes hbája - összeadás kompoesekét: egy pot égyzetes hbája k síkra:, ( ], [, (( ( d d d D T T v v v v v, ],, [,,,, ( ( d d c Q c Q T T A b v b vav v,, ( ( c c Q Q b b A A v v * * * *,, ( ( c Q Q k k b A v v v p D
Csúcspotok klaszterezése a eredet b átlag c medá d égyzetes (Botsch et al (középső érték mde cellára feltételezés: adott síkszerű háromszöghalmaz ( darab sík kszámítadó az optmáls reprezetás csúcs: v~ a legksebb égyzetes eltérés a háromszögek síkjától: Q * T ( v vav bv c m, Q ~ T * v A b, Q ( ~ v ba b 4 * T / x Q c / z 0 Klaszterezés 8 * / y Q *
Ujjgyakorlat* - quadtree Klaszterezés ha egy cellába >4, tovább osztuk ha a cella kcs (/8 és új reprezetás potot kell számol Végül háy cellát ( és háy új reprezetás potot kapuk (? Quadtree 9
Ujjgyakorlat - quadtree Klaszterezés ha egy cellába >4, tovább osztuk ha a cella kcs (/8 és új reprezetás potot kell számol Cellák száma: 9, reprezetás potok száma: 3 Quadtree 0
Ikremetáls decmácó Euler szabály (poléderek: v-e+f = csúcs (v, él (e, lap (f elem műveletek: v v-, e e-3, f f- (a csúcs törlés beszúrás a belső háromszögelés módja szabad (b él összehúzás ketté vágás az új csúcs választása szabad, optmalzálható (b fél-él összehúzás ketté vágás az új csúcs az eredet pothalmaz tagja Ikremetáls decmácó
Ujjgyakorlat* - decmácó - mdg a legrövdebb élet írtjuk k - az új csúcs a rég él közepére kerül - két lépés Decmácó
Ujjgyakorlat - decmácó - mdg a legrövdebb élet írtjuk k - az új csúcs a rég él közepére kerül - két lépés Decmácó 3
Ikremetáls decmácó közelítés hbaösszeg becslése mde lépésél, mdegyk értett háromszögre a hbák összegződek hba: skalár vagy vektor vagy égyzetes égyzetes hbák eseté mde kduló potra Q =0, egyszerű összegzés mde új v csúcsra; az optmáls v meghatározható (korább slde cél: mmáls összeerga, lletve összköltség v 0 v 0 v v v v v v v* v* az algortmus lépése mde potra a égyzetes hba meghatározása elsőbbség sor (prorty queue: összehúzható élek és ezek költsége 3 legolcsóbb élösszehúzás végrehajtása az adatstruktúra lokáls frssítése 4 terácó, amíg a termálás feltétel(ek teljesülek Ikremetáls decmácó 4
Progresszív hálók (Hoppe háromszöghálók herarchája cs formácóvesztés cél: hatékoy grafka, adattárolás, adatátvtel él-összehúzás (edge collapse adatsor: (v s, v t, v s csúcs-széthúzás (vertex splt adatsor: (v s, v l, v r, v t, v s + attrbútumok Progresszív hálók 5
Progresszív hálók? Progresszív hálók 6
Progresszív hálók 3 az összehúzadó él kválasztása eerga mmumra való törekvés E : geometra jellemzők (távolság, ormálvektor eltérés E : skalár jellemzők (pl szíek E 3 : élek, határok ézőpot specfkus fomítás hátsó lapok, távol lapok, ks méretű lapok? Progresszív hálók 7
Öálló projekt Progresszív hálók rövd szemárum és prototípus mplemetácó put: mesh output: amált progresszív háromszögháló az amácó megállítható, valamt tovább és vssza léptethető az egyszerűsítés módszere: ( ézőpot szert ( síklapuság szert ( háromszögméret szert Progresszív hálók 8
Mtavételezés és új háló létrehozása Dóhéjba: új topológa struktúra zotrópára való törekvés mtavételezés szgorú távolság és mőség krtérumok alapjá Mtavételezés és új háló 9
Geometra jellemzők 0 Geometra jellemzők becslése Háromszög alapú ormálvektor-becslés -edk háromszög: a egységvektorok átlagolása: b területaráyos súlyozás: 0 p A A A A A p ; 0, ( ( 0 A p q p q q q p q 3 q 4 q 5
Geometra jellemzők becslése Háromszögalapú görbület-becslések az -edk háromszögbe: e ( q p, ( e, e, (, A ( p A Gauss-görbület q - - β q p e e + q + klasszkus dfferecálgeometra (Gauss-Boet tétel: GdA (p A szögháy: dszkrét becslés: (körlapocska (p G( p ( p 3 A( p q - p Átlaggörbület (hegerdarabok H( p Cyl _ Area e 4 3 A( p A( p 3 q q +
Geometra jellemzők becslése 3 Átlag (H és Gauss (G görbület Átlag (H és Gauss (G görbület Geometra jellemzők
Opcoáls ayag háromszögjellemzők számítása és globáls farg felületllesztés alapjá 3D Számítógépes Geometra 3
Geometra jellemzők becslése a a ormálvektor: b görbületek: Gauss-görbület: G =,, Átlaggörbület: H = ( + / Főgörbületek (,, főráyok (k, k q 4 q 3 p q Normálvektor becslése sík-llesztés alapjá adott pot: p, körülötte: q =(x,y,z, smeretle ormálvektor : =( x, y, z, q 5 q legksebb égyzetes távolság: kéyszer (eukldesz távolság: Lagrage-féle multplkátor: D (égy smeretlees egyeletredszer x (, q p y z / y m F( x, y, z m, G( x, y, z c H( x, y, z, ( F( x, y, z ( G( x, y, z c H / x H H / z H / 0 m Geometra jellemzők 4
Geometra jellemzők becslése a Lokáls parabolod-llesztés q 4 q 3 q adott potoko keresztül q 5 p q legye p az orgó a lokáls koordáta redszerbe: q =(u,v,w, (=,, 5, w = (, q -p a parabolod egyelete: f ( u, v au buv cv du ev smeretleek: x [ a, b, c, d, e] azoosak a derváltakkal (u=0, v=0-ba: x [ f,, uu fuv f vv, f u, f v ] legksebb égyzetes (algebra távolság: D ( f ( u, v w m Geometra jellemzők 5
Geometra jellemzők 6 Geometra jellemzők becslése 3a Legksebb égyzetes mmalzálás mátrx alakba: ahol m w v u f D, ( ( b A A A x b A Ax A b Ax T T T T ( 0, ( m ( w e d c b a v u v u v u b Ax Opcoáls
Háromszöghálók smítása Eerga-mmalzálás (farg mőségmérő tegrálok: a tökéletleséget bütetk A smaság fotos: pl megjeleítésél, ayagtulajdoságok, megmukálás stb (Kobbelt Membrá eerga: - a felület legye kcs Rugalmas lap eerga (th plate: - e legye agy a görbület Mmáls görbület varácó: - e változzo gyorsa a görbület s da m ru rv dudv s da m ruu ruv rvv dudv s k k da m Smítás 7
Háromszöghálók smítása Lokáls, teratív módszerek: q 3 ( Laplace-féle smítás a potokat a szomszédok kovex kombácójáak ráyába mozgatja eseryő operátor, súlyozott átlag q 4 p old p ew q U( p wj ( q j p, (a: wj /, j w j0 (b: wj0 q j p, wj w k k0 q 5 q λ smítás mérték p ew p old U p ( Görbület-áramlás (mea curvature flow ( old p p H( p ( p ew old old old Smítás 8
Háromszöghálók smítása Globáls módszerek - umerkus vagy dszkrét smítás (farg mde terácós lépésbe módosul a háló és csökke az eerga; valamey pot módosul: eergammalzáló egyeletredszrer: M { p }, E M { p }, E E ( m az eerga? ( hogya módosítjuk a potokat? smaság mértékek parametrkus görbületbecslés dszkrét átlaggörbület (Desbru et al Smítás 9
Háromszögháló smítás 3 Demó Smítás 30
Háromszöghálók smítása 4 eljárás: smaság mérték parametrkus görbület, dszkretzálva E E f uu f f uv vv p p p j j j j j j j j j (ω az -edk pot körül háromszögek területéek összege; α, β, γ a derváltakból adódó együtthatók, p j a p pot szomszéda Cél: új optmáls pothalmaz meghatározása E ( S E( p,,, 0 w p k p E másodfokú, leárs egyeletredszer, rtka mátrx, k első- és másodfokú szomszédok közelítő megoldás - Gauss-Sedel terácó, csak a dagoáls elemekre E( S p p új k k w k w k p k Smítás 3
Háromszöghálók smítása 5 eljárás: smaság mérték dszkrét átlaggörbület H( p ( p (cot j cot j ( qj p 4A j mmalzáló egyeletredszer, az új görbületekre kell megolda: q, j j p j (cot j cot ( H( p H( q közelítő megoldás új átlaggörbület becslések, pot módosítás az új célgörbületek szert: j j 0 q j j q, j ew old ew p p H( p ( p ew Gyorsítás: először durva felbotás, utáa fomítás Peremfeltételek: az első (és a másodk háromszögsor változatla marad 3