um diese Formen spater (eventuell in einem vergroerten Mastab) rekonstruiren zu konnen (Modellruckfuhrung). Das Problem der Datenreduktion und der dam

Ähnliche Dokumente
Approximationsverfahren für die Kurvendarstellung

Polynome im Einsatz: Bézier-Kurven im CAD

Computergraphik I. Freiformkurven. aus: Farin Curven und Flächen im CAGD. Oliver Deussen Freiformkurven 1

Darstellung von Kurven und Flächen

Teil 2: Kurven und Flächen. Kurven und Flächen. Kurven. Parametrische Objekte. Kurven: 1D-Objekte Flächen: 2D-Objekte, basierend auf Kurven

Teil 2: Kurven und Flächen

11. Darstellung von Kurven und Flächen

Splines. Bézier-Kurven. Beispiel zur Approximation. Interpolation & Approximation. Schiffbau Automobilbau Architektur. f(x) f(x) =

9. Parametrische Kurven und Flächen

Proseminar Bernsteinpolynome Bézier-Flächen. Dana Eckhardt Matr.-Nr:

Kurven. Markus Kraxner 22. Januar 2015

Unterteilungskurven und -flächen

0.1 Modellierung von Kurven und Flächen mittels B-Splines

Thema des Referats: Darstellung von Kurven und Flächen

Splines und B-Splines

Grundlagen der geometrischen Datenverarbeitung

Sie braucht weniger Speicherplatz als das Polygon und

Kurven. Wie können oder sollten Kurven repräsentiert werden?

Kurven und Flächen. Vorlesung Ergänzung zur Graphischen Datenverarbeitung Sommersemester 2000 Johann-Wolfgang Goethe Universität, Frankfurt am Main

gekrümmte Flächen / Freiformflächen (analog zur Kurvendarstellung)

NURBS- und Loft- Modelling in Blender von Carina Schiller 2 /27

Computergrafik Inhalt Achtung! Kapitel ist relevant für CG-2!

Oberflächenrepräsentationen Kontinuierliche Kurven Bezier-Kurven. Freiformflächen. Diskret

Prüfungsdauer: 120 Minuten

Grundlagen der geometrischen Datenverarbeitung

Algorithmische Geometrie: Einstimmung

Interpolation und Approximation

Bezier-Kurven. Hamid Fetouaki, Emma Skopin. 28. Januar Universität Kassel FB Mathematik/Informatik

Spline-artige Kurven auf Subdivision Surfaces. Jörn Loviscach Hochschule Bremen, Germany

Dierentialrechnung mit einer Veränderlichen

Kapitel 2: Kurven / 2-1: Splines Vergleich von Splines mit niedrigem und hohem Kurvengrad. Spline durch 7 Punkte mit verschiedenen Graden:

Kapitel 7. Interpolation und Approximation II. Inhalt: 7.1 Spline-Interpolation 7.2 Trigonometrische Interpolation 7.3 Tschebyscheff-Approximation

5 Interpolation und Approximation

QUASI-SPLINE-INTERPOLATION BEZÜGLICH GLEICHMÄSSIGER UNTERTEILUNGEN

Splines. Splines. Vom Gebilde zur Geometrie. Katharina Birner. Institut für Angewandte Geometrie Splines

Klassische Polynom Interpolation.

Geometrisches Modellieren - Körper -Modelle Repräsentationsschemata Primitive Instancing Decomposition Models Constructive Models

Numerisches Programmieren, Übungen

Darstellung von Kurven und Flächen

künstliches Objekt, dargestellt durch Anzahl von Punkten in Raum und Zeit (bei bewegten, animierten Objekten).

Polynominterpolation mit Matlab.

Kurven und Flächen. Interaktive Kontrolle und Präsentation komplexer Kurven und Flächen (=Modellierung) 3D Modellierung Prof. Dr.-Ing. H.-P.

KAPITEL 9 Splinefunktionen

Parallele Algorithmen in der Bildverarbeitung

Mathematische Grundlagen für die Vorlesung. Differentialgeometrie

Gliederung. Gliederung (cont.) Gliederung (cont.)

Numerik. Was man exakt nicht schafft, das. Fallen und Fußangeln in der Numerik

