Spline

En spesiell type spline, bezier kurve

En spline er i matematikk en funksjon definert stykkevis av polynom.

Innen data, databasert design og datagrafikk refererer spline til en delvis parametrisk polynomfunksjon. Innen disse feltene er spline en populær måte å representere kurver på, på grunn av dens enkle konstruksjon, som likevel gir mulighet å gjennomføre komplekse en design ved hjelp av kurvetilpassing.

Terminologien spline kommer fra utstyr brukt av skipsbyggere og tegnere for å tegne glatte og jevne former. Utstyret var et langt stivt bånd festet på forskjellige punkter for å gi en ønsket form.

Typer spline:

  • B-spline
  • Bezier-kurve
  • Bezier-spline
  • Hermite-spline
  • Kubisk spline
  • Naturlig spline
  • Periodisk spline

Definisjon

Spline

Spline er en funksjon:

S ( t ) : [ a , b ] R {\displaystyle S(t):[a,b]\rightarrow \mathbb {R} }

består stykkevis av polynomer:

P i ( t ) : [ t i , t i + 1 ) R {\displaystyle P_{i}(t):[t_{i},t_{i+1})\rightarrow \mathbb {R} }

hvor

a = t 0 < t 1 < . . . < t k 2 < t k 1 = b {\displaystyle a=t_{0}<t_{1}<...<t_{k-2}<t_{k-1}=b\mathbb {} }

og vi får splinefunksjonen

S ( t ) = { P 0 ( t ) , t 0 t < t 1 P 1 ( t ) , t 1 t < t 2 . . . , . . . P k 2 ( t ) , t k 2 t < t k 1 {\displaystyle S(t)={\begin{cases}P_{0}(t)\quad &,\quad t_{0}\leq t<t_{1}\\P_{1}(t)\quad &,\quad t_{1}\leq t<t_{2}\\\quad ...&,\quad ...\\P_{k-2}(t)\quad &,\quad t_{k-2}\leq t<t_{k-1}\end{cases}}}

Skjøter

Alle de k {\displaystyle k} skjøtene t i {\displaystyle t_{i}} (også kalt knutene) samles i en skjøtevektor

t = ( t 0 , t 1 , . . . , t k 1 ) {\displaystyle {\vec {t}}=(t_{0},t_{1},...,t_{k-1})}

Hvis avstanden mellom skjøtene er spredd jevnt i intervallet [ a , b ] {\displaystyle [a,b]} , sier vi at splinen er uniform, ellers ikke-uniform.

Splinens grad

Hvis alle polynomene P i {\displaystyle P_{i}} har grad n, sier vi at splinen er av grad n {\displaystyle \leq n}

Glatthet C r i {\displaystyle C^{r_{i}}} og glatthetsvektor

Hvis S ( t ) C r i {\displaystyle S(t)\in C^{r_{i}}} befinner seg i nabolaget til t i {\displaystyle t_{i}} , sies splinen å være av glatthet (minst) C r i {\displaystyle C^{r_{i}}} ved t i {\displaystyle t_{i}} . Dette betyr at de to delene { P i 1 , P 1 } {\displaystyle \{P_{i-1},P_{1}\}} deler felles deriverte fra orden null (funksjonsverdi) og opp til orden r i {\displaystyle r_{i}} .

Vektoren

r = ( r 1 , r 2 , . . . , r k 2 ) {\displaystyle {\vec {r}}=(r_{1},r_{2},...,r_{k-2})}

er slik at splinen har glatthet C r i {\displaystyle C^{r_{i}}} ved t i {\displaystyle t_{i}} for 0 < i < k 1 {\displaystyle 0<i<k-1} , og kalles splinens glatthetsvektor.

Eksempler

Anta at intervallet [a,b] er [0,3], og delintervallene er [0,1), [1,2), og [2,3]. Anta at de stykkvise polynomene er av grad 2, og stykkene [0,1) og [1,2) må møtes i verdi og 1.derivert. (her må de altså møtes ved t=1). Stykkene [1,2) og [2,3) møtes i verdi t=2 .

Dette definere en type spline S ( t ) {\displaystyle S(t)} hvor

S ( t ) = { P 0 ( t ) = 1 + 4 t t 2  ,  0 t < 1 P 1 ( t ) = 2 t  ,  1 t < 2 P 2 ( t ) = 2 t + t 2  ,  2 t 3 {\displaystyle S(t)={\begin{cases}P_{0}(t)=-1+4t-t^{2}&{\mbox{ , }}0\leq t<1\\P_{1}(t)=2t&{\mbox{ , }}1\leq t<2\\P_{2}(t)=2-t+t^{2}&{\mbox{ , }}2\leq t\leq 3\end{cases}}}

vil være medlem av den typen, og

S ( t ) = { P 0 ( t ) = 2 2 t 2  ,  0 t < 1 P 1 ( t ) = 1 6 t + t 2  ,  1 t < 2 P 2 ( t ) = 1 + t 2 t 2  ,  2 t 3 {\displaystyle S(t)={\begin{cases}P_{0}(t)=-2-2t^{2}&{\mbox{ , }}0\leq t<1\\P_{1}(t)=1-6t+t^{2}&{\mbox{ , }}1\leq t<2\\P_{2}(t)=-1+t-2t^{2}&{\mbox{ , }}2\leq t\leq 3\end{cases}}}

vil også være medlem av typen.

(Polynomet 2 t {\displaystyle 2t} er fortsatt av andre grad fordi det kan skrives 0 + 2 t + 0 t 2 {\displaystyle 0+2t+0t^{2}} )

Skjøtvektoren til denne typen av spline er her

t = ( 0 , 1 , 2 , 3 ) {\displaystyle {\vec {t}}=(0,1,2,3)}

Den enkleste splinen har grad 0, og den er en stegfunksjon.

Den nest enkleste splinen har grad 1, og er også kalt en lineær spline.

En vanlig brukt spline er den naturlige kubiske spline som har grad 3 og kontinuitet C 2 {\displaystyle C^{2}} . Naturlig betyr i denne sammenhengen at splinen velges slik at den andrederiverte av splinepolynomene er null på endepunktene av interpoleringens intervall

S ( a ) = S ( b ) = 0 {\displaystyle S''(a)\,=S''(b)=0} .

Dette tvinger splinen til å være en rett linje utenfor intervallet og at kurven alle steder er glatt.

Eksterne lenker

  • 40 år med algoritmen du ikke vet om, men som alle bruker Arkivert 27. september 2019 hos Wayback Machine.
Oppslagsverk/autoritetsdata
MathWorld · LCCN