Diplomamunka Geometriai invariánsokat interpoláló rekurzívan finomítható felületek Valasek Gábor ELTE IK, 2008
Tartalom 1. Bevezetés 2. Magasabb rendű adatok interpolálásának klasszikus megoldásai 3. Felosztási algoritmusok 4. Felosztási felületek 5. 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; egy példa
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 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, akkor csökken a tárolandó pontok száma
Tartalom 1. Bevezetés 2. Magasabb rendű adatok interpolálásának klasszikus megoldásai 3. Felosztási algoritmusok 4. Felosztási felületek 5. 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 1. Bevezetés 2. Magasabb rendű adatok interpolálásának klasszikus megoldásai 3. Felosztási algoritmusok 4. Felosztási felületek 5. 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
Előnyö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 1. Bevezetés 2. Magasabb rendű adatok interpolálásának klasszikus megoldásai 3. Felosztási algoritmusok 4. Felosztási felületek 5. 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, élekből, csúcsokból származó pontok b i : szülő lap csúcsai b i : szülő él végpontjai q i : szülő él két oldalán lévő lapok középpontjai 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, élekből, 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 1. Bevezetés 2. Magasabb rendű adatok interpolálásának klasszikus megoldásai 3. Felosztási algoritmusok 4. Felosztási felületek 5. 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 1) Pontonkénti határfelület konstruálása, amely interpolálja az összes megadott mennyiséget 2) A topologikus élek mentén a szomszédos pontpárok közé hordozófelület konstruálása 3) A hordozófelület segítségével a ponthálóba új pontok és mennyiségek beszúrása 4) 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