Felületi mennyiségek számítása 3D implicit felületeken automatikus differenciálással

Konzulens:
Sipos Ágoston
Tárgy:
Önálló laboratórium - Szoftverfejlesztés és rendszertervezés specializáció, BSc Info.
Önálló laboratórium 1 - Vizuális informatika főspecializáció, MSc Info.
Önálló laboratórium 2 - Vizuális informatika főspecializáció, MSc Info.
Hallgatói létszám:
1
Folytatás:
Szakdolgozat / Diplomaterv
PhD
TDK dolgozat
Leírás:
Azokat a felületeket nevezzük implicitnek, amelyeket egy, a tér pontjain értelmezett valós értékű függvény nullhelye határoz meg. Az x2+y2+z2 - 1 kifejezés például egy origó középpontú, egység sugarú gömböt reprezentál. Ez a típusú felületreprezentáció számos hasznos tulajdonsággal rendelkezik, és - a grafikai hardverek fejlődésének következtében - a jövőben várhatóan kiemelt szerepet kap a geometriai modellezésben.

Gyors megjelenítésükhöz ezeket a reprezentációkat háromszöghálóvá konvertáljuk, általában a Marching Cubes [1] ill. a Dual Contouring [2] algoritmusok egy változatával. Az így kapott háromszöghálók azonban gyakran rossz minőségűek, alkalmatlanok arra, hogy felületi mennyiségeket (normálvektor, görbület,...) jó közelítéssel becsüljünk belőlük.

Isophotes

Mivel azonban az implicit felületek esetén ismert a felület pontos egyenlete, lehetőségünk van a deriváltak pontos számítására, például az automatikus differenciálás módszerével. Ezáltal az egyes felületi pontokban a normálvektorok, görbület, stb. is pontosan meghatározhatók.

Feladat:
  1. Tanulmányozza az automatikus differenciálás módszerét, és készítsen egy implicit felületekre alkalmazható programkönyvtárat [3], vagy hasonló cikkek alapján
  2. Alkalmazza a könyvtárat implicit felületekből (Marching Cubes*, vagy Dual Contouring módszerrel) származó háromszöghálókon felületi mennyiségek (normálvektor, fő-, átlag- és Gauss-görbületek) számítására
  3. Készítsen grafikus felületű alkalmazást, melyben lehetséges az eredmény összevetése a közelítő formulákból származókkal, többféle színezéssel* (shading, isophotes, curvature map) megjeleníthető felületeken.
* Ezekhez a konzulens szolgáltat könyvtárakat.

Ajánlott irodalom:
[1] W.E. Lorensen. H.E. Cline, Marching cubes: A high resolution 3D surface construction algorithm. ACM SIGGRAPH Computer Graphics, Vol. 21(4), pp. 163-169, 1987.
[2] T. Ju, F. Losasso, S. Schaefer, J. Warren, Dual contouring of Hermite data. Proceedings of the 29th Annual Conference on Computer Graphics and Interactive Techniques, pp. 339-346, 2002.
[3] László Szirmay-Kalos: Higher Order Automatic Differentiation with Dual Numbers. Periodica Polytechnica Electrical Engineering and Computer Science, 2020. https://doi.org/10.3311/PPee.16341

Követelmények: alapismeretek a számítógépes grafikában, érdeklődés a 3D számítógépes geometria iránt, és programfejlesztési készség.