5. fejezet - Racionális görbék

Kezdetben a CAD rendszerek különböző célokra más-más görbe- és felületleírást használtak, így kúpszeleteket és másodrendű felületeket, Bézier-görbéket és felületeket, valamint szplájnokat. Felmerült az igény olyan görbe- és felületleírásra, amellyel a korábban kifejlesztett rendszerekben használt görbék és felületek egységesen írhatók le. Ez a leírás a racionális görbe és felület lett, ezen belül is elsősorban a racionális B-szplájn-görbe és felület. Ezeket szokás NURBS görbéknek és felületeknek is nevezni (Nonuniform Rational B-spline).

Bár az első nagyobb nyilvánosságot kapott publikációk a 70-es évek elején jelentek meg, a racionális B-szplájn-görbék és -felületek már a 90-es évekre a geometriai modellezőrendszerek és a különböző rendszerek közötti adatátvitelnek a de facto szabványaivá váltak.

5.1. 5.1. Racionális Bézier-görbe

Egy kontrollpont hatásának növelése úgy is elérhető, hogy a kontrollpont multiplicitását növeljük (a kontrollpontot egymást követően többször adjuk meg). Alternatív megoldás, hogy a kontrollpontokat egy-egy skalárral megszorozzuk, súlyozzuk őket.

5.1. Definíció. A

kifejezéssel adott görbét -edrendű racionális Bézier-görbének nevezzük. A , (), pontokat a görbe kontrollpontjainak, az általuk meghatározott poligont kontrollpoligonnak, a skalárokat pedig súlyoknak nevezzük.

Síkgörbe esetén a definíció szemléletes megközelítése a következő: A háromdimenziós tér koordináta-rendszerében adott az -edrendű Bézier-görbe kontrollpontjaival. Ezt a görbét vetítjük az origóból a síkra. A vetületgörbét -edrendű racionális Bézier-görbének nevezzük, a nemracionális görbét pedig ősképének. A görbét kontrollpontjai és súlyai határozzák meg. A dimenziószámokat eggyel növelve a térbeli racionális Bézier-görbét kapjuk.

Az a tény, hogy a racionális Bézier-görbéhez az eggyel magasabb dimenziójú térben mindig van olyan nemracionális Bézier-görbe, amelynek centrális vetülete a racionális görbe, megkönnyíti a racionális Bézier-görbék tulajdonságainak bizonyítását. Az (5.1) kifejezésben a kontrollpontokat a paraméter racionális függvényeivel (polinomok hányadosával) szorozzuk meg, innen ered a racionális görbe elnevezés.

Látható, hogy az 5.1. definíció a nemracionális Bézier-görbe általánosítása, ugyanis esetén az (5.1) kifejezésben a súlyokkal egyszerűsíthetünk, így a

kifejezést kapjuk, amiben a nevező .

Negatív súlyok esetén szingularitások léphetnek fel, ezért csak nemnegatív súlyokat szokás megengedni. Szingularitás akkor lép fel, ha az (5.1) nevezője eltűnik, azaz valamely -re. Ez azt jelenti, hogy van olyan pont, amelynek vetülete végtelen távoli pont lesz.

A konstrukcióból az is nyilvánvaló, hogy a súlyok csak arányosság erejéig meghatározottak, hiszen a és , súlyok ugyanarra az eredményre vezetnek. Ez azt jelenti, hogy bármely racionális Bézier-görbe végtelen sok nemracionális Bézier-görbe centrális vetületeként előállítható. A racionális Bézier-görbe azonban súlyainak másfajta transzformációjára nézve is invariáns.

5.2. Tétel. A kontrollpontok és , súlyok ugyanazt a racionális Bézier-görbét írják le, mint a kontrollpontok és , , súlyok.

Bizonyítás. Megmutatjuk, hogy a súlyoknak ez a transzformációja egyenértékű a paramétertartomány tört lineáris transzformációjával, ami megengedett paramétertranszformáció, tehát a görbe alakját nem változtatja meg. Tekintsük a adatokkal meghatározott

racionális Bézier-görbét! Az értelmezési tartományt önmagára képezzük le az

tört lineáris transzformációval. Az következtében és , következtében pedig . Ezeket felhasználva az (5.2)

alakban írható fel. Annak érdekében, hogy legyen esetén, az

egyenlőtlenségnek is teljesülnie kell, amiből , azaz következik. A fentiek alapján

és

A racionális Bézier-görbe pedig

amiből helyettesítéssel a tétel igazolását nyerjük.