Orthogonalpolynome Einführung, Eigenschaften und Anwendungen

Computergrafik / Animation. künstliches Objekt, dargestellt durch Anzahl von Punkten in Raum und Zeit (bei bewegten, animierten Objekten).

Topologie metrischer Räume

Numerik Hauptsache, man hat Zahlen 'raus Was man exakt nicht schafft, das macht man mit Numerik Fallen und Fußangeln in der Numerik. Numerik.

Gliederung. Interpolation vs. Approximation. Gliederung (cont.)

Institut für Geometrie und Praktische Mathematik Mathematisches Praktikum (MaPra) Sommersemester Aufgabe 5

Spline-Räume - B-Spline-Basen

Anwendung der Geometrischen Modellierung auf Trassierungen im dreidimensionalen Geländemodell

Michael Bender Martin Brill. Computergrafik. Ein anwendungsorientiertes Lehrbuch. 2., überarbeitete Auflage HANSER

Computergrafik. Michael Bender, Manfred Brill. Ein anwendungsorientiertes Lehrbuch ISBN Inhaltsverzeichnis

Inhaltsverzeichnis. 1 Hardwaregrundlagen

B-Spline-Kurve und -Basisfunktionen

Übungen zu Splines Lösungen zu Übung 20

19.2 Mittelwertsatz der Differentialrechnung

Approximation durch Polynome

31. Kurven in Ebene und Raum

D-BAUG Analysis I HS 2014 Dr. Meike Akveld. Serie

Themen Lagrange-Interpolation Hermite-Interpolation. Splines. Bézier-Kurven. 5 Interpolation. Interpolation Die Lagrangesche Interpolationsaufgabe

Bézierkurven in der SII

6 Komplexe Integration

1. Anhang: Spline-Funktionen

Mathematische Kurven sind uns aus den verschiedensten Zusammenhängen vertraut. Wir stellen hier kurz die wichtigsten Begriffe zusammen.

Sommersemester 2011: Seminar Geometrie für Lehramt

Der n-dimensionale Raum

Übungen mit dem Applet Kurven in Parameterform

Darstellung von Kurven und Flächen

30 Die Gammafunktion und die Stirlingsche Formel

Glatte Kurven aus diskreten Punkten

( ) Dann gilt f(x) g(x) in der Nähe von x 0, das heisst. Für den Fehler r(h) dieser Näherung erhält man unter Verwendung von ( )

Fachhochschule Aachen. Seminararbeit. im Studiengang Scientific Programming. Splines in der Datenverarbeitung. Herr Prof. Dr.

Ebene algebraische Kurven

ANALYSIS 2 VERSION 26. Juni 2018

Mathematik III für Physiker. Vorlesung

8 Interpolation. 8.1 Problemstellung. Gegeben: Diskrete Werte einer Funktion f : R R an n + 1 Stützstellen. x 0 < x 1 <... < x n.

Analytische Lösung algebraischer Gleichungen dritten und vierten Grades

Polynome. Ein Term der Form. mit n und a 0 heißt Polynom. Die Zahlen a, a, a,... heißen Koeffizienten des Polynoms.

Gewöhnliche Dierentialgleichungen

Das Kontrollnetz von Zyklidenstücken

Algorithmik III Algorithmen und Modelle für kontinuierliche Datenstrukturen

Wendepunkte. Jutta Schlumberger

2 Tschebyscheff-Approximation durch Polynome

Lösung zu Serie 2. D-ERDW, D-HEST, D-USYS Dr. Ana Cannas. Mathematik II FS März 2016

Spline Morphing. Softwarepraktikum im IWR. Carl Friedrich Bolz. Carl Friedrich Bolz

Analysis in einer Variable für LAK SS Priv.-Doz. Dr.(USA) Maria Charina

Einführung in die numerische Mathematik

Beispiel für eine periodische Spline-Interpolationsfunktion: Wir betrachten f(x) = sin(πx) und geben die folgenden Stützstellen und Stützwerte vor:

3 Gewöhnliche Differentialgleichungen 23.4.

Differentialrechnung

Extrapolationsverfahren

2.2. Schnitte von Liniensegmenten

Transkript:

