Algoritmusok és adatszerkezetek elemzése II. Görbék reprezentációi
Tartalomjegyzék Sima szabadformájú görbék Bézier görbék Bernstein bázisban Bézier görbék Hermite bázisban PH görbék komplex alakja RPH görbék duális alakja
A feladat Görbék számítógépes és matematikai reprezentációja
A feladat Több célból is szükséges: Műveletek végzése Megjelenítés
Reprezentációs lehetőségek Explicit alak: y = f(x) Probléma: az értelmezési tartomány az ábrázolt tér része Gyakorlatban nem használt reprezentációra modellező rendszerekben Visszaforduló függvény nem írható le explicit alakban: Y X
Reprezentációs lehetőségek Implicit egyenlet: f(x, y) = 0 Tekinthető úgy is, mint a sík/tér pontjaihoz rendelt valós potenciálfüggvény – ekkor a görbe az egyik szinthalmaz ({(x,y) | f(x,y) = c}) Speciális esetben a potenciaérték a görbétől vett távolság is lehet Gyakorlatban is használják, azonban az implicit függvények megjelenítése költséges
Reprezentációs lehetőségek Parametrikus alak: r(t) = (x(t), y(t)) Egy dimenziós értelmezési tartományból képezünk a síkra/térre Modellező rendszerekben a legelterjedtebb Megjelenítés, pontok kiértékelése egyszerű Pont-görbe távolság meghatározása bonyolult (gyökkeresés)
Reprezentációs lehetőségek Parametrikus alak: r(t) = (x(t), y(t))
Parametrikus alak A hagyományos hatványbázis nem mindig a legjobb választás Tömörebb, kézzel foghatóbb görbemegadás is lehetséges más bázisban
Reprezentációs lehetőségek Procedurális alak: egy görbe vagy felület olyan matematikai leírása: amelynek belső függvénye egy vagy több görbe vagy felület, vagy amelynek kiértékelése iteráciot tartalmaz.
Tartalomjegyzék Sima szabadformájú görbék Bézier görbék Bernstein bázisban Bézier görbék Hermite bázisban PH görbék komplex alakja RPH görbék duális alakja
Berstein bázis A Bernstein bázis Weierstrass approximációs tételének egyik konstruktív bizonyítása is alkalmazza őket approximáló függvények létrehozására Bézier görbe Bernstein bázisban:
Bézier görbék Berstein bázisban A Pi együtthatók szemléletes jelentése
Bézier görbék Berstein bázisban Kedvező tulajdonságok: Affin invariancia Affin paramétertranszformációra invariáns Konvex héj tulajdonság Végpontok interpolálása Baricentrikus kombinációra invariáns Lokális jellegű változtatás ...
Bézier görbék Berstein bázisban Hatékonyan kiértékelhető: Közvetlenül is A de Casteljau algoritmussal (rekurzív lineáris interpoláció) is: Sőt, de Casteljau esetén a deriváltakat is megkapjuk
Bézier görbék Berstein bázisban Deriváltak is Bernstein bázisban felírható görbék (hodográfok): A Bernstein bázisfüggvények deriváltjai miatt:
Tartalomjegyzék Sima szabadformájú görbék Bézier görbék Bernstein bázisban Bézier görbék Hermite bázisban PH görbék komplex alakja RPH görbék duális alakja
Hermite interpolációs feladat Harmadfokú feladat: Keressük azt a harmadfokú polinom görbét, amely végpontjaiban interpolálja a bemeneti adatként adott p1, p2 pozíció és m1, m2 derivált adatokat Klasszikus módszerek vannak a kiszámítására A fenti adatok alkotják a reprezentációt, általánosan: .
Hermite interpolációs feladat A fenti adatok segítségével egyszerűen adódik a Bernstein bázisbeli reprezentációja a megoldásgörbének:
Hermite interpolációs feladat A Bernstein és a Hermite bázis közötti összefüggés is levezethető ebből:
Hermite interpolációs feladat Alkalmazásokban Bernstein bázisra térnek inkább át: A modellező rendszerekben a Bézier görbék az alap reprezentáció A Hermite bázis nem invariáns az affin paramétertranszformációkra:
Tartalomjegyzék Sima szabadformájú görbék Bézier görbék Bernstein bázisban Bézier görbék Hermite bázisban PH görbék komplex alakja RPH görbék duális alakja
Síkgörbék Reguláris parametrikus síkgörbék: A görbe parametrikus sebessége Ekkor a görbe deriváltja 23
Görbe és hodográfja 24
Síkgörbék Polinomiális görbe offszetje nem polinom és nem is racionális polinom Kérdés: Létezik-e a polinomoknak egy olyan részhalmaza, ahol a normális “szép” alakban felírható? Másképp: Paraméterezhető-e a polinomok egy részhalmaza “szépen” (az ívhossz függvényében)? 25
Egy negatív eredmény Tétel (Farouki): Következmények: Az egyenesen kívül egyetlen síkgörbe sem paraméterezhető az ívhosszának racionális polinom függvényeként. Következmények: Egyenletes sebességgel való paraméterezés nem lehetséges Ívhosszra zárt alak: Másodfokú görbénél adható logaritmikus tagokkal Harmadfokú görbéknél már csak elliptikus függvény tagokkal Negyedfok és afölött nem adható
Pitagoraszi hodográf görbék Az n-edfokú egész polinomiális görbék egy olyan részhalmaza, amelyek hodográfja teljesíti a következő Pitagoraszi összefüggést valamilyen egész polinomra: Ekkor az ívhossz polinom: 27
Pitagoraszi hodográf görbék Tétel: az a(t), b(t), c(t) polinomok akkor és csak akkor teljesítik az feltételt, ha felírhatóak u(t), v(t) relatív prím polinomok segítségével a következő alakban: 28
Pitagoraszi hodográf görbék A PH görbék teljesítik tehát a következőt: Feltehetjük, hogy u(t) és v(t) Bernstein bázisban adott függvények Például ha lineárisak:
Pitagoraszi hodográf görbék Előnyök: Az offszet 2n-1-edfokú racionális polinomiális görbe Pontos offszet reprezentáció Az ívhossz egész polinom Hátrányok: Egy n-edfokú PH görbének n-2 szabadsági foka van Speciális tulajdonságok (harmadfokú PH görbének nem lehet inflexiós pontja) Gyakorlati alkalmazásokhoz magasabb fokszámú görbék szükségesek
Pitagoraszi hodográf görbék A harmadfokú PH görbe így néz ki Bernstein bázisbeli koordinátákkal:
Pitagoraszi hodográf görbék Az ötödfokú PH görbe így néz ki Bernstein bázisbeli koordinátákkal:
Komplex reprezentáció Azonosítjuk a síkot a komplex síkkal az (x,y) x + i*y bijekcióval A pontok között a komplex és vektorok közti műveleteket is engedélyezve: A kör leírható a következő alakban:
Komplex reprezentáció A komplex Bézier görbére Továbbra is teljesülnek a valós eset tulajdonságai
Komplex reprezentáció Különböztessük meg a görbe és a hodográfjának komplex síkját – áttérés a kettő között szögtartó leképezésekkel! A görbe hodográfja a következő alakú
Komplex reprezentáció A két komplex sík közötti áttérésre a leképezést használjuk, ami másképp kiírva Ez w = 0-ban nem szög-tartó, azonban mi csak reguláris görbékkel foglalkozunk
Komplex reprezentáció A PH görbénk vezérlőpontjait a hodográf alapján a következő rekurzív képlettel megkaphatjuk (p0 tetszőleges):
Komplex reprezentáció Így a harmadfokú PH görbe ha Az ötödfokú pedig
Pitagoraszi hodográf görbék Az ötödfokú PH görbe így néz ki Bernstein bázisbeli koordinátákkal:
Tartalomjegyzék Sima szabadformájú görbék Bézier görbék Bernstein bázisban Bézier görbék Hermite bázisban PH görbék komplex alakja RPH görbék duális alakja
Racionális pitagoraszi hodográf görbék Pottmann vizsgálta azt a racionális görbeosztályt, amely zárt az offszetre A racionális görbéket a tangens egyeneseik burkolójaként írta fel: Ahol h(t) az előjeles távolságfüggvény az origótól, az n(t) pedig az egység normális vektor, amely a következő alakú: We use the normal equation of the tangent lines Generalization by using the projective dual representation of rational Bezier curves 41 41
Racionális pitagoraszi hodográf görbék Előnyök: Zárt reprezentáció az offszetre Fokszámban is zárt az offszetre: (n, m)-edfokú RPH görbe offszetje (n, m)-edfokú RPH görbe Hátrányok: Magas fokszám ( (4,4)-edfokú RPH és (2,2)-edfokú racionális görbék) Az ívhossz már nem írható fel elemi függvények segítségével zárt alakban
Racionális pitagoraszi hodográf görbék Tétel (Pottmann) Az RPH görbék racionális számokkal vett offszetgörbéinek evolútái pontosan azok a racionális görbék, amelyek ívhossza a paraméter racionális függvényeként felírható.
Racionális pitagoraszi hodográf görbék Ez parametrikusan az alkotó függvények segítségével a következőt adja az (x,y) koordinátákra:
Racionális pitagoraszi hodográf görbék A h(t) = e(t)/f(t) mellett ez a következőt adja homogén koordinátákban:
Racionális pitagoraszi hodográf görbék Mindez duális vonalkoordinátás reprezentációban (u0x0 + u1x1 + u2x2 = 0):
Duális Bézier reprezentáció Kontrollpontok helyett kontrollegyenesek vannak A pont-egyenes dualitást használja ki Ez, a komplex esethez hasonlóan, kezelhetőbbé teszi matematikailag a problémákat
Összefoglalás Sima szabadformájú görbék Bézier görbék Bernstein bázisban Bézier görbék Hermite bázisban PH görbék komplex alakja RPH görbék duális alakja