Matrixrepræsentation

Vi kan faktisk repræsentere Bézier-formlen ved hjælp af matrixmultiplikation, hvilket kan være nyttigt i andre sammenhænge, f.eks. til at opdele Bézier-kurven. Hvis vi går tilbage til vores eksempel, kan vi omskrive P(t) på følgende måde:

eq. 6

Så er alle oplysninger om den kvadratiske Bézier-kurve komprimeret i én matrix, M. Nu vil vi måske gerne finde koefficienterne i denne matrix uden at skulle foretage alle disse trin og på en måde, der er let at programmere. Da matrixens koefficienter simpelthen er koefficienterne af det polynomium, der står foran hvert Pi, er det, vi leder efter, den ekspanderede form af Bernstein-polynomiet eq. 2.

Endnu en ting: Hvis vi ekspanderer Bi(t), får vi polynomiet foran Pi, som svarer til den i(te) kolonne i matrixen. Det er dog ikke særlig praktisk, og det ville være lettere at programmere, hvis vi kunne få rækker i stedet. Når det er sagt, kan du måske bemærke, at den i(th) række i matricen er nøjagtig den samme som den omvendte (n-i)(th) kolonne, og koefficienterne i den omvendte (n-i)(th) kolonne er intet andet end koefficienterne i B(n-i)(t) taget i aftagende potenser af t.

eq. 7

Du kan evt. henvise til eq. 2 og eq. 3, hvis du har nogle problemer.

Dermed er matrixens koefficienter intet andet end koefficienterne foran t, hvilket betyder:

eq. 8

Interpolation

En interessant anvendelse af Bézier-kurver er at tegne en jævn kurve, der går gennem et foruddefineret sæt af punkter. Grunden til, at det er interessant, er, at formlen for P(t) giver punkter og ikke er af formen y=f(x), så et x kan have flere y’er (dybest set en funktion, der kan “gå baglæns”). Vi kunne f.eks. tegne noget som dette:

Midlertid er matematikken til at producere dette resultat ikke triviel, så jeg har skrevet et dedikeret indlæg til dette:

admin

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.

lg