Spline

Fra Wikipedia, den frie encyklopedi
Gå til: navigasjon, søk
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[rediger | rediger kilde]

Spline[rediger | rediger kilde]

Spline er en funksjon:

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

består stykkevis av polynomer:

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

hvor

a = t_0 < t_1 < ... < t_{k-2} < t_{k-1} = b \mathbb{}

og vi får splinefunksjonen

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[rediger | rediger kilde]

Alle de k skjøtene t_i samles i en skjøtevektor

\vec{t} = (t_0, t_1, ..., t_{k-1})

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

Splinens grad[rediger | rediger kilde]

Hvis alle polynomene P_i har grad n, sier vi at splinen er av grad \leq n

Glatthet C^{r_i} og glatthetsvektor[rediger | rediger kilde]

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

Vektoren

\vec{r}= (r_1, r_2, ..., r_{k-2} )

er slik at splinen har glatthet C^{r_i} ved t_i for 0 < i < k-1 kalles en splinens glatthetsvektor.

Eksempler[rediger | rediger kilde]

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) hvor

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 \le 3
\end{cases}

vil være medlem av den typen, og

S(t)=\begin{cases}
P_0 (t) = -2-2t^2 &\mbox{ , } 0 \le t < 1\\
P_1 (t) = 1-6t+t^2 &\mbox{ , } 1 \le t < 2\\
P_2 (t) = -1+t-2t^2 &\mbox{ , } 2 \le t \le 3
\end{cases}

vil også være medlem av typen.

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

Skjøtvektoren til denne typen av spline er her

\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. 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.

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