6 B–Splines 1. Eine Knotenfolge Tm,n = {to,...,tn+m+1}

Werbung
47
Das bißchen Kopf, das sie noch haben,
zerbrechen sie sich mit solchem Zeuge
Georg Christoph Lichtenberg
6 B–Splines
Die B–Splines werden uns nun eine “vernünftigere” Basis für beliebige Splineräume liefern, mit
deren Hilfe sich viele wichtige Eigenschaften der Splinefunktionen beschreiben und ausdrücken
lassen. Dazu passen wir nochmals den Begriff der Knotenfolge an die neuen Gegebenheiten an.
Definition 6.1 Seien .
1. Eine Knotenfolge gen
!
ist eine Teilmenge von " , die die Bedingun-
$#%&#(''')#*#('''#
und
,+.-/,+0
1 23
(6.1)
(6.2)
erfüllt.
2. Dasjenige 4
für das
,+6578-9,+:;'''<=,+0)>?57@-/,+A)>
gilt, heißt Vielfachheit des Knotens B+:C'''DE,+A)>?57 .
3. Besitzt eine Knotenfolge GFEH –fache Endknoten, d.h., gilt
8C'''<E
I'''<E
dann schreiben wir .
K
J für diese Knotenfolge.
Bemerkung 6.2 Die Gleichungen (6.1) und (6.2) bedeuten, daß die Vielfachheit jedes Knotens
höchstens LF=H beträgt.
6.1 Der Algorithmus von de Boor
Wieder einmal wollen wir das “Objekt der Begierde”, in diesem Fall also die Splinefunktionen, algorithmisch einführen. Auch diesmal werden wir eine Verallgemeinerung des Algorithmus von de Casteljau definieren, wobei der Trick darin bestehen wird, in jedem Schritt die
baryzentrischen Koordinaten bezüglich unterschiedlicher passend gewählter Bezugsintervalle
M
zu verwenden. Diese Bezugsintervalle sind
> NO,+ ,+0)>3P
+ C
(6.3)
6 B–SPLINES
48
Algorithmus 6.3 (de Boor)
Gegeben: Knotenfolge K , Kontrollpunkte
1. Bestimme
A
2. Setze
so daß
3 "
NO
.
+ )+ und
NO
P .
1 ? H ? berechne M
M
>
5 >! ?> 57 F 5 >! >357
+ +
+!75 +
+
1 GF 4 .
Ergebnis:
3. Für 4
4.
(6.4)
Abbildung 6.1: Der Algorithmus von de Boor für einen kubischen Spline
Die Abbildung 6.1 zeigt, was beim Algorithmus von de Boor passiert: im 4 –ten Schritt
werden alle Intervalle abgearbeitet, die 4 F Knoten und den Punkt enthalten. Der Index
aus Schritt 1 im obigen Algorithmus ist eindeutig, solange nicht gerade mit einem Knoten
übereinstimmt.
Bemerkung 6.4 Der Index , der durch die Forderung GN in Algorithmus 6.3 festgelegt ist, beeinflußt nicht die Berechnungsformel, sondern lediglich, welche Kontrollpunkte
zur Berechnung zu verwenden sind. Man könnte auch den folgenden, modifizierten Algorithmus
verwenden:
6.1 Der Algorithmus von de Boor
49
Abbildung 6.2: Der Algorithmus von de Boor für einen kubischen Spline mit doppeltem
Knoten.
1. Setze
2. Für 4*
+
7+ H 3 berechne M
>
5 >! >?57
K
+ +
+657
1 4 ?
1 3 F M
+
K5 >
+
>?57
(6.5)
+
1
A .
Aber: der Rechenaufwand dieses Verfahrens ist wesentlich höher, nämlich Operationen
im Algorithmus von de Boor. Und normalerweise ist !
im Gegensatz zu 3. Wähle die –te Komponente aus dem Ergebnisvektor
Definition 6.5 Wir bezeichnen die Splinekurve
,
+
1
?
nennen das Kontrollpolygon von +
N P
mit
.
und
Als nächstes sammeln wir einige wichtige Eigenschaften der Splinekurve, die direkte Folgerungen aus dem Algorithmus von de Boor sind.
Proposition 6.6 Sei eine Knotenfolge und
ein Kontrollpolygon.
1. (Convex Hull Property):
NO,+ ,+0IN 7+65 > 4
?A P 1 ?
(6.6)
6 B–SPLINES
50
2. (Interpolation an
K +!5<
–fachen Knoten): ist, für 1
.
3. (de Casteljau): ist
NO P , daß
und
K ''' ,
,
,+65<
''' ,+
.
, dann ist
''' , dann gilt, für
4. (Stückweise Polynome):
K $
M
1 Beweis: Die Eigenschaften 1, 3 und 4 sind klar. Für 2 bemerken wir, daß, falls 5<
C'''<
jedesM der Intervalle +
5 >! in (6.5) den Punkt als linken Randpunkt hat und damit ist
K5 > H , also >
5 > 5<
.
+
J eine Knotenfolge mit F=H –fachen Endknoten, dann besitzt die SplineKorollar 6.7 Ist kurve die Eigenschaft der Endpunktinterpolation, d.h.,
K Abbildung 6.3: Zwei kubische B–Splines (
K K
(6.7)
) mit Randknoten der Vielfachheit .
6.2 B–Splines
Jetzt also endlich zur (algorithmischen) Definition der B–Splines.
Definition 6.8 Die B–Splines + ' , 1 ? , bezüglich der Knotenfolge sind diejenigen Funktionen, die man erhält, wenn man den Algorithmus von de Boor auf die
Anfangsdaten +: A+ > , 4 3 , anwendet.
6.2 B–Splines
51
Abbildung 6.4: Variation der Knoten.
Schreibt man
formal als
dann ergibt sich sofort, daß
+)
+)
3! )+ !? )+
+
' (6.8)
Abbildung 6.5: Eine kleine Kollektion kubischer B–Splines (
) mit vierfachen Randknoten. In linken Bild sind die inneren Knoten gleichverteilt, im rechten Bild in der linken
H¨alfte konzentriert.
6 B–SPLINES
52
Lemma 6.9 Die B–Splines sind nichtnegative Funktionen mit kompaktem Tr äger. Genauer:
+
9
,+ ,+0
und
+
NO,+ ,+0
P
(6.9)
Insbesondere gilt
+
> >
> D +!5<
N ,+ ,+0 1 (6.10)
Beweis: Wir erinnern uns, daß zur Bestimmung des Wertes an der Stelle =NO gerade
die Kontrollpunkte 5<
verwendet werden. Um +
K zu erhalten, muß
1
1
1
F
also
oder eben
gelten. Damit verschwindet der B–
Spline +
außerhalb von N + ,+0
P . Gilt andererseits
und ist
1 1.F , dann sind, wegen M
,+ ,+0
K5
> +
K5 >! 1 LF 4 ? 4 H ?A alle baryzentrischen Koordinaten in (6.5) strikt
positiv und damit
M
M sind die Koeffizienten
+ +
+ +
und
dann
.
+A M
+A +
M
+0 + , +A , +A strikt positiv und so weiter. Damit ergibt sich schließlich Lemma 6.10 Die B–Splines bilden eine nichtnegative Teilung der Eins, d.h.
+)
Beweis: Ist < Induktion über 4 ,
+> H
+
' + H
(6.11)
H , 1 23 , dann ist, nach (6.5) und
M
M
M +
5 >! +!>35757 F M +
5 >! + >?57 5 >! H 1 4 ? +
5 >! F +K
'''.
9
, also
Die nachfolgende Rekursionsformel für B–Splines geht ebenfalls auf de Boor zurück und
war eigentlich der Ausgangspunkt für den Algorithmus von de Boor. Daß wir hier das Pferd
“von hinten aufzäumen” hat nur Darstellungsgründe und enstammt dem Bestreben, alles algorithmisch einzuführen, wie erstmals in (Sauer, 1996) geschehen.
Satz 6.11 (Rekursionsformel für B–Splines) Sei E=
K eine Knotenfolge.
6.2 B–Splines
53
1. Die B–Splines der Ordnung haben die Form
+ 2. Für 4
(H
,+A ,+A N ,+
N ,+
M
gilt
+> Bemerkung 6.12
H
+> >?57
+ F 1 23 F 4 > 1 A F M
>
+A >?57
+0
(6.12)
(6.13)
1. In den Ausdrücken + ' sollte man EE
als =%>? 5 > auffassen. Damit gibt
es aber auch nicht sondern F 4 B–Splines der Ordnung 4 zu einer vorgegebenen
Knotenfolge =E
.
2. Explizit geschrieben lautet (6.13)
+> 1 ? F 4
,+0)>
,+
, + +
>?57
, +0)>! >?57
+
A
,+A)> , +A F
(6.14)
.
3. Die Formel (6.14) ist für 4 F H –fache Knoten nicht definiert – kein Wunder, da dann
>357 oder >?57 nicht mehr definiert ist (sein Träger wäre ein triviales
auch der Spline +
+0
Intervall). In diesem Fall läßt man den entsprechenden Term in (6.14) einfach wegfallen.
Beweis von Satz 6.11: Nach Lemma 6.9 haben die B–Splines + ' , 1 ? F , als
Träger das Intervall NO + ,+0 , insbesondere sind also die Träger der verschiedenen B–Splines
disjunkt und Lemma 6.10 liefert (6.12).
H ausdrücken zu können, benutzen wir
Um + ' mit Hilfe der B–Splines der Ordnung die Zwischenpunkte +
, 1 H 3 , aus (6.5) und schreiben
K + + +)
+ K + !+ 57 F
M
+
+:
Setzt man (6.16) in (6.15) ein, dann
M ergibt sich
+
+
+: A+ > Für die speziellen Koeffizientenvektoren
M
+
K57
+
+ +
K57
4 M 3
M > >!
F M
+A (6.15)
ist nach (6.5)
1 4 1 4 =
F H
sonst 57
+0
(6.16)
(6.17)
6 B–SPLINES
54
6.3 Differenzierbarkeit von Splinekurven
In diesem Abschnitt werden wir mit Blossoming–Techniken das folgende Resultat über die
Differenzierbarkeit von Splinekurven beweisen.
Satz 6.13 Sei E=
eine Knotenfolge und der Vielfachheit 4 (H . Dann gilt
E +6578-/,+ I'''D=,+A)>?57@- ,+A)>
K5 > , +657 ,+A)> ein Knoten
(6.18)
?
in (6.18) so gewählt, daß der Knoten B+ nicht zum Träger von
# 1 oder I1 FE F(H , dann ist auf dem “interessanten
' Bemerkung 6.14
1. Ist gehört, ist also10 Intervall” aus (6.18) die Nullfunktion und erfüllt damit trivialerweise alle Forderungen
an die Differenzierbarkeit.
2. Den Verlust an Differenzierbarkeit an 4 –fachen Knoten gegen über der maximalen DiffeH bezeichnet man als Defekt des Splines an dieser Stelle. An einem
renzierbarkeit 4 –fachen Knoten hat der Spline also Defekt 4 H .
Abbildung 6.6: Kubische Splinekurven mit drei doppelten (links) und zwei dreifachen
(rechts) Knoten. Die linke Kurve ist also noch differenzierbar, die rechte hat sichtbare
“Knicke” an den dreifachen Knoten, an denen sie dafür interpoliert.
>! , 4 F , und bezeichnen11 mit
' $
1 4 ? F + >
+ die Einschränkung des B–Splines + ' auf das Intervall > , was natürlich ein Polynom vom
Grad ist.
Wir setzen >$LNO>
Außer im Fall , da spielt die halboffene Definition des Trägerintervalls eine Rolle.
Es wird jetzt leider etwas indexlastig, aber das ist hier nicht zu vermeinden. Deswegen merken wir uns, daß
der erste Index uns immer sagt, welchen Spline wir betrachten und der zweite, wo, also auf welchem Intervall, wir
ihn betrachten.
10
11
6.3 Differenzierbarkeit von Splinekurven
+
>
Lemma 6.15 Die polaren Formen
über die Rekursionsformel
+ >
+ > 0+0> 55
4 A F +
> , 1 , *
M
zu F M+
(6.19)
+ 57> ? 57
75 +A +0 > ? 75 , bestimmen sich
H ? (6.20)
die Rekursion (6.19) und
Beweis: Zuerst halten wir fest, daß im Fall '''@ 7
@ +
> . Auch
(6.20) gerade die B–Spline–Rekursion (6.12) und (6.13) liefert, d.h. + >
die Multiaffinität von + > ist wieder klar wegen der Affinität der baryzentrischen Koordinaten.
Was bleibt, ist die Symmetrie. Hierzu
verwenden wir (6.20) zweimal
M
M und erhalten
M 57 F +0 +A57 > 57
M+ 57 M+ 57 + 5 > ? 5 M + 57 +AM 57 +A5 > ? 5 M +0 57 M +A57 +A5 > ? 5 +0 57 +A57 +A 5 > ? 5 M
M
Nun sind aber
+ 57 + 57 ,+0 ,,++ ,+A 57 57 ,+ , + M
M
und
+A 57 +A57 , +0,+0 ,+0 , +0, +0 ,+057 sowie
M
M
M
M
+ 57 +057 F +0 57 +A57 ,+ ,+A 57 F ,+A 57 ,+0 ,+A ,+ ,+0 ,+A ,+A ,+0 ,+A ,+0 ,+A ,+A ,+ ,+A 57 F ,+A ,+ ,+0 57 ,+A
,+A ,+ ,+A ,+A ,+A ,+A ,+A ,+0 ,+0 F ,+0 ,+A ,+ ,+A ,+ ,+0 ,+A ,+0 ,+0 F
F ,+ ,+A ,+0 ,+0 ,+A ,+ 57
,+A ,+ ,+A ,+AF ,+0 ,+A ,+A ,,+A+ , +A , +A,+A ,+0 , +A , + ,+A 57
F
,+A ,+0 ,,+A+ 2,,+0+ ,+A ,+0 ,+A ,+A ,+ ,+0 ,+0 , +A
,+A ,+0 ,+0,+ F 57 ,+A ,+A F ,+0 ,+ 57
,+A ,+ ,+A ,+A ,+A ,+A + > M
F F F +
57
+ >
6 B–SPLINES
56
F
,+A ,+A ,,+A+ <,,+A+6 ,+0 ,+A ,+A ,+A ,+ 2 ,+A ,+A, +A
symmetrisch in und 57 , also auch + > . Die übrige Argumentation ist wie im
Beweis von Proposition 4.2.
Bemerkung 6.16 Wir werden sehen, daß Lemma 6.15 das “Herzst ück” der weiteren Resultate
darstellt. Zugegeben, der Beweis von Lemma 6.15 ist etwas länglich12 , aber nur, weil die Dinge
im Detail ausgerechnet wurden; der Beweis an sich ist absolut elementar und besteht nur aus
einfachem Nachrechnen der Tatsache, daß die Rekursionsformel (6.20) tats ächlich symmetrische multiaffine Formen liefert. Und das ist eine echte Vereinfachung gegen über den “klassischen” Beweisen zu Splines mit mehrfachen Knoten, siehe z.B. (Boor, 1990).
Nun gilt die folgende Beziehung zwischen den Polarformen und den Knoten:
Lemma 6.17 Für
,1
?A , 4 gilt
4 4 + > ? 0+ (6.21)
Korollar 6.18 Sei =
4 sei > beziehung
K eine Knotenfolge und K
eine dazugehörige Splinekurve. Für
und > die zugehörige polare Form. Dann gilt die Dualitäts
>$+ >! >!
(6.22)
4 1 ?1 1 Beweis von Lemma 6.17: Induktion über 2? , wobei der Fall gerade (6.19) ist.
4 F H C4 H . Dann ist nach
Für 8 wählen wir zuerst 4 , also auch (6.20) und der Induktionsannahme
M
+ > ? M B M + + 57> ?M 57 F B A+ M A+ 57 > M 75 B + A+ F A+ A+0 @ B
A+ F B
A0+ )
A+
4
Für nutzen wir zusätzlich die Symmetrie der Polarform und erhalten
M
+ > M K + > B M + + 57> M F B +0 +A57 > B M + 0+ F B +AM A+0 B
0+ F B
0+@ 0+ )
12
Aber irgendwann und irgendwo muß man ja mal “etwas tun”
6.4 Der Satz von Curry–Schoenberg
K >
. Dann ist, nach (6.10),
Beweis von Korollar 6.18: Sei >
57
>
+ +
+)>?5<
>
+)>?5<
+ +
> >
Nun bringen wir beide Seite zum Blühen (“blossoming”), indem wir zu den Polarformen übergehen, und erhalten
>
7 >
)+ + > 7 +)>?5<
und setzt man in (6.23) E,+0 , H A
>
?
> ,+0
,+A
+ )>?5<
, für ein 1
> , +A ? ,+A)> + 4
4
" (6.23)
, dann liefert (6.21)
>
(6.24)
> > + 3 7 + + > , +0 ? ,+A
Beweis von Satz 6.13: Sei + - ,+0 ''' ,+A)> Knoten. Auf den beiden nichttrivialen Intervallen 3+ >
betrachten wir, für die Polarformen + und
sich, für % +0
+:
>
,+A)> , es sei also +A ein 4 –facher
>,+ ,+0 und +A)> ,+0)> ,+0)>! +0)> gemäß (6.20). Mit (6.21) ergibt
+0)> ,+A ? ,+A)> K
>
>
+A)> Nach der Rekursionsformel (6.20) ist dann
>
+ 3 7 5 > und damit, nach Satz 4.19,
also ist
' >
+A)> 7 5 > +
+A)>
an der Stelle = +0
7
K5 >
4 differenzierbar von der Ordnung 4
.
" 6.4 Der Satz von Curry–Schoenberg
Wir werden jetzt, Blossoming sei Dank, zeigen, daß die B–Splines eine Basis eines entsprechenden Splineraums bilden.
Definition 6.19 Sei eine Knotenfolge. Der Splineraum
Funktionen mit der Eigenschaft
$
besteht aus allen
1 F H , zudem 4 + mal stetig differenzierbar sind, wobei
die an den Knoten + , 1 F /
4+ die Vielfachheit des Knotens + bezeichnet.
6 B–SPLINES
58
Satz 6.20 (Curry–Schoenberg) Sei eine Knotenfolge. Dann sind die B–Splines
+ ' , 1 ?A , eine Basis des Splineraums .
Korollar 6.21 (B–Spline–Darstellung) Jede Splinekurve
B–Spline–Darstellung
K Beweis von Satz 6.20: Nach Satz 6.13 ist
D> +
+
<> > ' > ) ' besitzt eine eindeutige
,1
3
, also ist auch
+)
+ +
' 1 .F
, sowie +:
Sei umgekehrt
und + die zugehörige polare Form, . Nach Korollar 6.18 können wir die Koeffizienten
ganz gut raten, wir setzen nämlich
> ? >!
4 1
1 1 (6.25)
Aber: für jeden der Koeffizienten sind auf diese Art mehrere Definitionsgleichungen
D> + > 3 >!
vorhanden, damit <>
1 31
(6.26)
wohldefiniert ist, muß also
+ > 3 >!
+ > ? >!
sein, wobei
1 4 4 F ; 1
I'''<+ >! >
(6.27)
4 # 1 #=4 F + denn die anderen + machen ja keinen Sinn. Für die Gültigkeit von (6.27) sorgt die Differenzierbarkeit von in Verbindung mit Satz 4.19: ist nämlich >! >
$ ein Knoten
der Vielfachheit 4 (d.h. A57 - ''' )> 057 - )> ), der in dieser Liste auch mit
seiner vollen Vielfachheit wiederholt wird, so stoßen A57 und )> 057 dort 94 mal stetig
differenzierbar aneinander und deswegen ist
057 > ? 7
K5 > )> 57 > 7
5 > ? 7
K5 > " Auf der anderen Seite kommt aber ja eben 4 –mal in der Folge > ? >!
vor. Würde
andererseits ein Knoten nicht in voller Vielfachheit in der Menge 0>! >!
(beispielsweise wenn $ >!
9 >
), dann spielt
auch keine Rolle bei der Definition der
Koeffizienten, da nur als ein triviales Intervall auftritt.
Bleibt noch die lineare Unabhängigkeit der B–Splines. Seien also 2 ? Koeffizienten, so
und sei + die Einschränkung von auf das nichttriviale Intervall !+ mit
daß K
Polarform + . Dann ist aber +& , also auch +: und damit auch
<>$
+ >! >!
K
4 1
?1 6.5 Knoteneinfügen
59
Da alle Knoten höchstens die Vielfachheit GF
H
haben, liefert dies, daß
+$
, 1 A
.
Der Beweis von Satz 6.20 zeigt aber eigentlich noch viel mehr, nämlich, daß die B–Splines
lokal linear unabhängig sind.
2+ 2+ Definition 6.22 Eine Familie von Funktionen )+
" ,1
falls für jedes offene Intervall *
" die Funktionen
, heißt lokal linear unabhängig,
linear unabhängig sind.
Bemerkung 6.23 (Beispiele)
1. Lokale lineare Unabhängigkeit ist stärker als lineare Unabhängigkeit: die beiden stetigen Funktionen
H
H
# H
H
sind linear unabhängig, aber nicht lokal linear unabhängig: man braucht nur ein Inter- H bzw. H - - zu nehmen.
vall mit 2. Polynome sind linear unabhängig und lokal linear unabhängig: wann immer ein Polynom
auf einer offenen Menge verschwindet, muß es das Nullpolynom sein.
Korollar 6.24 Die B–Splines
ar unabhängig.
+
' bezüglich einer Knotenfolge =E
K sind lokal line-
" ein offenes Intervall und sei 6+ Beweis: Sei für 1 1 ?1 . Wenn also
eine Splinekurve ist, die auf verschwindet, dann müssen die Polarformen + , 1 1 ?1 , verschwinden, also auch die Koeffizienten 2> , 4 1 1 . Andererseits sind
die auf N ,+ ,+ P von Null verschiedenen B–Splines aber gerade + A5<
' + 57 ' .
6.5 Knoteneinfügen
Eine heuristische Beobachtung aus den vorhergehenden Beispielen war, daß eine Splinekurve in Bereichen, in denen viele Knoten liegen, eine hohe Flexibilität besitzt und dort, wo nur
wenige Knoten zur Verfügung stehen, unter eher hoher “Spannung” steht. Damit kann es aber
notwendig werden, für eine bestehende Splinekurve die Knotenmenge zu verfeinern, um eine
sehr komplexe Kurve zu modellieren.
Definition 6.25 Eine Knotenfolge
von %=
, falls .J .
J J J heißt eine Verfeinerung
6 B–SPLINES
60
FE , 1 NO> >! für passendes # 4 #
Nachdem + J +AJ Polynome ohnehin unendlich oft differenzierbar sind, haben wir natürlich
%
J
Also gibt es für alle Kontrollpolygone
gon J + J 1 J so daß
+)
7+ +
' (6.28)
J ?A ein zugehöriges Kontrollpoly-
+J
+)
und weil
+ 1 J FE
+
' J J
(6.29)
Das Problem ist also: wie berechnet man J aus ? Natürlich kann man sich auf den Fall
beschränken, daß J einen Knoten mehr enthält und dann iterativ die Knoten einfügen.
F Sei also, für ein 1 #
$#(''')#,+ # J #,+A8#(''')#
und
J ; >J
4 ? F LF
>J >
J
>?57
4 ? 1 4 1 FEH 4 1 F 2? F F 2 (6.30)
Dann gilt der folgende Algorithmus zur Berechnung der Knotenfolge, der Boehm zugeschrieben wird.
Satz 6.26 (Knoteneinfügen) Sei J eine Verfeinerung der Knotenfolge %=
K gemäß (6.30).
Dann ergibt sich das Kontrollpolygon J aus (6.29) als
>J J M
>
>
>?57 F J
>?57
M
>
>
4 1 4 1 LF=H ?1 4 1 FEH FEH (6.31)
Beweis: Wir verwenden wieder (6.22), genauer,
>J >J >!J ? >J 4 3 F=H (6.32)
4 31 ist aber sowohl 2> J > , also >J > , als auch >!J >!J > ? >!
, und damit
>
4* 231 >J >J >!J ? >J > >! >!
K
1 F H , > J >?57 , >J >?57 und >!J >J > >!
K57 ,
Analog ist, für 4
Für
also
>J >J >!J >J >357 > >!
K57 K >?57 4* 1.F=H A F=H 6.5 Knoteneinfügen
61
Abbildung 6.7: Zwei Besipiele für Knoteneinfügen.
In den übrigen Fällen stellen wir nun J als baryzentrische Kombination der Knoten A> und >!
M
M
dar, also
(6.33)
J J > > F J > >!
Dann ist
>J >J >J M ? >!J > >! ,+ J ,+A >
K57
J M
> > >! 3 ,+ > ,+0 >!
57
F M J > > >! ,+ >
,+A M >!
K57 J > > > ? >!
57 F J > > >! >
M
M
F
J > >?57 J > >
also gilt (6.31). Allerdings bedarf (6.33) noch einer etwas genaueren Betrachtung. Dafür halten
wir fest, daß
+
> D +65<
M
G
> N ,+65<
,+A P
'''
NO,+ ,+0
KPCNO,+ ,+0P J so daß (6.33) immer wohldefiniert ist, selbst dann, wenn +:E,+A ein Knoten höherer Vielfachheit sind.
Bemerkung 6.27 (Einfügen mehrfacher Knoten)
1. Der Algorithmus zum Einfügen von Knoten kann auch dazu genutzt werden, die Vielfachheit eines Knotens zu erhöhen.
6 B–SPLINES
62
2. Fügt man einen –fachen Knoten AJ ein, so erhält man als einen neuen Kontrollpunkt den
J . Verfolgt man die Rekursionsformel für diesen Kontrollpunkt, so ergibt
Wert K
sich gerade wieder der Algorithmus von de Boor.
3. Dies könnte man verwenden, um Splines an den Knoten “billiger” auszurechnen: anstatt
den Algorithmus von de Boor laufen zu lassen, erhöht man lediglich die Vielfachheit des
Knotens auf . Da die Ordnung von Splinekurven aber ohnehin eher niedrig ist, bringt
diese Vorgehensweise eher wenig.
Man kann das Knoteneinfügen aber noch auf andere Art darstellen. Dazu schreiben wir
als Matrix
LN )+ >
und erhalten aus (6.31), daß
1 A 4 H P J .
H
H
..
.
..
.
H
H
..
die Form
I
..
.
..
" , wobei die Matrix H
.
H
hat. Diese Matrix kann auch dazu verwendet werden, die Beziehung zwischen den Splineräumen und J zu beschreiben.
6.6 Ableitungen und Integrale von Splinekurven
Hier wollen wir uns anschauen, wie die Ableitungen und Stammfunktionen von Splinekurven
aussehen.
Satz 6.28 Sei =E
eine Knotenfolge und +6578-9,+
Vielfachheit - . Dann ist, für
,+657 ,+0 ,
wobei 57
.
> > ) >!
L'''< ,+0 A578-9,+A
>?57 57
> >
ein Knoten der
(6.34)
6.6 Ableitungen und Integrale von Splinekurven
63
Bemerkung 6.29 Die Formel (6.34) gilt natürlich, wenn alle Knoten höchstens Vielfachheit
H haben, denn dann ist >!
> , 4 A F(H . Ist hingegen, >* ''' >!
ein
,+A oder >
#=,+657 . Da der
Knoten der Vielfachheit oder F H , dann ist entweder A>
K
7
5
Träger des entsprechenden B–Splines >
aber gerade
N > >
P
muß
>
K57
NO ,+!57 P
N P
>!
%#,+!57 >!
,+0 gelten und damit wird die “Singularität” aufgehoben.
Lemma 6.30 Sei der Vielfachheit -
K eine Knotenfolge und +657&-,+.L'''2 ,+0 A57:-,+0 ein Knoten
. Dann ist, für ,+657 ,+A ,
K
7
5
57 1 ?A
> >
!
>
>
>
>!
>!
(6.35)
Beweis: Induktion über . Wegen der Differenzierbarkeit von > und der Stetigkeit von
57 und 57 auf dem Intervall +!57 ,+A können wir ( + annehmen, d.h., die Splines
>
>
sind alle in einer Umgebung von Polynome und daher unendlich oft differenzierbar. Unter
Verwendung von (6.14) ergibt sich dann
> ' ' > H >!
>
>
'
K57 ' !
>
>
>! H
7
5
57 ' ' >
>
>!
>
>!
>! 57 ' F > > K57 ' F >
>
>!
> >!
> >
K57 ' F
(6.36)
Unter Verwendung der Induktionshypothese und mit (6.14) ergeben sich dann
>
K57 ' >!
>
H
>
>!
> >!
K57 >
H
> >!
> >!
K57 >
>
>!
>!
H
>!
F
>
> >!
>! >!
>! 5 5 H
H
7
5
5 >
>
>
>!
>! H
5 >
>
>!
!> >!
5
5
K
> F >!
>! >! 5
K5
>! (6.37)
6 B–SPLINES
64
und, ganz analog,
>!
57 ' K
!
>
>!
> H
H
>!
K
5
5 !
>
!
>
>
>! >
>!
>!
> H
>! F >!
>!
K5 >
>! >
>! >
>! 5 5 H
>!
>! >! >!>! >
5 F >!>
>! >!
5 >
H
K5 >
!
>! H
57
>
!
>!
> (6.38)
Einsetzen von (6.37) und (6.38) in (6.36) ergibt dann
> ' H
57 F H !
>
>
>
>
>
H
5
5
F
>!
>! > >!
>! >! >!
K
7
5
57 >
!
>
>
>
>!
> >
K57
H
>!
>
H
H
>
57
>!
57
>
und somit (6.35).
Aus dem Beweis ergibt sich auch noch die folgende Aussage.
Korollar 6.31 Die Formel (6.35) gilt für alle
"
.
Beweis von Satz 6.28: Wir wenden (6.35) auf die B–Spline–Darstellung
K an und erhalten
> )
> ) >
>
> ) >
>
> ' >
>
>
K57
>!
>! 57
>!
6.6 Ableitungen und Integrale von Splinekurven
> ) >!
>
>
> >?57
> ) >!
>
>
65
57
57
>
> >!
>
>?57
>
57
Für die Berechnung der Integrale erhalten wir das folgende Resultat.
Korollar 6.32 Sei E%
eine Knotenfolge. Dann ist, für ein Kontrollpolygon
5
wobei
+J Beweis:
+
J
>!
> >
GFEH
> )
Wir interpretieren %=
J +)
N P 1 ?A
als %=
57
57
,
(6.39)
H
(6.40)
und setzen
' +J +
an. Differenzieren wir das und (6.39), dann erhalten wir
K J F=H
und Koeffizientenvergleich ergibt
+ J +6J 57 +
+) ,+A
,+
' GF=H J F LF=H J F L
F=H J J J
..
.
75 J 5 F
F=H 57
L
also (6.40). Da die beiden Splinekurven in den ersten H Koeffizienten übereinstimmen, sind
J 57 sie auf
NO
P
identisch.
NO P
supp LNO
P
6 B–SPLINES
66
Bemerkung 6.33 Ein Ausweg aus dem Dilemma des nicht definierten Kontrollpunkts
unendliche Knotenfolgen, auf die wir aber hier nicht eingehen wollen.
J
wären
Korollar 6.34 Sei EE
eine Knotenfolge. Dann ist
+
,+A
, + GF=H
1 23
(6.41)
G und erweitern in eine Knotenfolge G K Beweis: Wir wählen ein (großes)
durch Hinzunahme beliebiger (der Einfachheit halber einfacher) Knoten A
- ''' und betrachten alle B–Splines bezüglich dieser erweiterten Knotenfolge. Nach Korollar 6.32 hat dann für alle 1 A die Splinefunktion
J
die Koeffizienten
>J
5 5
+
4 - 1
4 1
4* 2? F
und ist damit auf dem Intervall NO +A P konstant, denn alle Splines mit Koeffizient haben ihren Träger links davon. Also ist, da der Träger von + in ,+A P enthalten ist,
,+0
, +
GFEH
J , +0 5
+
+
Herunterladen