Ugrás a tartalomhoz

Komputergrafika -- Matematikai alapok

Dr. Kovács Emőd

Kempelen Farkas Hallgatói Információs Központ

Interpoláció B–spline görbével

Interpoláció B–spline görbével

A B-spline görbe approximáló görbe, de használhatjuk interpolációra is. Farin [21], Piegl [63] munkái alapján is elemeztem ezt a problémát [52]-ban és [32]-ban. Keresünk egy olyan adott fokszámú B-spline görbét, azaz határozzuk meg kontrollpontjait és csomóértékeit, amely az adott paraméterértéknél az adott ponton áthalad. Ha pontok illeszkednek egy ad fokú nem racionális B-spline görbére, akkor kielégítik a következő egyenletből és ismeretlenből álló egyenletrendszert

ahol , és az paramétereket hozzárendeljük minden -hez és választunk egy megfelelő csomóvektort. A kontrollpontok lesznek az egyenletrendszer keresett db ismeretlenje. Az egyenletrendszernek egy együttható mátrixa van és természetesen megoldáshalmaza, ha -kontrollpontoknak koordinátája van, azaz a pontok koordinátáinak a száma, tipikusan 2,3 vagy 4.

A (9.4) egyenletrendszert kifejtve a következőt kapjuk

amelyet átírhatunk (a szokásos módon) mátrix alakba

Ha , azaz egyenletből és ismeretlenből áll az egyenletrendszer, akkor mátrix kvadratikus, és az eredmény mátrixszorzással nyerhető, azaz,

A probléma megoldása tehát és meghatározására korlátozódik, mivel megválasztásuk befolyásolja a görbe alakját. Tegyük fel, hogy a paramétertartomány . A paraméterek kiválasztására sok módszer ismert, ekvidisztáns (egyenlőközű), ívhossz szerinti, centripetális mód. Számítási igényeket és a kapott görbe alakját is figyelembe véve a centripetális módszer a javasolt. Legyen

tudva, hogy és ,

Ez a módszer jobb eredményt ad, amikor a pontok hirtelen élesen változnak, tehát éles „kanyart” várunk a görbétől. Ajánlott még a centripetális módszer kombinálása az átlagolás technikájával. Azaz

Ez a kombináció vezet a (9.4) egyenletrendszerhez, és biztosítja a következő előnyös tulajdonságot: ha . Az egyenletrendszert megoldhatjuk (9.5) szerint is, de javasolt a Gauss elimináció (vagy a Gauss-Jordan módszer) használata. Érdemes az LU dekompozíció technikájával alsó és felső háromszögalakú komponensekre bontani az együtthatómátrixot (lásd [68]).

Bár az eredmény görbe mindenhol folytonos, előfordulhat, hogy nem lesz elég szép sima és tartalmazhat váratlan hullámokat és kilengéseket. A nem várt kilengések elkerülése végett keressünk kevesebb kontrollpontot mint input pontot, azaz . Mivel ebben az esetben már nem kvadratikus, ezért a (9.4) egyenletrendszer átírva kompakt mátrix alakba a következőt eredményezi:

Nem minden esetben kapunk megoldást, mivel a feladat túlhatározott, de ilyenkor numerikus úton kezelhető a probléma.