GRUNDLAGEN DER CAD/CAM ENTWICKLUNG MIT SPLINEKURVEN - EINE EINFUHRUNG - Dan - Eugen Ulmet Fachhochschule Esslingen - Hochschule fur Technik, Kanalstr. 33, 7378 Esslingen ZUSAMMENFASSUNG Splinekurven und Splineachen haben sich in der CAD/CAM Entwicklung bei der Modellierung von Freiformgeometrie weltweit etabliert. Dabei spielen 'splines' in Bezier - Form, die unabhangig von den Ingenieuren P. Bezier (Firma Renault) und P. de Casteljau (Firma Citroen) vor etwa 35 Jahren entdeckt wurden, immer noch eine wichtige Rolle. Es werden zunachst einige der wichtigsten geometrischen, analytischen und programmiertechnischen Eigenschaften von Bezier Splinekurven eingefuhrt. Abschliessend werden einige der aktuellen Splinemethoden in der akademischen und industriellen CAD/CAM Entwicklung vorgestellt.. EINLEITUNG Vor etwa 35 Jahren hatten zwei junge Ingenieure, P.Bezier von der Firma Renault und P. de Casteljau von Citroen unabhangig voneinander eine einfache aber revolutionare Idee, die es ermoglicht hat CAD/CAM Systeme fur die Automobilkonstruktion zu entwickeln. Sie haben eine spezielle Kategorie von Kurven und Flachen entdeckt, mit der komplizierte Formen modelliert werden konnen und die sich insbesondere fur die Darstellung und Manipulation innerhalb eines Computersystems hervorragend eignet - es handelt sich um die sogenannten Bezier Splinekurven und -achen. Damit ist das Spezialgebiet CAGD (Computer Aided Geometric Design) entstanden. Es ging darum mit Hilfe einer moglichst geringen Datenmenge entweder neue Formen zu modellieren (Modelldesign), oder fur existierende Modelle (z.b. Tonmodelle) die wesentliche geometrische Information herauszultern,

um diese Formen spater (eventuell in einem vergroerten Mastab) rekonstruiren zu konnen (Modellruckfuhrung). Das Problem der Datenreduktion und der damit verbundenen Rechenzeitoptimierung ist nach wievor eine der zentralen Anforderungen in der CAGD Entwicklung. Was fur geometrische Formen lassen sich mit wenigen Daten modellieren? Zunachst einfache Prole die aus Geraden und Kreisbogen (sogenannten 'primitives') bestehen und deshalb den Lowenanteil von technischen Zeichnungen bilden. Die benotigte Datenmenge (jeweils Punkte bzw. Punkt und eine Zahl) ist minimal, dafur lassen sich aber mit diesen geometrischen Elementen keine komplizierteren Formen (Freiformgeometrie) modellieren. Bezier und de Casteljau haben ein Geometrieelement entdeckt - das sogenannte Bezier Segment - mit dessen Hilfe praktisch jede geometrische Form modelliert werden kann. Die Bezier Segmente konnen sozusagen als 'Atome' eines komplizierten Freiformmodells aufgefat werden. Ein Bezier Segment wurde von Bezier und de Casteljau mit Hilfe von 4 Punkten aufgebaut - eine Datenmenge die den Anforderungen der Datenreduktion im hohen Mae genugt. Die Konstruktion des Segmentes als eine im Intervall [0 ] parametrisierte Kurve ist als Algorithmus von de Casteljau bekannt. Bezeichnen wir die 4 Punkte mit B0 B B B3 und t [0 ] sei ein Parameterwert. Im. Schritt des Algorithmus werden die 3 Zwischenpunkte B0 B, bzw. B konstruirt, die die Strecken B0B BB, bzw. BB3 jeweils im Verhaltnis t unterteilen. Im. Schritt wird dieses Unterteilungsverfahren mit den 3 Zwischenpunkten des. de Casteljau Schrittes wiederholt - die neuen Zwischenpunkte sind B0 B. Die 3. de Casteljau Iteration liefert schlielich den Punkt B0, 3 der das Segment B0 B im Verhaltnis t unterteilt (siehe Bild ). Wird nun der Algorithmus von de Casteljau fur alle Parameterwerte t [0 ] durchgefuhrt, so entsteht eine parametrisierte Kurve, ein Bezier Segment. Die Kurve startet im Punkt B0 tangential zur Strecke B0B und lauft in B3 tangential zur Strecke BB3 ein. Dabei verlauft das Segment im inneren der konvexen Hulle der 4 Bezierpunkte B0 B B B3 (zur Begrundung siehe Abschnitt.). Programmiertechnisch lassen sich diese neuen Geometrieelemente sehr einfach in der CAD/CAM Entwicklung in ein CAD/CAM Softwaresystem implementieren. Allein die 4 Bezier Punkte werden als Geometriedaten in eine DATEI gespeichert und der Bauplan des Bezier Segmentes - der Algorithmus von de Casteljau - wird als PROGRAMM codiert. In der CAD/CAM Anwendung wird dann beim Zugri auf das Bezier Segment

