3D-s számítógépes geometra és alakzatrekostrukcó b Háromszöghálók http://cgtbmehu/portal/ode/3 https://wwwvkbmehu/kepzes/targyak/viiiav08 Dr Várady Tamás, 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 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ése3 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 ε 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
Négyzetes hba adott egy π sík; a v(x,y,z) pot π -től mért távolsága: D(v) v-p cosα(,v-p)(,v)+d π v D p ahol ( x, y, z ) egységvektor; p - tetszőleges pot a síkba, d kostas égyzetes hba: D ( v) ((, v) + d) T T T T (( v, ) + d)((, v ) + d) v[, ] v + d(, v) + d másodfokú felület: két hba (két felület) eseté - összeadás kompoesekét: égyzetes hba k síkra: T { A, b, c} {[, ], d, } T Q( v ) vav + ( b, v) + c, Q d { A + A, b + c } Q ( + c Q v) + Q ( v) b, { A *, b * * } * v ) Q ( ), k v k ( c Klaszterezés 7
Csúcspotok klaszterezése a) eredet b) átlag c) medá d) égyzetes (Botsch et al) mde cellára feltételezés: síkszerű háromszöghalmaz 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 / x Q / y Q / z ~ T * T v A b, Q ( ~ v) ba b + c 4 0 Klaszterezés 8
Ujjgyakorlat* - quadtree Klaszterezés ha egy cellába >4, tovább osztuk ha a cella kcs és 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 és 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úcstö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 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ó feladat** 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 becslése 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 ), q 5 q smeretle ormálvektor : ( x, y, z ), legksebb égyzetes távolság: kéyszer (eukldesz távolság): Lagrage-féle multplkátor: D (égy smeretlees egyeletredszer) (, q p) x + 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 0
Geometra jellemzők becslése 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 (u0, v0)-ba: x [ f, f, uu uv f vv, f u, f v ] legksebb égyzetes (algebra) távolság: D ( f ( u, v ) w ) m Geometra jellemzők
Geometra jellemzők Geometra jellemzők becslése 3 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
Geometra jellemzők 3 Geometra jellemzők becslése 4 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 0 p A A A A A p p,, 0 ) ( ) ( A p q p q + q q p q 3 q 4 q 5
Geometra jellemzők becslése 5 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 - - β e e + q p α q + klasszkus dfferecálgeometra (Gauss-Boet tétel): GdA δ (p) A szögháy: dszkrét becslés: (körlapocska) Átlaggörbület (hegerdarabok) δ (p) π G( p) H ( p) δ ( p) 3 A( p) α β e 4 A( p) 3 q - q q + Geometra jellemzők 4 p
Geometra jellemzők becslése 6 Átlag (H) és Gauss (G) görbület Átlag (H) és Gauss (G) görbület Geometra jellemzők 5
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 r u + rv Ω dudv s κ + κ da m r uu + ruv + r Ω vv dudv s κ k + κ k da m Smítás 6
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 p U ( p) w ( q ), (a): w /, j (b): w j0 q j p, w j j j j w k j0 w k 0 q 5 q λ smítás mérték p ew p old + λu p () Görbület-áramlás (mea curvature flow) ( old ) pew pold + λ H ( pold ) ( pold ) Smítás 7
Háromszöghálók smítása 3 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 8
Háromszöghálók smítása 4 eljárás: smaság mérték parametrkus görbület, dszkretzálva E fuu + fuv + f vv E ( α 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) 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 w w k k p k k w k 0 p k Smítás 9
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: j (cot γ + cotδ )( H ( p ) H ( q )) 0 j közelítő megoldás új átlaggörbület becslések, pot módosítás az új célgörbületek szert: ew old ew p p + λ H ( p ) ( p j ew ) j q, j γ j q j p δ j q, j 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 30
Háromszögháló smítás 6 Demó Smítás 3