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 + +