4.2. 4.2. A B-szplájn-görbe és tulajdonságai

A B-szplájn-görbe a kontrollpontokból kiindulva

alakban írható fel. Meg kell azonban határoznunk az értelmezési tartományt, lehetséges értékeit és azt, hogy mely csomóértékekre van szükség. A 4.1. definíció következtében az függvényhez az csomóértékekre van szükség, ezért a (4.4) kifejezésben szereplő függvényekhez az csomóértékre.

Az értelmezési tartomány (paramétertartomány) meghatározásakor azt a célt tartjuk szem előtt, hogy a tartomány minden pontjához a (4.4) kifejezés tartalmazzon minden olyan függvényt, amely ott -tól különböző lehet. (Ez biztosítja, hogy a görbe bármely pontja kontrollpontok (nem feltétlenül az összes) konvex kombinációja legyen.) A 4.2. tétel következtében az paraméterértéknél csak az függvények lehetnek nullánál nagyobbak. Ezért minimális értéke lehet, a maximális pedig .

Annak érdekében, hogy a (4.4) kifejezés folytonos vonalat írjon le, -nek kell teljesülni. ( esetén a (4.4) kifejezés a kontrollpontokat eredményezi.) -ra van felső korlát is, mivel ahhoz, hogy értelmezési tartományról beszélhessünk -nek kell teljesülni, vagyis -nek.

Ezen megfontolások eredményeként kapjuk a B-szplájn-görbe formális definícióját.

4.10. Definíció. Az

kifejezéssel adott görbét -adrendű (-edfokú), B-szplájn-görbének nevezzük, a pontokat pedig kontrollpontoknak vagy de Boor-pontoknak. az -edik -edfokú normalizált B-szplájn alapfüggvényt jelöli, melyek értelmezéséhez az csomóértékek szükségesek.

Ha az csomóértékek különbözőek, akkor a B-szplájn-görbe általában egyetlen kontrollponton sem halad át. Kivételt képeznek azok az esetek, amikor a kontrollpontok kollineárisak, vagy ha . Az utóbbi esetben a kontrollpoligont kapjuk meg elsőfokú B-szplájn-görbeként.

Az alkalmazások során azonban jó, ha van némi támpont a görbe elhelyezkedésére, például ha ismerjük a kezdő- és végpontját úgy, mint a Bézier-görbék esetén. Ez a B-szplájn-görbénél is elérhető a csomóértékek megfelelő választásával. Ha ugyanis teljesül, akkor a (4.5) összeg az helyen

mivel , ha . Továbbá következtében , , ezért a 4.4. tétel miatt , tehát

vagyis a B-szplájn-görbe kezdőpontja a kontrollpont lesz. Mint láttuk, ez az értékétől függetlenül bekövetkezik, mindazonáltal az a szokás alakult ki, hogy módon választják meg a csomóértékeket a kezdőpontbeli interpoláláshoz, vagyis a legelső figyelembe veendő csomóérték multiplicitása lesz. Az csomóértéknek nincs hatása az függvényre az intervallumon, mivel a rekurzív definíciót felhasználva

aminek első tagja nulla, mivel , ha . Ennek következtében -nak egyáltalán nincs hatása a görbe alakjára.

4.6. ábra - Az Az u_{0},u_{1}=u_{2}=u_{3},u_{4} és u_{0}=u_{1}=u_{2}=u_{3},u_{4} csomóvektorokon értelmezett N_{0}^{4}\left(u\right) függvény az \left[u_{3},u_{4}\right] intervallumon megegyezik és Az u_{0},u_{1}=u_{2}=u_{3},u_{4} és u_{0}=u_{1}=u_{2}=u_{3},u_{4} csomóvektorokon értelmezett N_{0}^{4}\left(u\right) függvény az \left[u_{3},u_{4}\right] intervallumon megegyezik csomóvektorokon értelmezett Az u_{0},u_{1}=u_{2}=u_{3},u_{4} és u_{0}=u_{1}=u_{2}=u_{3},u_{4} csomóvektorokon értelmezett N_{0}^{4}\left(u\right) függvény az \left[u_{3},u_{4}\right] intervallumon megegyezik függvény az Az u_{0},u_{1}=u_{2}=u_{3},u_{4} és u_{0}=u_{1}=u_{2}=u_{3},u_{4} csomóvektorokon értelmezett N_{0}^{4}\left(u\right) függvény az \left[u_{3},u_{4}\right] intervallumon megegyezik intervallumon megegyezik