Ez a tétel azt is jelenti, hogy a racionális Bézier-görbe invariáns a paramétertartomány olyan tört lineáris transzformációjával szemben, amely az intervallum pontjaihoz végesben fekvő pontokat rendel. Ez akkor teljesül, ha az (5.2) nevezője nem tűnik el. A tört lineáris paramétertranszformációt projektív paramétertranszformációnak is nevezzük, mivel geometriailag az egyenes önmagára való projektív transzformációját jelenti.

A tétel további következménye, hogy a racionális Bézier-görbe súlyai mindig transzformálhatók – a görbe alakjának megtartása mellett – úgy, hogy tetszőlegesen kiválasztott két (pozitív) súly legyen. Válasszuk ki a és súlyokat! Azt akarjuk elérni, hogy

legyen, amiből

következik. Ezzel az -val végrehajtva az 5.2. tétel szerinti transzformációt

A reciprokával megszorozva az összes súlyt, a kívánt eredményt kapjuk.

Ha és , akkor

amiből következik. Tehát a állapot mindig elérhető, amit standard alaknak nevezünk, és gyakran használunk.

5.1.1. 5.1.1. Tulajdonságok

Az (5.1) görbe alapfüggvénye a

racionális függvény. Ezt megvizsgálva látható, hogy

  • az alapfüggvények nemnegatívak, mivel a súlyok és a Bernstein-polinomok nemnegatívak;

  • az alapfüggvények összege , mivel

A fentiek következménye, hogy a racionális Bézier-görbe a kontrollpontok olyan lineáris kombinációja, ahol az együtthatók nemnegatívak, és összegük . Tehát konvex lineáris kombinációról van szó, amiből a konvex burok tulajdonság következik, azaz a racionális Bézier-görbe kontrollpontjainak konvex burkában van. (Ne feledjük, hogy csak nemnegatív súlyokat engedtünk meg !)

A centrális vetítéssel való származtatásból következően átöröklődnek a nemracionális Bézier-görbe olyan tulajdonságai is mint a

  • szimmetria, azaz a ; és ; adatok ugyanazt a racionális Bézier-görbét határozzák meg;

  • globális változtathatóság, vagyis bármely kontrollpont helyzetének megváltoztatása a teljes görbe alakjának változását eredményezi;

  • végpontbeli interpoláció, azaz és ;

  • kezdő-, illetve a végpontban a görbe érintője a kontrollpoligon első, illetve utolsó oldala;

  • konvex burok tulajdonság, azaz a görbe kontrollpontjainak konvex burkában van;

  • hullámzáscsökkentő tulajdonság, azaz a görbét bármely egyenes vagy sík legfeljebb annyi pontban metszi, mint kontrollpoligonját;

  • a paraméter affin transzformációjával szembeni invariancia, vagyis ha a intervallumról a paramétertranszformációval áttérünk az intervallumra, a görbe alakja nem változik. (Ez a tulajdonság természetesen a projektív paramétertranszformációval szembeni invarianciából is következik.)

A racionális Bézier-görbék elterjedéséhez az is hozzájárult, hogy egzaktul leírhatók velük a kúpszeletek. További fontos előnye, hogy a racionális Bézier-görbe centrális vetülete, illetve általában projektív transzformáltja, is racionális Bézier-görbe.

5.3. Tétel. A racionális Bézier-görbe kontrollpontjainak projektív transzformációjára nézve zárt.

Bizonyítás. Az , () térbeli racionális Bézier-görbe projektív transzformációját -es mátrixszal írhatjuk le. Az dimenziós őskép terében ez affin transzformáció, melyre nézve a nemracionális Bézier-görbe zárt. A transzformált őskép centrális vetülete - mely racionális Bézier-görbe - lesz az eredeti görbe transzformáltja.

A gyakorlatban ez azt jelenti, hogy a kontrollpontjaival és súlyaival adott racionális Bézier-görbét alávetjük az mátrixszú projektív transzformációnak. A transzformációt az őskép terében (homogén koordinátákban) hajtjuk végre, azaz a pontokat transzformáljuk,

amit a hipersíkra vetítve

Ezt minden olyan esetben el tudjuk végezni, amikor , vagyis a transzformáció során nem végtelen távoli pontba megy át. Az 5.3. tételnek igen fontos következménye, hogy a racionális Bézier-görbe centrális (perspektív) vetülete is racionális Bézier-görbe lesz. Tehát elegendő csak a kontrollpontokat levetíteni a képsíkra, mert a kontrollpontok vetülete által meghatározott görbe megegyezik a görbe vetületével.

