9. fejezet - Bézier- és B-szplájn-felületek

A 7.3. szakaszban általánosan bevezettük a görbék tenzori szorzataként előállítható felületeket. Ebben a fejezetben ezen felületosztály két legismertebb tagját a Bézier- és B-szplájn-felületet ismertetjük részletesebben.

9.1. 9.1. Bézier-felület

9.1. ábra - Bézier-felület létrehozása Bézier-felület létrehozása \left(n=2,m=3\right) ; az \mathbf{a}_{i} kontrollpontok pályagörbéit adjuk meg; az Bézier-felület létrehozása \left(n=2,m=3\right) ; az \mathbf{a}_{i} kontrollpontok pályagörbéit adjuk meg kontrollpontok pályagörbéit adjuk meg

Bézier-felület létrehozása \left(n=2,m=3\right) ; az \mathbf{a}_{i} kontrollpontok pályagörbéit adjuk meg

Tegyük fel, hogy az , kontrollpontjaival adott Bézier-görbét mozgatjuk, továbbá feltételezzük, hogy a Bézier-görbe kontrollpontjai ugyancsak Bézier-görbén mozognak. Jelöljük -vel az kontrollpontok pályáját meghatározó Bézier-görbe kontrollpontjait lásd a 9.1. ábrát, azaz

Ilyen feltételek mellett

és az kontrollpont az

görbén mozog. A fenti egyenlőségeket kombinálva a felület egy koordinátájú pontjára a

egyenlőséget kapjuk.

Ezt a felületet Bézier-felületnek, vagy tenzori szorzattal előállított Bézier-felületnek nevezzük. A pontokat a felület kontrollpontjainak, az általuk meghatározott hálót (lásd a 9.1. ábrát) kontrollhálónak nevezzük.

9.1.1. 9.1.1. A Bézier-felületek tulajdonságai

A (9.1) kifejezéssel definiált felület tulajdonságai a Bézier-görbe tulajdonságai (lásd a 3.3. szakaszt) alapján igazolhatók.

A , kontrollháló bármely határoló polingonja által meghatározott görbéből kiindulva ugyanazt a Bézier-felületet kapjuk. Ez a Bézier-felületnek egyfajta szimmetria tulajdonsága.

A határoló poligonok által meghatározott Bézier-görbék illeszkednek a felületre, de a kontrollháló többi poligonja (, vagy ) által meghatározott görbék nincsenek a felületen.

A felület valamely paramétervonalát úgy kaphatjuk meg, hogy előbb meghatározzuk a paramétervonal

kontrollpoligonját. Ezen kontrollpoligon által meghatározott Bézier-görbe a keresett paramétervonal (lásd a 9.2. ábrát). Az paramétervonalak ezzel analóg módon állíthatók elő. A paramétervonalak tehát -ed-, illetve -edrendű Bézier-görbék.

9.2. ábra - Bézier-felület paramétervonalának kontrollpontjai

Bézier-felület paramétervonalának kontrollpontjai

A felület paraméterű pontját a de Casteljau-algoritmus ismételt alkalmazásával is meghatározhatjuk. Először kiszámítjuk a paramétervonal kontrollpontjait – ez -szeri alkalmazás –, majd ezen a görbén az pontot. Ez összesen -szeri alkalmazás. Meghatározhatjuk a pontot az paramétervonalból kiindulva, ekkor -szer kell alkalmazni a de Casteljau-algoritmust. A számítási igény tehát általában nem egyezik meg.

A de Casteljau-algoritmus segítségével a Bézier-felületet, hasonlóan a görbéhez, két, az eredetivel , illetve irányban megegyező fokszámú felületre vághatjuk ketté. A felületet valamely paramétervonala mentén tudjuk kettévágni. Az előző példánknál maradva, a paramétervonal kontrollpontjainak meghatározásához a

görbéket a helyen ketté kell vágni. Az eljárás során megkapjuk a két Bézier-folt kontrollhálóját. A két folt -edrendben folytonosan () kapcsolódik egymáshoz a görbe mentén (lásd a 9.3. ábrát).

9.3. ábra - Bézier-felület kettévágása

Bézier-felület kettévágása

A Bézier-felület kontrollhálójának affin transzformációjával szemben invariáns, vagyis a felület affin transzformáltja megegyezik a transzformált kontrollpontok által meghatározott felülettel. Ez a tulajdonság a Bézier-felület és a de Casteljau-algoritmus fent vázolt kapcsolatból következik.