das PROGRAMM zur Manipulation der DATEI aktiviert und das Segment berechnet. Anschlieend kann das Bezier Segment am Bildschirm dargestellt und weiterbearbeitet werden. Dabei wird in der Regel jeweils auf die DATEI mit unterschiedlichen Programmen zugegrien (siehe auch Abschnitt.4). B B B 3 B B B 3 Bild. Der Algorithmus von de Casteljau. 3

. BEZIER SEGMENTE Bezier Segmente wurden ursprunglich durch einen geometrischen Algorithmus, dem Algorithmus von de Casteljau rekursiv deniert. Erst etwa 0 Jahre spater wurde eine explizite parametrische Darstellung und der Zusammenhang zwischen Bezier Segmenten und Bernstein Polynomen von A. R. Forrest entdeckt (siehe [3]). Mit Hilfe dieser Parametrisierung konnen Bezier Segmente auch analytisch untersucht werden... Die Parametrisierung Ein Bezier Segment besitzt die folgende Parametrisierung: nx ~x(t) = ~b i B n i (t) t [0 ] () i=0 wobei der Grad n des Bezier Segmentes gleich der Anzahl der de Casteljau Iterationen ist. (Fur die im. Abschnitt beschriebenen Konstruktion ist n = 3). Die Bezier Koezienten ~ b i sind die Ortsvektoren der Bezier Punkte B i und! B n i (t) = n ( ; t) n;i t i i =0 ::: n () i sind die Bernstein Polynome vom Grad n. Wird der Algorithmus von de Casteljau anstatt mit 4 Punkten und 3 Iterationen wie im. Abschnitt analog mit n+ Punkten und n Iterationen durchgefuhrt, so entsteht ein Bezier Segment vom Grad n mit der Parametrisierung (). Fur die weiteren Ausfuhrungen werden wir den klassischen Fall der kubischen Bezier Segmente betrachten. Die meisten Ideen lassen sich problemlos fur allgemeine Bezier Segmente vom Grad n ubertragen ([3], [4]). Die Aussagen des. Abschnittes uber den Verlauf eines Bezier Segmentes konnen nun mit Hilfe der Parametrisierung () leicht nachgewiesen werden. 4

.. Der geometrische Verlauf Fur n = 3 ergibt sich zunachst nach () und () die Parametrisierung eines kubischen Bezier Segmentes: 3X ~x(t) = ~b i B 3 i (t) = b0 ~ ( ; t) 3 + b ~ 3( ; t) t + b ~ 3( ; t)t + b3 ~ t 3 : (3) i=0 Damit kann nachgerechnet werden, da ~x(0) = b0 ~ und d~x dt (0) = 3 B0B. ~ Das bedeutet, da das Segment den Anfangspunkt B0 und die Anfangstangente B0B besitzt. Analog lat sich nachweisen, da das Segment inb3 tangential zu BB3 einlauft. Andererseits ist die Darstellung (3) eine konvexe Kombination der Bezier Koezienten weil die Bernsteinpolynome B 3 i (t) 0 die folgende Eigenschaft haben: 3X B 3 i (t) =: (4) i=0 Deshalb verlauft das Bezier Segment in Inneren der konvexen Hulle der Bezier Punkte..3. Designeigenschaften Der Verlauf des Bezier Segmentes kann durch Modikation der Lage der Bezier Punkte sehr exibel gestaltet werden. Dadurch eignen sich Bezier Segmente hervorragend fur Designzwecke. Wird ein Bezier Punkt B i in eine andere Lage Bi verschoben, so bewirkt diese Modikation eine Verformung des Bezier Segmentes, die am starksten in einer Umgebung des Parameters t = i=3 ausgepragt ist. Dieses kann mit Hilfe der Parametrisierung (3) analytisch nachgerechnet werden. Zur Veranschaulichung, werden wir den Bezier Punkt B entlang der Richtung B0B in die Lage B verschieben und feststellen, da die ganze Kurve in Richtung von BB (ahnlich wie eine Marionette) 'nachgezogen' 5