A racionális Bézier-görbénél a súly a görbe alakjának változtatására szolgál. A súly növelése azt eredményezi, hogy a görbe közelebb kerül a kontrollponthoz, azaz a súly a kontrollpont felé húzza a görbét. Hasonló hatással van a Bézier-görbére a kontrollpont multiplicitásának növelése is azonban, mint azt az 5.1. ábrán láthatjuk, van eltérés a kettő között.

5.1. ábra - A kontrollpont súlyának és multiplicitásának hatása a görbe alakjára

A kontrollpont súlyának és multiplicitásának hatása a görbe alakjára

5.1.2. 5.1.2. A kúpszeletek leírása

Ebben a szakaszban a kúpszeletíveket fogjuk leírni másodfokú racionális Bézier-görbeként.

A másodfokú racionális Bézier-görbe

alakját tekintjük és megvizsgáljuk, hogy milyen súlyok esetén kapunk ellipszist, hiperbolát, illetve parabolát. Azt utóbbit persze már tudjuk, mivel megegyező súlyok esetén az (5.3) görbéből Bézier-görbe lesz, ami parabolaív.

Most megvizsgáljuk, hogyan határozhatók meg a racionális forma súlyai, ha ismerjük a kúpszeletív kezdő- és végpontját, egy közbülső pontot, valamint a kezdő- és végpontbeli érintők végesben lévő metszéspontját. Jelölje ezeket rendre és (lásd az 5.2. ábrát). A jelölést bevezetve, a kúpszelet pontjára

teljesül valamely paraméterértéknél.

5.2. ábra - A A \mathbf{b}_{0} kezdő- és \mathbf{b}_{2} végpontjával, az ezekbeli érintők \mathbf{b}_{1} metszéspontjával, valamint az \mathbf{a} közbülső ponttal adott kúpszeletív kezdő- és A \mathbf{b}_{0} kezdő- és \mathbf{b}_{2} végpontjával, az ezekbeli érintők \mathbf{b}_{1} metszéspontjával, valamint az \mathbf{a} közbülső ponttal adott kúpszeletív végpontjával, az ezekbeli érintők A \mathbf{b}_{0} kezdő- és \mathbf{b}_{2} végpontjával, az ezekbeli érintők \mathbf{b}_{1} metszéspontjával, valamint az \mathbf{a} közbülső ponttal adott kúpszeletív metszéspontjával, valamint az A \mathbf{b}_{0} kezdő- és \mathbf{b}_{2} végpontjával, az ezekbeli érintők \mathbf{b}_{1} metszéspontjával, valamint az \mathbf{a} közbülső ponttal adott kúpszeletív közbülső ponttal adott kúpszeletív

A \mathbf{b}_{0} kezdő- és \mathbf{b}_{2} végpontjával, az ezekbeli érintők \mathbf{b}_{1} metszéspontjával, valamint az \mathbf{a} közbülső ponttal adott kúpszeletív

Az pontot a és pontokra vonatkoztatott baricentrikus koordinátákkal is meghatározhatjuk. Ha adott a síkon három nem kollineáris pont, akkor a sík bármely pontja egyértelműen felírható ezen három pont – a pontok valamely Descartes-féle koordináta-rendszerben vett helyvektorainak – lineáris kombinációjaként úgy, hogy a lineáris kombinációban az együtthatók összege . Ezeket a koordinátákat baricentrikus koordinátáknak nevezzük. Az 5.2. ábra pontja

alakban írható fel a pontok baricentrikus kombinációjaként. Ez az ismeretlen -kre nézve inhomogén lineáris egyenletrendszer, amit a Cramer-szabállyal megoldhatunk, mivel a pontok nem kollineárisak, ezért

Ennek szép geometriai jelentése van. A csúcspontú háromszög területe ugyanis

alakban írható fel, ezért

és ezzel analóg módon állítható elő. Ha az pont a háromszög belső pontja, akkor a együtthatók pozitívak. Az (5.4) és az (5.5) egyenlőségekben a pontok együtthatóinak meg kell egyezniük, ezért a

egyenlőségeket kapjuk. Az elsőből -t, a harmadikból -t kifejezve és a másodikba behelyettesítve

Standard alakot ( ) választva, a hiányzó súly

Ezek után megvizsgáljuk, hogy milyen kapcsolat van a súly és a kúpszelet típusa (ellipszis, hiperbola, parabola) között. A kúpszeleteket valós végtelen távoli pontjaik száma szerint osztályozhatjuk. Az általunk vizsgált íven nem lehet végtelen távoli pont, mivel az ív a háromszögön belül van, ezért a komplementerívét kell tekintenünk. A komplementerívet a súly választásával kapjuk, azaz

