B-spline
I matematikk er en B-spline en lineær kombinasjon av positive splines med minimal kompakt støtte. B-splines er generaliseringen av Bézier-kurver , de kan igjen generaliseres av NURBS .
Definisjon
Gitt m +1 noder t i i [0, 1] med
0≤t0≤t1≤...≤tm≤1{\ displaystyle 0 \ leq t_ {0} \ leq t_ {1} \ leq \ ldots \ leq t_ {m} \ leq 1}
en grad sporkurve er en parametrisk kurve
ikke{\ displaystyle n}S:[0,1]→Rd{\ displaystyle \ mathbf {S} \ ,: \, [0,1] \ to \ mathbb {R} ^ {d}}
sammensatt av B-spline-funksjoner av grad n
S(t)=∑Jeg=0m-ikke-1bJeg,ikke(t).PJeg,t∈[tikke,tm-ikke]{\ displaystyle \ mathbf {S} (t) = \ sum _ {i = 0} ^ {mn-1} b_ {i, n} (t). \ mathbf {P} _ {i} \ ,, \, t \ i [t_ {n}, t_ {mn}]},
der P i danner en polygon kalt kontrollpolygon ; antall poeng som komponerer denne polygonen er lik m - n .
De m - n B-spline-funksjoner av grad n er definert ved induksjon på lavere grad:
bj,0(t): ={1sJegtj⩽t<tj+10sJegikkeoikke{\ displaystyle b_ {j, 0} (t): = \ left \ {{\ begin {matrix} 1 & \ mathrm {si} \ quad t_ {j} \ leqslant t <t_ {j + 1} \\ 0 & \ mathrm {ellers} \ slutt {matrise}} \ høyre.}
bj,ikke(t): =t-tjtj+ikke-tjbj,ikke-1(t)+tj+ikke+1-ttj+ikke+1-tj+1bj+1,ikke-1(t).{\ displaystyle b_ {j, n} (t): = {\ frac {t-t_ {j}} {t_ {j + n} -t_ {j}}} b_ {j, n-1} (t) + {\ frac {t_ {j + n + 1} -t} {t_ {j + n + 1} -t_ {j + 1}}} b_ {j + 1, n-1} (t).}
Når nodene har samme avstand, det vil si når de er i aritmetisk progresjon, blir B-splines sies å være “uniform”: dette er tilfelle for Bézier-kurver som er uniforme B-splines, som har noder t i (i i mellom 0 og m ) danner en aritmetisk sekvens fra 0 til 1 med et konstant trinn 1 / m , og hvor graden n av Bézier-kurven ikke kan være større enn m .
Ved forlengelse, når to påfølgende noder og blir slått sammen, utgjør en : dette har effekten av å definere en diskontinuitet i tangenten, for punktet på kurven som er parametrisert med verdien t , derfor å skape en ikke-vinkel toppunktfat; imidlertid er det ofte enklere å definere denne "utvidede B-spline" som foreningen av to B-splines definert med forskjellige noder, idet disse splines ganske enkelt blir sammenføyd av dette felles toppunktet, uten å innføre noen vanskeligheter med den parametriske vurderingen her. B-splines for visse verdier av parameteren t . Men dette gjør det da mulig å vurdere hvilken som helst enkel polygon som en utvidet B-spline.
tj{\ displaystyle t_ {j}}tj+1{\ displaystyle t_ {j + 1}}00=0{\ displaystyle {\ frac {0} {0}} = 0}
Eiendommer
Formen til de grunnleggende funksjonene bestemmes av nodenes posisjon.
Kurven er inne i den konvekse konvolutten til kontrollpunktene.
En B-spline av grad n
bJeg,ikke(t){\ displaystyle b_ {i, n} (t)}
er ikke-null i intervallet [ t i , t i + n + 1 ]:
bJeg,ikke(t)={>0sJegtJeg⩽t<tJeg+ikke+10sJegikkeoikke{\ displaystyle b_ {i, n} (t) = \ left \ {{\ begin {matrix}> 0 & \ mathrm {si} \ quad t_ {i} \ leqslant t <t_ {i + n + 1} \ \ 0 & \ mathrm {ellers} \ slutt {matrise}} \ høyre.}
Med andre ord endrer formen på kurven bare å flytte et kontrollpunkt lokalt.
Endimensjonale b-splines
B-splines kan brukes som grunnleggende funksjoner i tilnærmingsteori. B-spline av grad n er gitt av:
∀x∈R, βikke(x)=∑k=0ikke+1(-1)k(ikke+1)(ikke+1-k)!k!(x-k+ikke+12)+ikke{\ displaystyle \ forall x \ in \ mathbb {R}, \ \ beta ^ {n} (x) = \ sum _ {k = 0} ^ {n + 1} (- 1) ^ {k} {\ frac {(n + 1)} {(n + 1-k)! k!}} \ left (xk + {\ frac {n + 1} {2}} \ right) _ {+} ^ {n}},
hvor (y) + er en utvidet versjon av den positive delfunksjonen :
(x)+ikke={0 hvis x<012 hvis x=0 og ikke=01 hvis x>0 og ikke=0xikke hvis x⩾0 og ikke⩾1{\ displaystyle (x) _ {+} ^ {n} = {\ begin {cases} 0 & {\ text {si}} x <0 \\ {\ tfrac {1} {2}} og {\ text { si}} x = 0 {\ text {and}} n = 0 \\ 1 & {\ text {si}} x> 0 {\ text {and}} n = 0 \\ x ^ {n} & {\ tekst {if}} x \ geqslant 0 {\ text {et}} n \ geqslant 1 \ end {cases}}}
Vi kjenner spesielt igjen spline av grad 0 som portfunksjon .
Disse funksjonene interpolerer ikke, men deres høye regelmessighet på et kompakt medium gjør dem til interessante kandidater i tilnærmingen av funksjoner.
Referanser
-
(i) P. Thevenaz, Blu T. og M. Unser, " interpolation revisited " , IEEE Transactions on Medical Imaging , Vol. 19, n o 7,juli 2000( DOI 10.1109 / 42.875199 )
Interne lenker
Eksterne linker
<img src="https://fr.wikipedia.org/wiki/Special:CentralAutoLogin/start?type=1x1" alt="" title="" width="1" height="1" style="border: none; position: absolute;">