wird. Die Verformung ist im Bereich des Parameterwertes t = =3 am starksten ausgepragt. B * B B B 3 Bild. Designeigenschaften. Im Bild ist die Originalkurve mit einigen Zwischenstufen der Verformung zur Zielkurve abgebildet. Allerdings kann man diese Eigenschaft (die auch gelegentlich 'Gummihauteigenschaft' genannt wird) am uberzeugendsten interaktiv auf einem Grakbildschirm simulieren. 6

.4. Die ane Invarianz Die schon im Abschnitt. erwahnte Eigenschaft (4) der Bernsteinpolynome sowie die Darstellung (3) zeigen auch, da die Punkte des Bezier Segmentes ane Kombinationen der Bezier Punkte sind. Ane Kombinationen sind invariant gegenuber anen Abbildungen. Das bedeutet, da z. B. die Rotation der 4 Bezier Punkte eines Segmentes zur Bestimmung der Rotation des gesamten Bezier Segmentes ausreicht. Das rotierte Segment wird dann mit dem Algorithmus von de Casteljau aus den 4 Bildpunkten gerechnet (siehe auch die Bemerkungen zu den Implementierungsverfahren im Abschnitt ). Das ist deshalb sinnvoll weil die Auswertung mit dem Algorithmus von de Casteljau (oder mit schnelleren Auswertungsverfahren) weniger Rechenzeit als die Multiplikation mit der Rotationsmatrix benotigt. Wenn man 'alle' Punkte (eine Punktauosung mit gewunschter Dichte) des Bezier Segmentes rotieren mute, wurde das insgesamt viel mehr Zeit kosten. So ermoglicht die 'Anitat' der Bezier Segmente eine betrachtliche Rechnerzeitoptimierung unter anderem auch bei den in der CAD/CAM Anwendung oft benutzten Manipulationen der Modelle wie Rotationen, Translationen und Zooms. 3. BEZIER SPLINEKURVEN Um kompliziertere Kurvenverlaufe zu modellieren reicht in der Regel ein Bezier Segment (selbst hoheren Grades als n = 3) nicht aus. Deshalb ist es sinnvoll diese als zusammengesetzte Kurven durch Aneinanderhangen von mehreren Bezier Segmenten mit niedrigem Grad, z.b. n = 3, zu modellieren. Dabei spielt die Qualitat des Uberganges an den Nahtstellen, wie z.b. Tangenten- oder Krummumgsstetigkeit, eine entscheidende Rolle. Das fuhrt zum Begri einer Splinekurve. 7

Denition Eine Bezier Splinekurve vom Grad n ist eine stuckweise polynomial denierte Kurve nx ~x(t) = ~ b k i Bn i i=0 t ; t k; t k ; t k;! t k; t<t k k = ::: l (5) die aus l Bezier Segmenten besteht und an den 'Nahtparametern' t = t k (k = ::: l ; ) n ; mal stetig dierentierbar ist (C n; ; stetig). Die Bezier Koezienten ~ b k i des k; ten Segmentes sind die Ortsvektoren der entsprechenden Bezier Punkte Bi k i =0 ::: n k = ::: l: B 3 B 3 B 3 3 3 B 3 B B B B 3 B Bild 3. Eine kubische Bezier Splinekurve mit 3 Segmenten. 8