Ennek a görbének azon értéknél van végtelen távoli pontja, ahol a nevező eltűnik, vagyis

Ennek a másodfokú egyenletnek a diszkriminánsa

Tehát esetén egy; esetén kettő és esetén nulla végtelen távoli pontja van a görbének, azaz ha

Vizsgáljuk meg az ellipszisív speciális eseteként adódó körívet! Ehhez az 5.3. ábra szerinti origó középpontú középponti szögű () sugarú körívet tekintjük, melynek kontrollpontjai

5.3. ábra - Az Az x tengelyre szimmetrikus, 2\alpha<\pi középponti szögű körív és kontrollpontjai tengelyre szimmetrikus, Az x tengelyre szimmetrikus, 2\alpha<\pi középponti szögű körív és kontrollpontjai középponti szögű körív és kontrollpontjai

Az x tengelyre szimmetrikus, 2\alpha<\pi középponti szögű körív és kontrollpontjai


A szimmetriaviszonyok miatt a görbe a értéknél az ponton megy át, tehát

ahonnan

A kapott eredmény független a körív helyzetétől, vagyis tetszőleges helyzetű középponti szögű körív esetén .

5.1.3. 5.1.3. Racionális de Casteljau-algoritmus

A kontrollpontokkal és súlyokkal adott racionális Bézier-görbe paraméterhez tartozó pontjának meghatározásakor az egyik elképzelhető megoldás az, hogy a homogén koordinátákkal definiált ősképnek a de Casteljau-algoritmussal meghatározzuk a -hez tartozó pontját, majd ennek a pontnak a centrális vetületét. Ez az eljárás rendkívül egyszerű, azonban numerikusan instabil, különösen akkor, ha a értékek nagyon különböznek egymástól.

Ennél munkaigényesebb, de pontosabb eredményre vezet, ha a görbére alkalmazva a de Casteljau-algoritmust, minden közbülső pontot levetítünk a hipersíkra. Ezt az algoritmust nevezzük racionális de Casteljau-algoritmusnak. Az -edik lépésben a közbülső pontokra

és .

Ezzel az algoritmussal, csakúgy mint a nemracionális megfelelőjével (lásd a 3.6. szakaszt), a görbe kettévágható két, az eredetivel megegyező fokszámú görbére.

5.1.4. 5.1.4. A racionális Bézier-görbe deriváltja

A kontrollpontjaival, súlyaival adott racionális Bézier-görbe az

és

jelölés mellett

alakban írható fel. Az

-edrendű deriváltja

alakban írható fel, amiből a

rekurzív formulát kapjuk a racionális Bézier-görbe -edik deriváltjára. Az esetekre

Ezeknek a , illetve a helyen vett helyettesítési értéke

A nemracionális esethez hasonlóan, a racionális Bézier-görbe deriváltja is kifejezhető a racionális de Casteljau-algoritmus során kapott pontokkal.

5.4. Tétel. A

racionális Bézier-görbe deriváltja

formában írható fel a racionális de Casteljau-algoritmussal kapott pontokkal.

Bizonyítás. Az (5.7) és az (5.8) jelölést használva . és nemracionálisak, ezért rájuk alkalmazható a (3.7) deriválási formula, amiből

Ezeket behelyettesítve az (5.9) kifejezésbe

és , ezért

az (5.6) alapján

amit behelyettesítve az előző egyenletbe, egyszerűsítés után

Az (5.6) egyenletekből következően

amit a jobb oldalon behelyettesítve, majd a kifejezést egyszerűsítve

A racionális Bézier-görbék tetszőleges rendű deriváltjára jelenleg nem ismert zárt formula, de természetesen a deriváltak léteznek, és egymást követő deriválásokkal mindig felírhatók, csak nagyon bonyolulttá válnak. A másod- és harmadrendű deriváltak még viszonylag egyszerűek és segítségükkel felírható a görbe tetszőleges pontjában a görbület és torzió.

5.1.5. 5.1.5. Fokszámnövelés

Tekintsük a kontrollpontokkal és súlyokkal meghatározott -edrendű racionális Bézier-görbét! Ezen a görbén fokszámnövelést hajtunk végre, azaz meghatározzuk annak az -edrendű racionális Bézier-görbének a kontrollpontjait és súlyait, amely az eredeti görbét írja le.

A fokszámnövelést az őskép terében hajtjuk végre a 3.8. szakasz szerint, majd az eredményt levetítjük a hipersíkra. Ezek alapján