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.
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
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
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.
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.
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.
í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
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.