Az u_{0},u_{1}=u_{2}=u_{3},u_{4} és u_{0}=u_{1}=u_{2}=u_{3},u_{4} csomóvektorokon értelmezett N_{0}^{4}\left(u\right) függvény az \left[u_{3},u_{4}\right] intervallumon megegyezik

A 4.6. ábra esetére szemlélteti az függvénynek ezt a tulajdonságát. Látható, hogy az csomóértékekkel adott B-szplájn alapfüggvény az intervallumon megegyezik az csomóértékekkel adott függvénnyel. A különbség az, hogy amikor csomóérték egybeesik, akkor -nál szakadása van a függvénynek, míg a másik esetben folytonos. A végpontbeli interpolációhoz hasonló indokok következtében az a szokásos csomóérték-választás (bár már az is elég lenne, mivel -nak nincs hatása a görbe alakjára).

4.7. ábra - Harmadfokú B-szplájn-görbét alkotó ívek. Harmadfokú B-szplájn-görbét alkotó ívek. u_{1} és u_{8} multiplicitása 3 , ezért a görbe kezdőpontja \mathbf{d}_{0} , végpontja \mathbf{d}_{7} és Harmadfokú B-szplájn-görbét alkotó ívek. u_{1} és u_{8} multiplicitása 3 , ezért a görbe kezdőpontja \mathbf{d}_{0} , végpontja \mathbf{d}_{7} multiplicitása Harmadfokú B-szplájn-görbét alkotó ívek. u_{1} és u_{8} multiplicitása 3 , ezért a görbe kezdőpontja \mathbf{d}_{0} , végpontja \mathbf{d}_{7}, ezért a görbe kezdőpontja Harmadfokú B-szplájn-görbét alkotó ívek. u_{1} és u_{8} multiplicitása 3 , ezért a görbe kezdőpontja \mathbf{d}_{0} , végpontja \mathbf{d}_{7}, végpontja Harmadfokú B-szplájn-görbét alkotó ívek. u_{1} és u_{8} multiplicitása 3 , ezért a görbe kezdőpontja \mathbf{d}_{0} , végpontja \mathbf{d}_{7}

Harmadfokú B-szplájn-görbét alkotó ívek. u_{1} és u_{8} multiplicitása 3 , ezért a görbe kezdőpontja \mathbf{d}_{0} , végpontja \mathbf{d}_{7}

A 4.5) kifejezéssel adott B-szplájn-görbe -edfokú ívekből áll, melyek a csomóértékekhez tartozó pontokban kapcsolódnak egymáshoz, lásd a 4.7. ábrát. A kapcsolódás folytonosságának rendjét a 4.5. szakaszban vizsgáljuk.

A normalizált B-szplájn alapfüggvények korábban bebizonyított tulajdonságai alapján könnyen beláthatjuk a 4.10. definíció szerinti B-szplájn-görbe néhány tulajdonságát.

4.11. Tétel. A B-szplájn-görbe lokálisan változtatható, azaz valamely kontrollpont pozíciójának megváltoztatása nem eredményezi a teljes görbe alakjának változását.

Bizonyítás. A 4.10. definíció és a 4.2. tétel következtében a kontrollpontnak csak intervallumon van befolyása a görbe alakjára.

4.8. ábra - A A \mathbf{d}_{4} kontrollpont elmozdításakor a harmadfokú B-szplájn-görbének csak az \left[u_{4},u_{8}\right] fölötti része változik meg kontrollpont elmozdításakor a harmadfokú B-szplájn-görbének csak az A \mathbf{d}_{4} kontrollpont elmozdításakor a harmadfokú B-szplájn-görbének csak az \left[u_{4},u_{8}\right] fölötti része változik meg fölötti része változik meg

A \mathbf{d}_{4} kontrollpont elmozdításakor a harmadfokú B-szplájn-görbének csak az \left[u_{4},u_{8}\right] fölötti része változik meg

A lokális módosíthatóságot illusztrálja a 4.8. ábra. A lokális hatásnak fontos következménye, hogy a B-szplájn-görbe – a Bézier-görbével ellentétben – tartalmazhat egyenes szakaszt akkor is, ha nem minden kontrollpontja kollineáris (lásd a 4.9. ábrát). DEMO: B_spline_curve.exe