Bemerkungen ) Die Bezier Punkte Bi k k = ::: l eines Splines mit l Segmenten sind nicht mit den Hilfspunkten B j i j = ::: n des Algorithmus von de Casteljau fur ein Bezier Segment zu verwechseln. ) Fur n = 3 erhalt man die Denition kubischer Bezier Splinekurven, mit denen wir uns im folgenden befassen werden. Die meisten Ideen konnen allerdings auch fur Bezier Splinekurven hoheren Grades ubertragen werden. 3) Die einzelnen Bezier Segmente s k der Bezier Splinekurve sind im allgemeinen jeweils in Intervallen I k = [t k; t k ] unterschiedlicher Lange l k = t k ; t k;, k = ::: l deniert ('nichtuniforme' Splines). Die Parameter t k k = 0 ::: l werden Parameterknoten genannt. Dabei sind t0 und t l die Randparameter der (nicht geschlossenen) Kurve und t k die Parameter der 'Nahtpunkte' B3 k fur k = ::: l ;. Fur C 0 ; stetige Kurven gilt oensicht fur die Nahtstellen die Bedingung B3 k = B0 k+ k = ::::l;. 4) Zur Berechnung der einzelnen Bezier Segmente mit Hilfe der Bernstein Polynome wird der globale Parameter t I k zuerst durch den normierten lokalen Parameter u = t ; t k; [0 ] ersetzt. t k ; t k; 5) Die analytische Bedingung der C Stetigkeitkeit fur kubische Bezier Splinekurven hangt auch von der Parametrisierung ab und fordert mehr als die geometrische Bedingung der Tangenten- und Krummungsstetigkeit (GC und GC Stetigkeit). Die C (und C ) Stetigkeitsbedingung an einem 'Nahtparameter' t = t k kann mit Hilfe der relativen Lage der entsprechenden Nahtstelle B3 k (zwischen den Bezier Segmenten s k und s k+) und den benachbarten Bezier Punkten B k (und B k ) sowie B k+ (und B k+ )charakterisiert werden: Satz I) Eine Bezier Splinekurve ist in t = t k C ; stetig, wenn die Nahtstelle B3 k und die benachbarten Bezier Punkte B k und B k+ kollinear sind, und B3 k die Stecke B k Bk+ im selben Verhaltnis v k = l k : l k+ unterteilt wie der Nahtparameter t k die benachbarten Intervalle I k und I k+. 9

II) Eine Bezier Splinekurve ist in t = t k C ; stetig, wenn die C Stetigkeitsbedingung I erfullt ist und es einen Punkt C k gibt, der die folgenden Eigenschaften besitzt: a) C k ist kollinear mit B k und B, k und B k unterteilt die Strecke B k C k im Verhaltnis v k. b) C k ist kollinear mit B k+ und B k+, und B k+ unterteilt die Strecke C k B k+ im Verhaltnis v k. C k B k B 3 k B k+ B k B 3 k B k+ B k B k+ Bild 4. C und C Stetigkeitsbedingungen. 0

Bemerkungen ) In Kurzform bedeutet C Stetigkeit, da eine Nahtstelle B k 3 die zwei benachbarten Bezier Punkte im Verhaltnis v k der entsprechenden Parameterintervalle 'interpoliert' und C Stetigkeit bedeutet, da es daruberhinaus einen Punkt C k gibt, der die zwei benachbarten Bezier Punktepaare im selben Verhaltnis v k 'extrapoliert'. ) Die Punkte'konstellationen' im Bild 4 konnen auch im Bild erkannt werden. Hier entsteht durch den Algorithmus von de Casteljau eine C 3 - stetige Bezier Splinekurve mit Segmenten, die in den Intervallen [0 t] und [t ] parametrisiert sind. 3) Der Beweis des Satzes basiert basiert auf der Darstellung der. und. Ableitung einer Bezier Splinekurve und auf etwas Indexrechnung ([4]). 4) Die geometrischen Bedingungen I und II des Satzes ermoglichen eine bemerkenswerte Datenreduktion.Wenn man fur jedes Segment die 4 Bezier Punkte speichern wurde, so ware eine Datenmenge von N = 4 l Punkten notig. Berucksichtigt man nun zunachst die C 0 Stetigkeit der Bezier Splinekurve, so reicht es die Nahtstellen nur einmal zu speichern. Die Datenmenge ware dann N0 =3 l +. Die C Stetigkeitsbedingung I ermoglicht esweiter die l ; Nahtpunkte auszusparen. Diese konnen durch lineare Interpolation ihrer Nachbaren berechnet werden. Dadurch wurde die Datenmenge auf N = l + Punkte reduziert. Wenn man schlielichnoch die C Bedingung II nutzt, so kann man nachweisen, da es reicht die ersten Bezier Punkte des. Segmentes, die l ; Hilfspunkte C k sowie die letzten Bezier Punkte des letzten Segmentes zu speichern. Damit wird die minimale Punkteanzahl N = l+3 'herausgeltert' (im allgemeinen l + n Punkte). Diese Punkte werden mit D i i=0 ::: l + bezeichnet und B- Spline Punkte genannt. Alle Bezier Punkte konnen aus den B- Spline Punkten mit Hilfe linearer Interpolation rekonstruirt werden (siehe [4]). Im Bild 5 sind die B- Spline Punkte B 0 B C B B 3 mit x markiert die Bezier Punkte sind mit o dargestellt.

