B-spline
I matematik er en B-spline en lineær kombination af positive splines med minimal kompakt støtte. B-splines er generaliseringen af Bézier-kurver , de kan igen generaliseres af NURBS .
Definition
Givet 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 spline kurve er en parametrisk kurve
ikke{\ displaystyle n}S:[0,1]→Rd{\ displaystyle \ mathbf {S} \ ,: \, [0,1] \ to \ mathbb {R} ^ {d}}
sammensat af B-spline-funktioner i 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}]},
hvor P jeg danner en polygon kaldes kontrol polygon ; antallet af punkter, der sammensætter denne polygon, er lig med m - n .
De m - n B-spline funktioner af graden n er defineret af induktion 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} \ end {matrix}} \ højre.}
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 knudepunkterne er ækvidistante, dvs. når de er i aritmetisk progression er B-splines siges at være ”ensartet”: dette er tilfældet for Bézier kurver , som er ensartede B-splines, hvis knudepunkter t jeg (for jeg mellem 0 og m ) danner en aritmetisk sekvens fra 0 til 1 med et konstant trin 1 / m , og hvor graden n af Bézier-kurven ikke kan være større end m .
Ved forlængelse, når to på hinanden følgende knudepunkter og er slået sammen, udgør en : dette har den virkning, at det definerer en diskontinuitet i tangenten, for det punkt i kurven, der er parametreret med en værdi af t , derfor skabes der en ikke-vinkel-toppunktret; dog er det ofte enklere at definere denne "udvidede B-spline" som foreningen af to B-splines defineret med forskellige noder, idet disse splines simpelthen er forbundet med dette fælles toppunkt uden at indføre nogen vanskeligheder i den parametriske evaluering her. B-splines for bestemte værdier af parameteren t . Men dette gør det så muligt at overveje enhver simpel polygon som en udvidet B-spline.
tj{\ displaystyle t_ {j}}tj+1{\ displaystyle t_ {j + 1}}00=0{\ displaystyle {\ frac {0} {0}} = 0}
Ejendomme
Formen på de grundlæggende funktioner bestemmes af nodernes position.
Kurven er inde i den konvekse konvolut af kontrolpunkterne.
En B-spline af grad n
bjeg,ikke(t){\ displaystyle b_ {i, n} (t)}
er ikke-nul 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} \ end {matrix}} \ højre.}
Med andre ord ændres kurvens form kun ved at flytte et kontrolpunkt lokalt.
Endimensionelle b-splines
B-splines kan bruges som grundlæggende funktioner i tilnærmelsesteori. B-spline af grad n er givet ved:
∀x∈R, βikke(x)=∑k=0ikke+1(-1)k(ikke+1)(ikke+1-k)!k!(x-k+ikke+12)+ikke{\ displaystyle \ forall x \ i \ 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 udvidet version af funktionen positiv del :
(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 genkender især spline af grad 0 som portfunktion .
Disse funktioner interpolerer ikke, men deres høje regelmæssighed på et kompakt medium gør dem til interessante kandidater i tilnærmelsen af funktioner.
Referencer
-
(i) P. Thevenaz, Blu T. og M. Unser, " interpolation revisited " , IEEE Transactions on Medical Imaging , Vol. 19, nr . 7,juli 2000( DOI 10.1109 / 42.875199 )
Interne links
eksterne links
<img src="https://fr.wikipedia.org/wiki/Special:CentralAutoLogin/start?type=1x1" alt="" title="" width="1" height="1" style="border: none; position: absolute;">