4.9. ábra - Két szakasz, és azokat lekerekítő parabolaív leírása egyetlen másodfokú B-szplájn-görbeként. A csomóvektor Két szakasz, és azokat lekerekítő parabolaív leírása egyetlen másodfokú B-szplájn-görbeként. A csomóvektor \left\{ 0,0,0,1,1,2,2,3,3,3\right\} , \mathbf{d}_{1} bárhol lehet a \mathbf{d}_{0},\mathbf{d}_{2} szakaszon, \mathbf{d}_{5} pedig a \mathbf{d}_{4},\mathbf{d}_{6} szakaszon, Két szakasz, és azokat lekerekítő parabolaív leírása egyetlen másodfokú B-szplájn-görbeként. A csomóvektor \left\{ 0,0,0,1,1,2,2,3,3,3\right\} , \mathbf{d}_{1} bárhol lehet a \mathbf{d}_{0},\mathbf{d}_{2} szakaszon, \mathbf{d}_{5} pedig a \mathbf{d}_{4},\mathbf{d}_{6} szakaszon bárhol lehet a Két szakasz, és azokat lekerekítő parabolaív leírása egyetlen másodfokú B-szplájn-görbeként. A csomóvektor \left\{ 0,0,0,1,1,2,2,3,3,3\right\} , \mathbf{d}_{1} bárhol lehet a \mathbf{d}_{0},\mathbf{d}_{2} szakaszon, \mathbf{d}_{5} pedig a \mathbf{d}_{4},\mathbf{d}_{6} szakaszon szakaszon, Két szakasz, és azokat lekerekítő parabolaív leírása egyetlen másodfokú B-szplájn-görbeként. A csomóvektor \left\{ 0,0,0,1,1,2,2,3,3,3\right\} , \mathbf{d}_{1} bárhol lehet a \mathbf{d}_{0},\mathbf{d}_{2} szakaszon, \mathbf{d}_{5} pedig a \mathbf{d}_{4},\mathbf{d}_{6} szakaszon pedig a Két szakasz, és azokat lekerekítő parabolaív leírása egyetlen másodfokú B-szplájn-görbeként. A csomóvektor \left\{ 0,0,0,1,1,2,2,3,3,3\right\} , \mathbf{d}_{1} bárhol lehet a \mathbf{d}_{0},\mathbf{d}_{2} szakaszon, \mathbf{d}_{5} pedig a \mathbf{d}_{4},\mathbf{d}_{6} szakaszon szakaszon

Két szakasz, és azokat lekerekítő parabolaív leírása egyetlen másodfokú B-szplájn-görbeként. A csomóvektor \left\{ 0,0,0,1,1,2,2,3,3,3\right\} , \mathbf{d}_{1} bárhol lehet a \mathbf{d}_{0},\mathbf{d}_{2} szakaszon, \mathbf{d}_{5} pedig a \mathbf{d}_{4},\mathbf{d}_{6} szakaszon

4.12. Tétel. A -edfokú B-szplájn-görbe bármely íve a görbe darab kontrollpontjának konvex burkában van.

Bizonyítás. A 4.10. definíció, valamint a 4.2. tétel miatt a görbe -edik íve

alakban írható fel. Ehhez hozzávéve a 4.3. és 4.4. tételek eredményeit azt kapjuk, hogy az ív pontjai a kontrollpontok összegű nemnegatív lineáris kombinációja. Tehát a kontrollpontok konvex burkában van.

Maga a görbe pedig ezek uniójában van, ami általában nem lesz konvex halmaz, de a fokszámtól függően, egy szűkebb-bővebb tartományt határoz meg, amin kívül nem lehet a görbe. esetén a kontrollpoligon a konvex burkok uniója, és a fokszám növelésével a görbe egyre kevésbé követi a kontrollpoligon alakját (lásd a 4.10. ábrát).

4.10. ábra - Egybevágó kontrollpoligonú, különböző rendű B-szplájn-görbék, és az íveket meghatározó kontrollpontok konvex burkai

Egybevágó kontrollpoligonú, különböző rendű B-szplájn-görbék, és az íveket meghatározó kontrollpontok konvex burkai