C B B 3 B B B B 3 Bild 5. Bezier Punkte (o) und B- Spline Punkte (x). 4. B- SPLINE KURVEN Die oben erwahnten geometrischen Uberlegungen zur Datenreduktion fuhren zu dem analytischen Begri einer C n; ; stetigen B- Spline Kurve. Dabei handelt es sich um eine andere analytische Darstellung des selben geometrischen Objektes der von der ursprunglich eingefuhrten Bezier Spli-

nekurve deniert wurde. Die Darstellung erfolgt nun, anstatt in der Basis der Bernstein Polynome Bi n, in der Basis der sogenannten B- Spline Funktionen Ni n, wobei n der Grad der betrachteten Kurve ist. Es werden zunachst die Parameterknoten s j fur j =0 ::: l+n ; wie folgt eingefuhrt: s0 = s = ::: = s n; = t0 (t0 ist ein n; facher Knoten) s n+i; = t i i = ::: l ; (einfache Knoten) s l+n; = s l+n = ::: = s l+n; = t l (t l ist ein n; facher Knoten). Die Randparameter t0 und t l werden damit n; fach in den Knotenvektor ~s eingefugt. Die anderen Knoten sind einfach. Eine C n; ; stetige B- Spline Kurve wird mit Hilfe der Knoten s j im selben Intervall [s n; s l+n;] =[t0 t l ] wie die Bezier Splinekurve parametrisiert. Denition Eine C n; ; stetige B- Spline Kurve mit l Segmenten vom Grad n wird deniert durch: l+n; X ~x(s) = ~d i N n i (s) s [s n; s l+n;]: (6) i=0 Die B- Spline Funktionen Ni n sind rekursiv deniert als: N 0 i (s) =( : si s<s i+ 0 : sonst N n i (s) = s ; s i s i+n ; s i N n; i (s)+ s i+n+ ; s s i+n+ ; s i+ N n; i+ (s) i =0 ::: l + n ; : 3

Bemerkungen ) Die analytische Denition einer B- Spline Kurve ist wesentlich 'technischer' als die Denition einer Bezier Splinekurve. Der damit verbundene zusatzliche Programmieraufwand bei der Implementierung von B- Spline Kurven in ein CAD/CAM System wird aber nicht nur durch die schon erwahnte betrachtliche Datenreduktion rechtfertigt. Bei den in der CAGD Anwendung oft praktizierten Nachbearbeitungen der Kurven, die meist durch Modikation der B- Spline Punkte implementiert sind, werden auch geometrische Eigenschaften wie Tangenten- und Krummungsstetigkeit beibehalten. Das ist bei der Modikation der Bezier Punkte nicht gesichert, weil dabei die Bedingungen des C =C Stetigkeitssatzes (insbesondere die Kollinearitat) im allgemeinen verletzt werden. ) Die C und C Stetigkeitsbedingungen an den Nahtstellen sind implizit in der Denition einer B- Spline Kurve durch die Wahl des Knotenvektors ~s (mit den entsprechenden Vielfachkeiten) mit Hilfe der B- Spline Funktionen N n i verschlusselt. Mit Hilfe der B- Spline Funktionen werden durch die Beziehung (6) auch allgemeinere B- Spline Kurven deniert, bei denen unterschiedliche Stetigkeitseigenschaften an den Nahtstellen vorliegen. Das wird im wesentlichen durch die Erhohung der Vielfachkeit der Nahtparameter erreicht. Bei der Vielfachkeit r eines Parameterknotens liegt dann C n;r Stetigkeit an der entsprechenden Nahtstelle vor. Solche Kurven sind in der CAD/CAM Anwendung starker verbreitet als die maximal glatten B- Spline Kurven. Sie sind in der Praxis im Fachjargon unter dem Namen SPLINES bekannt. Die Differenzierbarkeitsordnung IDIF eines SPLINES ist die Ordnung der hochsten stetigen Ableitung an den Nahtstellen. Wenn z.b. ein SPLINE einen Knick besitzt, so ist IDIF=0 falls IDIF=, so ist der SPLINE an allen Nahtstellen mindestens C stetig. 3) In der CAD/CAM Konstruktion wird darauf geachtet, da die erzeugten SPLINES so 'glatt' wie moglich sind, insbesondere da Tangenten- und Krummungsstetigkeit vorliegt. Daruberhinaus ist es wunschenswert, da im Krummungsdiagramm keine unnotigen Vorzeichenwechsel vorkommen. Damit lassen sich unerwunschte Krummungsanderugen (sogenannte Schwingungen) der Kurve vermeiden. In der Praxis spielen vor allem kubische SPLINES eine besondere Rolle. SPLINES hoheren Grades benotigen mehr Speicherplatz und besitzen eventuell zu viele unerwunschte Schwingungen. 4

