Matriisiesitys

Voimme itse asiassa esittää Bézierin kaavan matriisikertolaskennan avulla, mikä voi olla hyödyllistä muissa yhteyksissä, esimerkiksi Bézierin käyrän jakamisessa. Jos palaamme esimerkkiin, voimme kirjoittaa P(t) uudelleen seuraavasti:

eq. 6

Ja näin kaikki tieto kvadraattisesta Bézier-käyrästä on tiivistetty yhteen matriisiin, M. Nyt saatamme haluta löytää tuon matriisin kertoimet ilman, että meidän tarvitsee tehdä kaikkia näitä vaiheita, ja tavalla, joka on helposti ohjelmoitavissa. Koska matriisin kertoimet ovat yksinkertaisesti kunkin Pi:n edessä olevan polynomin kertoimet, etsimme Bernsteinin polynomin laajennettua muotoa eq. 2.

Vielä yksi asia: jos laajennamme Bi(t):n, saamme Pi:n edessä olevan polynomin, joka vastaa matriisin i(th)-saraketta. Se ei kuitenkaan ole kovin kätevää, ja olisi helpompi ohjelmoida, jos saisimme sen sijaan rivit. Siitä huolimatta saatat huomata, että matriisin i(th) rivi on täsmälleen sama kuin käänteinen (n-i)(th) sarake, ja käänteisen (n-i)(th) sarakkeen kertoimet eivät ole mitään muuta kuin B(n-i)(t):n kertoimet, jotka on otettu t:n pienenevissä potensseissa.

eq. 7

Voit katsoa eq. 2 ja eq. 3, jos sinulla on vaikeuksia.

Matriisin kertoimet eivät siis ole mitään muuta kuin kertoimet t:n edessä, eli:

eq. 8

Interpolointi

Yksi mielenkiintoinen sovellus Bézier-käyrille on piirtää tasainen käyrä, joka kulkee ennalta määritetyn pistejoukon läpi. Se on mielenkiintoinen siksi, että kaava P(t) tuottaa pisteitä eikä ole muotoa y=f(x), joten yhdellä x:llä voi olla useita y:tä (periaatteessa funktio, joka voi ”mennä taaksepäin”). Voisimme esimerkiksi piirtää jotain tällaista:

Matematiikka tämän tuloksen tuottamiseksi ei kuitenkaan ole triviaalia, joten olen kirjoittanut tätä varten oman postauksen:

admin

Vastaa

Sähköpostiosoitettasi ei julkaista.

lg