A konvex burok tulajdonság is átöröklődik a görbéktől. Ez azt jelenti, hogy a Bézier-felület kontrollhálójának konvex burkában van. Ez következik egyrészt a de Casteljau-algoritmussal való kapcsolatból, másrészt abból, hogy , esetén

vagyis a Bézier-felület a kontrollpontjainak konvex kombinációja.

Szintén a de Casteljau-algoritmussal való kapcsolatból következik az, hogy a felület invariáns az olyan paramétertranszformációkkal szemben, amelyek az értelmezési tartományt, a paramétersík tengelyeivel párhuzamos oldalú téglalapra képezik le, vagyis az , illetve transzformációkkal szemben.

A hullámzást csökkentő tulajdonság nem öröklődik át, pontosabban nem is fogalmazható meg úgy mint a görbék esetén.

Előfordulhat, hogy a felületfoltot határoló négyszög valamelyik oldala egyetlen pontra zsugorodik. Ilyenkor úgynevezett degenerált foltot kapunk, a határoló négyszögből háromszög lesz. Ezekre a degenerált foltokra külön figyelmet kell fordítani érintősík és felületi normális meghatározásakor, vagy foltok kapcsolódása esetén.

9.1.2. 9.1.2. Fokszámnövelés

Tegyük fel, hogy az -ban -edfokú, -ben -edfokú

Bézier-felületet egy -ban -edfokú, -ben -edfokú

Bézier-felületként akarjuk leírni az új kontrollpontok segítségével. Ehhez a

egyenlőségnek kell teljesülni. Ez azt jelenti, hogy darab -edfokú görbén kell fokszámnövelést elvégezni. A 3.8. szakasz alapján ezt a következőképpen hajthatjuk végre:

irányában ezzel analóg módon lehet növelni a fokszámot.

Ha mindkét irányban akarjuk a fokszámot növelni, akkor például először a irányban (9.2) szerint, majd ez után az irányban. Ez utóbbi kontrollpontjai

alakban írhatók fel.

(9.2) és (9.3) egymás utáni végrehajtása helyett egyetlen lépésben megkaphatjuk a pontokat. Ugyanis (9.2)-et (9.3)-ba helyettesítve

9.1.3. 9.1.3. Deriválás

Felületről lévén szó, az , illetve szerinti parciális deriváltakról beszélhetünk. Ezek a parciális deriváltak pedig a megfelelő paramétervonal deriváltját jelentik, vagyis a felület deriválásának problémáját görbe deriválására vezethetjük vissza:

A Bézier-görbe deriváltjára vonatkozó 3.11. tételt alkalmazva

ahol .

A szerinti parciális derivált ezzel analóg módon írható fel. Az szerinti -edrendű parciális derivált

ahol .

A vegyes parciális derivált pedig

alakban írható fel.

A továbbiakban szükségünk lesz az , illetve esetekre, a határgörbék úgynevezett keresztirányú deriváltjára. Például esetén (3.6) egyenlőséget felhasználva

Ez azt jelenti, hogy az -edrendű keresztirányú derivált a határ menti kontrollpont sortól (oszloptól) függ.

9.1.4. 9.1.4. Kapcsolódó Bézier-felületek

Bonyolultabb alakok tervezése során nem lehetséges, vagy nem célszerű az alakot egyetlen Bézier-felülettel leírni. Ilyenkor valahányad rendben folytonosan csatlakozó felületeket használunk.

9.4. ábra - Elsőrendben folytonosan kapcsolódó Bézier-felületek

Elsőrendben folytonosan kapcsolódó Bézier-felületek

Tegyük fel, hogy adottak az

Bézier-felületek.

Ahhoz, hogy az és felületek az paramétervonal mentén -edrendben folytonosan kapcsolódjanak, a

egyenlőségeknek kell teljesülni. Ez a felület deriválására vonatkozó eredményeket, valamint a 3.7. szakasz eredményeit figyelembe véve, és a jelölést bevezetve

Mivel a tényezők lineárisan függetlenek, az

egyenlőségeknek kell teljesülni, ami esetén az

egyenlőségeket jelenti. Ezt szemlélteti a 9.4. ábra.

9.1.5. 9.1.5. Interpoláló Bézier-felületek

A 7.3. szakaszban ismertetett interpolációs eljárás speciális eseteként megkapjuk az interpoláló Bézier-felületeket. Ehhez pusztán az és helyettesítést kell végrehajtani a (7.4) egyenletrendszerben.