5. AUSBLICK I. Die Ideen die wir fur Kurven in den bisherigen Abschnitten im Uberblick vorgestellt haben, lassen sich relativ direkt auch fur Flachen ubertragen. Das wird durch die sogenannte Tensorprodukt Methode ermoglicht. Denition Ein 'Tensorprodukt Bezier Flachenpatch' vom Grad n in u und Grad m in v wird deniert als: nx mx ~x(u v) = i=0 j=0 ~b ij B n i (u)b m j (v) (u v) [0 ] [0 ]: 3.5 3.5 Z Achse.5 0.5 0 3 Y Achse 0 0 X Achse 3 Bild6. Ein bikubisches Flachenpatch mit Bezier Netz. 5

Eine Bezier Spline Flache wird aus mehreren Patches aufgebaut und ist C n; C m; - stetig bei den Ubergangen zwischen den einzelnen Patches. In der Praxis werden die Stetigkeitsbedingungen bei Bedarf etwas abgeschwacht und allgemeinere Flachen, sogenannte SURFS, erzeugt. 0 Z Achse 3 4 5 0 Y Achse 0 X Achse 4 6 Bild7. Eine SURF. II. Die Verfeinerung der CAD/CAM Grundlagen, Entwicklung und Anwendung ist ein kontinuirlicher Prozess, der in der letzten Zeit besonders rasant fortschreitet. Dem Sprung von den hier beschriebenen Bezier Splines zu B- Splines folgte relativ kurz danach die Einfuhrung der NURBS (nicht uniforme rationale B- Splines). NURBS sind zwar zur Zeit 'the state of the art' im CAD/CAM Bereich, doch neue Ideen wie 'parametric design', 'variational design' usw. machen die Entwicklung auf diesem Gebiet weiterhin 6

interessant und spannend. III. Literatur. C. de Boor, Spline Toolbox for use with MATLAB, The Math Works, 99.. J. Hoschek (Ed.), Freeform Tools in CAD Systems, Teubner Stuttgart, 99 3. J. Hoschek, D. Lasser, Grundlagen der geometrischen Datenverarbeitung, Teubner Stuttgart, 99. 4. G. Farin, Curves and Surfaces for CAGD, Academic Press, 993. 5. L. Piegl, W. Tiller, The NURBS Book, Springer, 995. 6. D. E. Ulmet, Geodesic Osets of Spline Curves on Spline Surfaces - An Industrial Perspective, erscheint 996. 7