5.2. 5.2. Racionális B-szplájn-görbe

A racionális B-szplájn-görbék biztosítanak legtöbb alakmódosítási lehetőséget a tervezőnek a jelenleg használatos görbeleírási módszerek közül. A szakirodalomban a racionális B-szplájn szinonímájaként használják a NURBS (NonUniform Rational B-Spline) megnevezést. Ez valójában helytelen, hiszen a rövidítés jelentése „nem uniform racionális B-szplájn”, ami tehát az uniform B-szplájnokat kizárja. Bármennyire is helytelen, olyan mértékben elterjedt a használata, hogy reménytelen lenne megváltoztatását elérni.

A B-szplájn-görbét ugyanúgy általánosíthatjuk, mint a Bézier-görbét. Vagyis, például a B-szplájn síkgörbe nemracionális B-szplájn térgörbe origóból vett centrális vetülete a hipersíkon. A magasabb dimenziós térbeli nemracionális görbét a racionális görbe ősképének nevezzük. A pontos definíció a következő:

5.5. Definíció. Az , () térben az

kifejezéssel adott görbét –edfokú (–adrendű), racionális B-szplájn- (vagy NURBS) görbének nevezzük, ahol az –edik –edfokú normalizált B-szplájn alapfüggvényt jelöli, mely értelmezéséhez az , , , csomóértékek szükségesek. A pontokat kontroll- vagy de Boor–pontoknak, a skalárokat pedig súlyoknak nevezzük.

A szingularitások elkerülése érdekében csak nemnegatív súlyokat engedünk meg, és természetesen nem lehet minden súly nulla.

5.2.1. 5.2.1. A racionális B-szplájn-görbe tulajdonságai

A racionális B-szplájn-görbe örökli a nemracionális B-szplájn-görbe minden centrális vetítéssel szemben invariáns tulajdonságát. Az alábbiakban felsoroljuk az eddig még nem említett fontosabb tulajdonságokat, feltételezve, hogy a görbe rendje .

  • Ha az első és utolsó csomóérték multiplicitása , akkor a görbe kezdő-, illetve végpontja rendre az első, illetve utolsó kontrollpont lesz. Ezekben a pontokban az érintő a kontrollpoligon első, illetve utolsó oldalegyenese.

  • Lokálisan módosítható.

  • A görbe bármely íve darab kontrollpont () konvex burkában van, maga a görbe pedig ezek uniójában.

  • A racionális B-szplájn-görbét egy egyenes (vagy sík) legfeljebb annyi pontban metsz, mint kontrollpoligonját.

  • Ha az első és utolsó csomóérték multiplicitása és nincs ezektől különböző közbülső csomóérték, akkor speciális esetként a racionális Bézier-görbét kapjuk.

Ugyancsak a centrális vetítés következménye, de nem a nemracionális görbe tulajdonságának öröklődése, hogy a racionális B-szplájn-görbe kontrollpontjainak projektív transzformációjára nézve zárt, azaz a kontrollpontok projektív transzformáltja által meghatározott racionális B-szplájn-görbe megegyezik az eredeti görbe pontonkénti transzformáltjával. Ennek igazolása ugyanúgy történik, mint a racionális Bézier-görbe esetén (lásd az 5.3. tételt és az azt követő megjegyzéseket). DEMO: NURBS_curve.exe

5.2.2. 5.2.2. Racionális de Boor-algoritmus

A de Boor-algoritmus (lásd a 4.3. szakaszt) általánosítását a de Casteljau-algoritmus általánosításával analóg módon hajthatjuk végre.

A kontrollpontokkal, , súlyokkal és , csomóértékekkel meghatározott -edfokú

racionális B-szplájn-görbe valamely paraméteréhez tartozó pontját az

rekurzióval állíthatjuk elő, vagyis

5.2.3. 5.2.3. A racionális B-szplájn-görbe deriváltja

A racionális B-szplájn-görbék deriváltjának két formáját mutatjuk meg. Előbb a hodográfjukat írjuk fel a kontrollpontokkal, majd a de Boor-algoritmussal kapott pontok segítségével fejezzük ki a deriváltakat.

5.6. Tétel. Az

racionális B-szplájn-görbe deriváltja az helyen

alakban írható fel, ahol

és

Bizonyítás. Az jelölés bevezetésével a görbe feletti íve

alakban írható fel. deriváltja

A jelölés bevezetésével

Ezt a deriváltat

alakban akarjuk kifejezni, amihez meg kell keresnünk a függvényt. Megmutatjuk, hogy a

függvénnyel a derivált a kívánt alakban felírható.

aminek második összegzésén a indextranszformációt végrehajtva

Az (5.14) egyenlőséget felhasználva az (5.15)

alakra hozható, amihez a tagot hozzáadva és levonva a

kifejezést kapjuk. Azonban

az összegzésben szereplő szimmetrikus indexek miatt, ezért

Most állításunknak alakjára vonatkozó részét igazoljuk.

mivel a szimmetrikus indexek miatt

Ez a tétel azt is jelenti, hogy a racionális B-szplájn-görbe hodográfját a szomszédos kontrollpontok különbségének lineáris kombinációjaként fel tudjuk írni. A kombináló tényezőkről belátható, hogy nemnegatívak.

5.7. Tétel. Az

racionális B-szplájn-görbe deriváltja az helyen

alakban fejezhető ki az paraméternél felírt de Boor-algoritmus során kapott pontokkal.

Bizonyítás. Az

ívet leíró kifejezés számlálóját -val, nevezőjét -val jelölve , ahol és egy-egy nemracionális B-szplájn-görbének tekinthető. Az ív deriváltja

A 4.14. tételt felhasználva

Ezeket, és a de Boor-algoritmusból következő

egyenlőségeket behelyettesítve az (5.16) kifejezésbe

5.2.4. 5.2.4. Csomóérték beszúrása, fokszámnövelés

A 4.18. tételben ismertetett inzertáló algoritmus racionális változatát állítjuk elő. A kontrollpontjaival, súlyaival és csomóértékeivel meghatározott -edfokú racionális B-szplájn-görbén az , multiplicitású csomóérték – amely tehát lehet új csomóérték (), vagy már meglévő -szeres beszúrása a következő változtatásokat eredményezi:

Ennek segítségével a racionális B-szplájn-görbe racionális Bézier-pontjait is előállíthatjuk. Ehhez minden csomóértéket annyiszor kell beszúrnunk, hogy a multiplicitásuk legyen. Az inzertálások végrehajtása után az eredeti racionális B-szplájn-görbét racionális Bézier-görbékkel írhatjuk le.

A fokszámnöveléshez áttérünk az őskép rendszerébe, ahol valamelyik nemracionális fokszámnövelő algoritmussal elvégezzük a műveletet, majd az eredményt viszavetítjük a racionális görbe terébe.