Geometriai invariánsokat interpoláló rekurzívan finomítható felületek Diplomamunka Geometriai invariánsokat interpoláló rekurzívan finomítható felületek Valasek Gábor ELTE IK, 2008
Tartalom Bevezetés Magasabb rendű adatok interpolálásának klasszikus megoldásai Felosztási algoritmusok Felosztási felületek Magasabb rendű adatok interpolálása felosztási felületekkel
Görbe- és felületdefiniáló sémák A modellező és animációtervező rendszerekben a szabadformájú felületek és görbék fontos tervezési eszközök Miként tároljuk őket?
Görbék reprezentálása
Görbék reprezentálása
Görbék reprezentálása
Görbék és felületek A görbék és felületek reprezentációja tehát függ attól, hogy milyen sémák, felületeket és görbéket előállító algoritmusok segítségével számítjuk ki a tényleges térbeli objektumokat Ha növeljük a tárolt információk rendjét, azaz nem csak alappontadatokat, hanem például érintőket, felületi normálisokat stb. is figyelembe veszünk csökken a tárolandó pontok száma
Tartalom Bevezetés Magasabb rendű adatok interpolálásának klasszikus megoldásai Felosztási algoritmusok Felosztási felületek Magasabb rendű adatok interpolálása felosztási felületekkel
Feladat Egy adott, geometriai adatokat tartalmazó halmaz elemeihez egy olyan görbét vagy felületet adni, amely rekonstruálja az alappontokat és az ott megadott magasabb rendű mennyiségeket is
Magasabb rendű adatok interpolálása Több megoldás alappontok és első deriváltak vagy érintőirányok ismeretében görbékre: Harmadfokú Hermite interpoláció Összetett Bézier görbék Felületeknél pontok és parciális deriváltak vagy felületi normálisok ismeretében: Hermite patch Nielson és Piper
Tartalom Bevezetés Magasabb rendű adatok interpolálásának klasszikus megoldásai Felosztási algoritmusok Felosztási felületek Magasabb rendű adatok interpolálása felosztási felületekkel
Görbék és felületek A '90-es évek elején két főbb reprezentáció a modellező és animációtervező rendszerekben: Poligonhálók NURBS-ök
Poligonháló
NURBS
Felosztási sémák Egy kiindulási pontháló rekurzív sűrítésével kapott ponthalmaz hatérértékeként definiálják a felületet Az előző kettő ennek speciális esete '90-es évek közepétől animációtervező rendszerekben:
Felosztási sémák
Felosztási sémák Előnyök: Problémák: Általános kiindulási topológia Jól skálázható Numerikus stabilitás Hatékony implementáció ... Problémák: NURBS-ös és poligonhálós eszközök átültetése
Tartalom Bevezetés Magasabb rendű adatok interpolálásának klasszikus megoldásai Felosztási algoritmusok Felosztási felületek Magasabb rendű adatok interpolálása felosztási felületekkel
Catmull-Clark séma Approximációs séma Mindkét paraméterirányban harmadfokú Bézier felületdarabok vizsgálatából indult ki C2 folytonos határfelület, ami C1 folytonos extremális pontokban
Lapokból származó pontok bi: szülő lap csúcsai
Élekből származó pontok bi: szülő él végpontjai qi: szülő él két oldalán lévő lapok középpontjai
Csúcsokból származó pontok Q: szülő csúcsba befutó lapokból származó pontok R: szülő csúcsra illeszkedő élekből származó pontok S: szülő csúcs
Catmull-Clark kiterjesztése pont-normális interpolációra Az interpolálandó pontok I halmazához kell egy Catmull-Clark kiindulási M ponthalmazt konstruálni Felírhatjuk mátrix-vektor szorzások sorozataként a felosztás műveletét egy-egy csúcspont környezetében Az ehhez használt felosztási mátrix sajátvektorainak segítségével kifejezhető az eredményfelület pontja és a felületi normális is
Catmull-Clark kiterjesztése pont-normális interpolációra Lineáris egyenletrendszer formájában megfogalmazhatóak az pont és felületi normáls interpolálásának feltételei Az egyenletrendszer felírásának van olyan módja, amely mellett az nem lesz szinguláris
Doo-Sabin séma Chaikin saroklevágási algoritmusának ötletét vitték tovább felületekre Szintén approximáló séma G1 folytonos határfelület
Új pontok
Csúcsokból származó új lapok
Élekből származó új lapok
Lapokból származó új lapok
Doo-Sabin séma kiterjesztése pont-normális interpolációra Szintén I-hez kell kiindulási M A lapközéppontok a séma lépéseiben fixpontok És egyúttal a normálisok is azok lesznek, ha a definiáló topologikus lapoknak megfelelő pontok a térben síklapokat alkotnak
Tartalom Bevezetés Magasabb rendű adatok interpolálásának klasszikus megoldásai Felosztási algoritmusok Felosztási felületek Magasabb rendű adatok interpolálása felosztási felületekkel
Magasabb rendű alapadatok Az igény mindig is megvolt a felosztási sémák határfelületének görbületfolytonossága iránt Ezért konstruáltunk egy sémát alappontok, felületi normálisok, görbületi főirányok és főgörbületi értékeket interpoláló felületet létrehozására
A séma váza Pontonkénti határfelület konstruálása, amely interpolálja az összes megadott mennyiséget A topologikus élek mentén a szomszédos pontpárok közé hordozófelület konstruálása A hordozófelület segítségével a ponthálóba új pontok és mennyiségek beszúrása A topológia frissítése
Pontonkénti határfelület
Szomszédos pontok közti átmeneti felület
Új pont
Topológia frissítése
Pontonkénti határfelület A tóruszt választottuk és a bemeneti adat típusától függően annak is csak speciális pontjait:
Elliptikus interpolálandó pont
Parabolikus interpolálandó pont
Hiperbolikus interpolálandó pont
Átmeneti felület és új pont A szomszédos pontok egymáshoz való térbeli viszonyaitól és típusoktól függ Másodfokú racionális Bézier felületdarabbal írjuk le A ponthálóhoz hozzávételre kerülő pont ezen felületdarab (0.5, 0.5) paraméterértékéhez tartozik
Topológia frissítése A legegyszerűbb valamilyen heurisztika szerint szétvágni a lapokat Most úgy, hogy a keletkező két lap kerületének különbsége minimális legyen Azonban ritkítható a keletkező pontháló Pl. legnagyobb görbületű pontok megtartásával stb.
Összefoglalás Magasabb rendű adatok előnyei Felosztási sémák Kiterjesztések interpolálásra