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

Größe: px
Ab Seite anzeigen:

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

Transkript

1 Fachhochschule Aachen Seminararbeit im Studiengang Scientific Programming Thema: Splines in der Datenverarbeitung eingereicht von: Selman Terzi eingereicht am: 14. Dezember 2012 Erster Betreuer: Zweiter Betreuer: Herr Prof. Dr. Wilhelm Hanrath Herr Dipl. Ing. Patrick Vogtel

2 Inhaltsverzeichnis 1. Einleitung Motivation Die Entwicklung von Splines Splines Mathematische Begriffe Spline-Arten Bézier-Kurven B-Splines Die Berechnungsalgorithmen Der de Casteljau-Algorithmus Der de Boor-Algorithmus Zusammenhang zwischen den Algorithmen Die NURBS-Bibliothek SISL Der Aufbau von SISL Funktionen für die Definition und Auswertung eines B-Splines Ein Anwendungsbeispiel Fazit und Ausblick 25 A. Anhang 27 A.1. Implementierung des de Casteljau-Algorithmus: A.2. Implementierung des de Boor-Algorithmus: A.3. Implementierung des de Casteljau-Algorithmus, die außerdem die Zwischenschritte plottet: A.4. Implementierung des de Boor-Algorithmus, die außerdem die Zwischenschritte plottet: A.5. Plot-Funktion einer Bézier-Kurve: A.6. Plot-Funktion eines B-Splines A.7. Berechnung der B-Spline Basisfunktionen: A.8. Berechnung der Bernsteinpolynome: A.9. Plot-Funktion der B-Spline Basisfunktionen: A.10.Plot-Funktion der Bernsteinpolynome: A.11.Ausschnitt aus der DXF-Datei: A.12.Programmcode des Anwendungsbeispiels

3 Abbildungsverzeichnis 2.1. Die konvexe Hülle Der Zusammenhang zwischen den Spline-Arten (nach [SHEN12]) Die Bernsteinpolynome vierten Grades Die Eigenschaft der konvexen Hülle (nach [SHEN12]) Verschiebung eines Kontrollpunktes Die Vorteile von B-Splines gegenüber Bézier-Kurven B-Splines mit den Kurvengraden 1 bis Dreieckschema der Basisfunktionen Die B-Spline Basisfunktionen bis zum Grad Die B-Spline-Kurve B-Spline-Kurven mit unterschiedlichen Knotenvektoren Teilung der Linie AB im Verhältnis u : 1 u Grafische Interpretation des De Casteljau-Algorithmus Berechnungsschema des de Casteljau-Algorithmus Einfluss des Punktes 0i auf den Punkt n Grafische Interpretation des de Boor-Algorithmus für einen kubischen B-Spline und u = Der aus der DXF-Datei ausgelesene B-Spline

4 1. Einleitung Ziel der Seminararbeit ist es, eine kurze Einführung in das Themengebiet der geometrischen Modellierung von Kurven durch Splines, genauer Bézier-Kurven und B-Splines, zu geben und dabei insbesondere die numerischen Berechnungsmethoden zu untersuchen. Die Funktionsweise der Algorithmen wird anhand von Matlab-Funktionen verifiziert. Außerdem wird die NURBS-Bibliothek SISL der Firma SINTEF vorgestellt, die viele Funktionen im Bereich der Modellierung und Modifizierung von Kurven bzw. Oberflächen bietet. Die Matlab- Funktionen, mit denen die Abbildungen in dieser Seminararbeit erstellt wurden, werden in den Anhängen A.1 bis A.10 aufgeführt. Die Notation der Formeln ist an [SHEN12] angelehnt Motivation Splines begegnen uns in vielen Programmen der Anwendungsgebiete wie CAD (Computer Aided Design) oder Computergrafik, die eine geometrisch präzise und interaktive Darstellung von gekrümmten Oberflächen und Kurven benötigen. Diese Programme stellen den Anwendern intuitive Werkzeuge zur Verfügung, die ihnen ermöglichen, geometrische Objekte auf einfache Weise zu modellieren, ohne sich dabei mit den mathematischen Grundlagen auseinandersetzen zu müssen. Die grundlegenden mathematischen Modelle wurden mit dem Ziel entwickelt, sie möglichst effizient und numerisch stabil in Computerprogrammen umsetzen zu können Die Entwicklung von Splines Seit den Anfängen der Computertechnologie und dem Aufkommen von CAD Anwendungen zählen Splines zu den Standard-Werkzeugen für die geometrische Modellierung von Kurven und Flächen. Bézier Kurven, die als die grundlegende Splineart bezeichnet werden können, wurden unabhängig voneinander von Paul de Casteljau bei Citroen und Pierre E. Bézier bei Renault in den frühen sechziger Jahren entwickelt. Das Hauptanliegen der Entwickler war es, geometrische Objekte wie Automobilteile einheitlich und mathematisch genau modellieren zu können. Um eine größere Freiheit bei der Modellierung von Objekten zu ermöglichen, erweiterten C. de Boor und L. Mansfield in den späten siebziger Jahren das Konzept der Bézier Kurven und konstruierten die sogenannten B-Splines (Basis Splines), die bessere Eigenschaften als die Bézier Kurven aufweisen. Später wurden NURBS (Non Uniform Rational B-Splines) entwickelt, die heute Stand der Technik sind. (vgl. [SHEN12]) 4

5 2. Splines 2.1. Mathematische Begriffe In diesem Abschnitt werden einige der mathematischen Begriffe vorgestellt, die für das Verständnis der Bézier-Kurven und B-Splines benötigt werden. Parameterkurven Kurven werden nicht als Graphen von Funktionen (x, f(x)) angegeben, sondern als Parameterkurven. Das heißt, es werden einem Parameter u aus einem Parameterintervall [a, b] kartesische Koordinaten (x, y) oder (x, y, z) zugeordnet. Eine formale Darstellung einer Parameterkurve in R 3 ist folgendermaßen gegeben (vgl. [BEND03, S.97]): C(u) = (x(u), y(u), z(u)), u [a, b] Als Parameterintervall wird häufig das Einheitsintervall [0, 1] gewählt. Eine Parameter- Transformation von [a, b] auf [0, 1] wird folgendermaßen durchgeführt: α(u) = u a b a Wenn die Funktionen x(u), y(u) und z(u) Polynome sind, spricht man von polynomialen Kurven. Affine Kombinationen Eine Affine Kombination ist eine gewichtete Summe von Punkten. Formell wird eine affine Kombination wie folgt dargestellt: X = n λ i X i i=1 Die Summe der Skalare λ i muss 1 ergeben, wodurch gewährleistet wird, dass eine affine Kombination unabhängig vom Koordinatensystem ist. Wenn die Skalare λ i zusätzlich aus dem Intervall [0, 1] sind, dann wird die affine Kombination Konvexkombination genannt. Die Skalare einer Konvexkombination werden als Teilung der Eins bezeichnet [BEND03, S.12]. Konvexe Hülle Die konvexe Hülle einer Menge von Punkten ist die kleinste Teilmenge der Punkte, deren aufgespannte Fläche sämtliche Punkte beinhaltet. Insbesondere liegt der Punkt, der über eine Konvexkombination von Punkten gebildet wird, in der konvexen Hülle dieser Punkte (vgl. [PRAU02, S.8]). In Abbildung 2.1 ist eine konvexe Hülle dargestellt. 5

6 Abbildung 2.1.: Die konvexe Hülle 2.2. Spline-Arten Man unterscheidet zwischen zwei Ansätzen, bei denen Splines eingesetzt werden. Für die Interpolation von Datensätzen werden Splines bzw. Kurven benötigt, um stückweise definierte Polynome durch die Wertepaare zu legen. Eine zusätzliche Bedingung ist, dass die Polynome an den Übergängen glatt sind. Ein Beispiel für diese Splineart ist der natürliche kubische Spline, der in der Numerik I Vorlesung besprochen wurde. Der andere Ansatz ist die Modellierung von Kurven bzw. Flächen, die durch einfache Kontrollstrukturen beschrieben werden. In R 2 wird die Struktur durch ein Kontrollpolygon bzw. in R 3 durch ein Polygonnetz vorgegeben. Der modellierende Ansatz wird durch Bézier Kurven, B-Splines und NURBS umgesetzt.(vgl. [BEND03, S.129]) Im Bereich der Computergrafik hat sich die Verwendung von polynomialen parametrischen Kurven durchgesetzt, da sie effizient zu berechnen sind und eine genügend große Freiheit bieten (vgl. [BEND03, S.104]). Bézier Kurven und B-Splines sind solche Kurven. Sie approximieren eine Sequenz von Punkten P 0,..., P n, den sogenannten Kontrollpunkten, das heißt die Kurve verläuft annähernd entlang des Kontrollpolygons. Aufgrund ihrer polynomialen Form können Bézier Kurven und B-Splines keine einfachen Formen wie Kreise darstellen. Sie sind also auf Formen eingeschränkt, die von Polynomen dargestellt werden können. Deswegen gibt es eine weitere Klasse von Splines, die eine rationale Darstellung haben. Diese Non-Uniform Rational B-Splines oder NURBS sind eine Erweiterung der B-Splines, die wiederum eine Erweiterung der Bézier Kurven sind (vgl. [SHEN12]). Der Zusammenhang zwischen den Spline-Arten veranschaulicht die Abbildung

7 NURBS B-Spline Rationaler Bézier Bézier Abbildung 2.2.: Der Zusammenhang zwischen den Spline-Arten (nach [SHEN12]) Bézier-Kurven Eine Bézier-Kurve mit n+1 Kontrollpunkten P 0, P 1,..., P n ist gegeben durch C(u) = n B n,i (u)p i u [0, 1] (2.1) i=0 wobei die Koeffizienten wie folgt definiert sind: B n,i (u) = n! i!(n i)! ui (1 u) n i (2.2) Folglich ist der Punkt, der zu dem Parameter u auf der Bézier-Kurve gehört, eine affine Kombination aller Kontrollpunkte mit den Koeffizienten B n,i (u). Die Liniensegmente P 0 P 1, P 1 P 2,..., P n 1 P n bilden den sogenannten Kontrollpolygon. Die Funktionen B n,i (u), 0 i n werden Bézier Basisfunktionen oder Bernsteinpolynome genannt. Bézier-Kurven besitzen folgende Eigenschaften (vgl.[shen12]): 1. Der Grad einer Bézier-Kurve mit n + 1 Kontrollpunkten ist n: In jeder Basisfunktion ist der Exponent von u i + (n i) = n. 2. Anfangs- und Endpunkt-Eigenschaft: C(u) geht durch P 0 und P n. 3. Alle Basisfunktionen sind nicht negativ. 7

8 4. Die Summe aller Basisfunktionen bei einem festen u ist 1 (Teilung der Eins): Beweis: 1 = (u + (1 u)) n Der Ausdruck ist nach dem Binomischen Lehrsatz 1 : 1 = 1 = 1 = n ( ) n u i (1 u) (n i) i n n! i!(n i)! ui (1 u) n i n B n,i (u) i=0 i=0 i=0 Diese Eigenschaft wird in Abbildung 2.3 anhand der Bernsteinpolynome vierten Grades veranschaulicht. Für u = 0.6 sind die Werte der Bernsteinpolynome wie folgt: B 4,0 = , B 4,1 = , B 4,2 = , B 4,3 = , B 4,4 = Die Summe der Werte ist 1. 1 B4,0(u) B4,4(u) B4,1(u) B4,2(u) B4,3(u) Abbildung 2.3.: Die Bernsteinpolynome vierten Grades. 5. Die Konvexe Hülle-Eigenschaft: Wie in dem vorherigen Punkt gezeigt wurde, ist die Summe der Bernsteinpolynome n ( ) n 1 Binomischer Lehrsatz: (x + y) n = x n k y k. k k=0 8

9 gleich 1 und die Bernsteinpolynome sind immer 0, sodass die Bézier-Kurve eine Konvexkombination der Kontrollpunkte ist. Die Kurve liegt demzufolge in der konvexen Hülle der Kontrollpunkte. Die Abbildung 2.4 zeigt, dass die Bézier-Kurve in der konvexen Hülle liegt Abbildung 2.4.: Die Eigenschaft der konvexen Hülle (nach [SHEN12]). 6. Die Verschiebung eines Kontrollpunktes bewirkt, dass die gesamte Kurve verzerrt wird. Angenommen der Kontrollpunkt P k wird um den Vektor v verschoben. Die neue Position des Punktes ist dann P k + v. Die Kontrollpunkte der neuen Kurve sind dann P 0, P 1,..., P k + v,..., P n. Die neue Kurve ist durch die folgende Gleichung gegeben. k 1 D(u) = B n,i (u)p i + B n,k (u)(p k + v) + = i=0 n B n,i (u)p i + B n,k (u)v i=0 = C(u) + B n,k (u)v n i=k+1 B n,i (u)p i Die obige Gleichung zeigt, dass sich der Punkt auf der Kurve zu dem Parameter u ergibt, wenn der Punkt auf der originalen Kurve in Richtung des Vektors v um die Länge B n,k (u)v verschiebt wird. Dementsprechend wird jeder Punkt auf der Kurve verschoben, sodass die gesamte Kurve ihre Form ändert. Die Auswirkung einer Verschiebung eines Kontrollpunktes wird in Abbildung 2.5 gezeigt. 9

10 Abbildung 2.5.: Verschiebung eines Kontrollpunktes B-Splines Ein großer Nachteil von Bézier-Kurven ist, dass sich die Verschiebung eines Kontrollpunktes global auswirkt (vgl. [BEND03, S.145]). Dadurch wird eine Modellierung von komplexen Formen erschwert. Für die Modellierung wäre es besser, wenn die Kontrollpunkte die Kurve nur lokal beeinflussen würden. Außerdem liegen die Bézier-Kurven nicht so dicht an dem Kontrollpolygon, wie erwünscht. Diesem Effekt kann durch Einsetzen von mehr Kontrollpunkten entgegenwirkt werden, jedoch erhöht sich dadurch der Grad der Kurve und die Berechnung wird aufwendiger. B-Splines wurden entwickelt, um für diese Schwächen der Bézier-Kurven eine Lösung zu bieten. Das Hauptziel der B-Splines ist es, eine lokale Einflussnahme der Kontrollpunkte auf die Kurve zu ermöglichen. Um dies realisieren zu können, werden neben den Kontrollpunkten P 0,..., P n zusätzliche Informationen benötigt. Das Grundprinzip der B-Splines ist die Unterteilung des Parameterintervalls in die Teilintervalle [u 0, u 1 ), [u 1, u 2 ),..., [u m 1, u m ). Die Werte u i werden Knoten genannt und sie müssen aufsteigend sein, also u 0 u 1 u 2 u m. Die zugehörigen Punkte auf der Kurve werden Knotenpunkte genannt. Wenn s aufeinanderfolgende Knoten identisch sind, ist die Rede von einem Knoten der Vielfachheit s. Die Folge aller Knoten wird als Knotenvektor bezeichnet. Wenn die Abstände zwischen den Knoten gleich sind, bezeichnet man die Knoten als äquidistant. Die Teilintervalle unterteilen die Kurve in Kurvensegmente vom Grad p. Dies bewirkt, dass jedes Kurvensegment höchstens von p + 1 Kontrollpunkten beeinflusst wird. Es werden für die Berechnung von B-Splines also insgesamt drei Informationen benötigt: Ein Kontrollpolygon, ein Knotenvektor und der Grad der Kurvensegmente p. Oft wird anstatt des Grades p die Ordnung o = p + 1 der Kurve angegeben. Der Zusammenhang der Anzahl der 10

11 Kontrollpunkte n + 1 und der Anzahl der Knotenwerte m + 1 bei einem Kurvengrad p ist durch folgende Bedingung gegeben: m = n + p + 1. B-Splines weisen noch einen wesentlichen Unterschied zu den Bézier-Kurven auf. Der Grad der Kurve wird nicht durch die Anzahl der Kontrollpunkte vorgegeben (vgl. [BEND03, S.156]). Dadurch wird eine größere Freiheit bei der Modellierung von Kurven erreicht. In der Abbildung 2.6 werden die Vorteile der B- Splines gegenüber Bézier-Kurven demonstriert. Es werden B-Splines dritten Grades einfachen Bézier-Kurven gegenübergestellt. Die Abbildung unten rechts zeigt die Lokalitätseigenschaft der B-Splines. Die Verschiebung des letzten Kontrollpunktes beeinflusst nur das letzte Kurvensegment, wohingegen die gesamte Bézier-Kurve verändert wird. Bessere Modellierungseigenschaften der B Splines: Lokalitätseigenschaft der B Splines: Abbildung 2.6.: Die Vorteile von B-Splines gegenüber Bézier-Kurven. Der Grad p der B-Splines ist, wie bereits erwähnt, frei wählbar, sodass mit dem selben Kontrollpolygon verschiedenartige B-Splines generiert werden können. Der Grad ist allein durch n nach oben begrenzt. Ein B-Spline vom Grad 1 hat lineare Kurvensegmente, ist also ein Polygonzug durch die Kontrollpunkte und somit identisch mit dem Kontrollpolygon. B-Splines zweiten Grades haben quadratische Kurvensegmente usw. Es kann beobachtet werden, dass B-Splines mit einem niedrigen Kurvengrad näher am Kontrollpolygon sind. Deswegen werden in der Regel B-Splines dritten Grades verwendet. Die Abbildung 2.7 zeigt B-Splines ersten bis vierten Grades mit demselben Kontrollpolygon und äquidistanten Knoten. 11

12 Grad 1 Grad 2 Grad 3 Grad 4 Abbildung 2.7.: B-Splines mit den Kurvengraden 1 bis 4. B-Splines sind analog zu den Bézier-Kurven als eine affine Kombination der Kontrollpunkte definiert. C(u) = n N i,p (u)p i u [0, 1] i=0 Die B-Spline Basisfunktionen sind dabei rekursiv definiert. { 1 falls u i u < u i+1 N i,0 (u) = 0 sonst N i,p (u) = u u i N i,p 1 (u) + u i+p+1 u N i+1,p 1 (u) u i+p u i u i+p+1 u i+1 Diese rekursive Definition der B-Splines wird auch Cox-de Boor Rekursionsformel genannt (vgl. [BEND03, S.148]). Eine besondere Eigenschaft der B-Spline Basisfunktionen ist, dass sie nicht im gesamten Intervall ungleich 0 sind. Diese Eigenschaft wird durch die Rekursion erreicht. Die rekursive Abhängigkeit der Basisfunktionen kann in einem Dreiecksschema dargestellt werden (Abbildung 2.8). 12

13 [u 0, u 1 ) N 0,0 [u 1, u 2 ) N 1,0 N 0,1 N 0,2 [u 2, u 3 ) N 2,0 N 1,1 N 1,2 N 0,3 N 0,4 [u 3, u 4 ) [u 4, u 5 ) [u 5, u 6 ). N 3,0 N 4,0 N 5,0. N 2,1 N 3,1 N 4,1. N 2,2 N 3,2. N 1,3 N 2,3. N 0,5 N 1,4.. Abbildung 2.8.: Dreieckschema der Basisfunktionen. Die Berechnung der Basisfunktion vom Grad p wird stets auf die Basisfunktionen vom Grad p 1 zurückgeführt. Die Basisfunktionen vom Grad 0 sind Rechteckfunktion, die nur in dem halboffenen Teilintervall [u i, u i+1 ), das u enthält, den Wert 1 haben. Dieses Teilintervall wird Trägerintervall genannt (vgl. [S.150][BEND03]. Die Intervallgrenzen, worin die Basisfunktionen ungleich 0 sind, hängen von dem Grad der Kurve und dem Parameter u ab. Die Basisfunktionen vom Grad 1 beispielsweise sind Dreiecksfunktionen und überspannen das Intervall [u i, u i+2 ). Dementsprechend haben die Basisfunktionen vom Grad 2 das Trägerintervall [u i, u i+3 ). Allgemein bedeutet dies, dass eine Basisfunktion N i,p (u) vom Grad p nur in dem Intervall [u i, u i+p+1 ) ungleich 0 ist (vgl. [BOOR78, S.131]. Für ein gegebenes Intervall [u i, u i+1 ) lässt sich daraus ableiten, dass höchstens p + 1 Basisfunktionen ungleich 0 sind, nämlich N i p,p (u),..., N i,p (u) (vgl. [BEND03, S.150]. Diese Eigenschaft der Basisfunktionen wird Trägereigenschaft genannt. In Abbildung 2.9 sind die Basisfunktionen bis zum 3. Grad eines B-Splines mit 7 Kontrollpunkten dargestellt. Der Knotenvektor des B-Splines ist [0, 0, 0, 0, 0.25, 0.5, 0.75, 1, 1, 1, 1]. 13

14 1 N3,0(u) N4,0(u) N5,0(u) N6,0(u) 1 N2,1(u) N3,1(u) N4,1(u) N5,1(u) N6,1(u) N1,2(u) N6,2(u) 1 N0,3(u) N6,3(u) N2,2(u) N3,2(u) N4,2(u) N5,2(u) N1,3(u) N2,3(u) N3,3(u) N4,3(u) N5,3(u) Abbildung 2.9.: Die B-Spline Basisfunktionen bis zum Grad 3. Der aus diesem Knotenvektor resultierende B-Spline wird in Abbildung 2.10 dargestellt. Die Punkte, die auf der Kurve aufgezeichnet sind, sind die zugehörigen Knotenpunkte. Abbildung 2.10.: Die B-Spline-Kurve. Es fällt am Knotenvektor des vorherigen Beispiels auf, dass die ersten p + 1 Knoten gleich 0 und die letzten p + 1 Knoten gleich 1 sind. Der Knotenvektor besitzt somit die Randvielfachheit p + 1. Diese Randvielfachheit der Knoten ist auch nötig, damit der B-Spline durch den ersten und den letzten Kontrollpunkt geht, da dies im Gegensatz zu den Bézier-Kurven 14

15 nicht automatisch der Fall ist. Die p restlichen Knoten u p+1,..., u m p 1 werden innere Knoten genannt (vgl. [BEND03, S.151]). Die Notwendigkeit einer solchen Anordnung der Kontrollpunkte kann anhand des Dreiecksschemas nachvollzogen werden: Angenommen, es soll ein kubischer B-Spline(p = 3) konstruiert werden, der durch den ersten Kontrollpunkt geht. Dann muss die Basisfunktion N 0,3 (u) für u = 0 1 ergeben, damit der Punkt P 0 mit vollem Gewicht in der Summe erscheint. Wenn jetzt die ersten p + 1 Knoten 0 sind, liegt u in dem Intervall [u 3, u 4 ), sodass nur die Basisfunktion N 3,0 (0) gleich 1 ist. Wenn man die Basisfunktionen bis N 0,3 (0) nach dem Schema durchrechnet, merkt man, dass in jeder Iteration die Basisfunktion N i+1,p 1 (u) den Wert 1 hat und die Basisfunktion N i,p 1 (u) gleich 0 ist. Somit der Wert für N 0,3 (0) nach p Schritten 1. Wegen der Teilung der Eins sind dann alle anderen Basisfunktionen N 1,3 = = N n,3 = 0. Dadurch ist der Punkt der Kurve für u = 0 identisch mit dem ersten Kontrollpunkt. Die gleiche Betrachtung kann auch für u = 1 durchgeführt werden. Wenn der Knotenvektor eines B-Splines diese Eigenschaft nicht aufweist, hat die resultierende Kurve nicht die Anfangs- und Endpunkt-Eigenschaft, das heißt, sie geht nicht durch den ersten und den letzten Kontrollpunkt. Außerdem gilt für solche B-Splines, dass die Kurve nur für Parameter in dem Intervall [u p, u m p ] definiert ist (vgl. [SHEN12]). Deswegen wird der Knotenvektor in der Regel so gewählt, dass die Randvielfachheit p + 1 ist. In Abbildung 2.11 wird der Unterschied zwischen B-Splines mit und ohne Anfangs- und Endpunkt-Eigenschaft veranschaulicht. Der linke B-Spline hat den Knotenvektor U = [0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1] und die rechte Kurve ist die gleiche wie in Abbildung Abbildung 2.11.: B-Spline-Kurven mit unterschiedlichen Knotenvektoren. B-Splines teilen auch einige Eigenschaften der Bézier-Kurven: Zum einen die Eigenschaft, dass die Summe der B-Spline Basisfunktionen gleich 1 ist, also die Eigenschaft der Teilung der Eins. Die B-Splines sind also eine Konvexkombination der Kontrollpunkte. Dies führt zu einer weiteren gemeinsamen Eigenschaft der B-Splines mit den Bézier-Kurven, nämlich der konvexen Hülle-Eigenschaft. 15

16 2.5. Die Berechnungsalgorithmen Nachdem die Bézier-Kurven und B-Splines mathematisch definiert wurden, werden in diesem Abschnitt die Berechnungsalgorithmen vorgestellt. Die direkte Auswertung der jeweiligen Basisfunktionen der Spline-Arten ist sehr ineffizient und numerisch instabil. Deswegen wurden Algorithmen entwickelt, die ohne die Auswertung der Basisfunktionen iterativ zu einer Lösung kommen. Im Falle des de Casteljau-Algorithmus für die Berechnung von Bézier- Kurven gibt es sogar eine intuitive geometrische Herleitung Der de Casteljau-Algorithmus Es muss eine numerische Methode gefunden werden, den Punkt auf einer Bézier Kurve zu einem bestimmten Parameter u zu bestimmen. Ein einfacher Ansatz wäre es, von der mathematischen Definition der Bézier Kurve (2.1) auszugehen und die affine Kombination der Kontrollpunkte gewichtet mit den Werten der Bernsteinpolynome zu berechnen. Dies ist aber keine numerisch stabile Methode, da es zu Ungenauigkeiten bei der Auswertung der Bernsteinpolynome kommen kann (vgl. [SHEN12]). Der de Casteljau-Algorithmus bietet den Vorteil, dass die Bernsteinpolynome nicht ausgewertet werden müssen. Stattdessen wird ein einfacher geometrischer Ansatz verfolgt, wodurch eine numerisch stabile und effiziente Methode entsteht. Der Algorithmus basiert auf einer simplen Berechnung: Es wird auf einer Linie AB der Punkt C so bestimmt, dass die Linie im Verhältnis u : 1 u geteilt wird. In Abbildung 2.12 wird diese Teilung gezeigt. Der Vektor von A zu B ist B A. Dann wird der Punkt C wie folgt berechnet: C = u(b A) = (1 u)a + ub A C B u 1 - u Abbildung 2.12.: Teilung der Linie AB im Verhältnis u : 1 u. In der nachfolgenden Notation werden die Kontrollpunkte mit zwei Ziffern bezeichnet. z. B. 00 für P 0 und 01 für P 1. Dabei steht die erste Ziffer für den Iterationsindex. Angefangen mit dem Kontrollpolygon durch die Punkte 00, 01, 02,..., 0n wird in jedem Iterationsschritt ein neuer Polygonzug bestimmt, sodass die Liniensegmente des vorherigen Polygonzuges im Verhältnis u : 1 u geteilt werden. Im ersten Schritt werden so die Punkte 10, 11, 12,..., 1(n 1) nach obiger Überlegung berechnet. 10 ergibt sich z. B. aus (1 u)00 + u01. Nach jedem Schritt hat der erzeugte Polygonzug einen Punkt weniger. Nach n Schritten ist der berechnete Punkt 16

17 n0, der genau der gesuchte Kurvenpunkt zu dem gegebenen u ist. In Abbildung 2.13 wird der Algorithmus grafisch dargestellt u = Abbildung 2.13.: Grafische Interpretation des De Casteljau-Algorithmus. Die Berechnungsvorschrift des de Casteljau-Algorithmus ist wie folgt: { i = 1, 2,..., n P i,j = (1 u)p i 1,j + up i 1,j+1 j = 0, 1,..., n i Die Berechnung wird konkret nach einem Dreiecksschema durchgeführt (siehe Abbildung 2.14). Die Kontrollpunkte werden in einer Spalte angeordnet. Für jedes Punktepaar wird ein (n 1) 0n n0 1(n 2)... 1(n 1) 2(n 2) (1 u) Abbildung 2.14.: Berechnungsschema des de Casteljau-Algorithmus. u 17

18 neuer Punkt berechnet. Diese neuen Punkte bilden eine neue Spalte. Nach n Schritten ist das Ende des Schemas erreicht und der letzte Punkt n0 ist der gesuchte Kurvenpunkt. Geometrisch betrachtet ist der de Casteljau-Algorithmus sehr anschaulich und intuitiv. Die Richtigkeit des Algorithmus muss aber auch mathematisch nachgewiesen werden können (Nachweis nach [SHEN12]). Dazu wird der Einfluss eines einzelnen Kontrollpunktes auf das Ergebnis betrachtet. Das Berechnungsschema des de Casteljau-Algorithmus hat eine Dreiecksform. Jeder Kontrollpunkt hat einen direkten Einfluss auf höchstens zwei Punkte der nächsten Iteration. Diese Punkte beeinflussen wiederum ihrerseits höchstens zwei Punkte der übernächsten Iteration. Grafisch ist der Einfluss eines Kontrollpunktes auf die Berechnung als Raute über dem Berechnungsschema darstellbar (siehe Abbildung 2.15). i0... 0i 1(i 1) 1i 2(i 2) 2(i 1) n0 2i (n i)i Abbildung 2.15.: Einfluss des Punktes 0i auf den Punkt n0. Der Einfluss eines Kontrollpunktes 0i kann bestimmt werden, wenn die Pfeile eines einzelnen Pfades auf dem Berechnungsschema bis zu dem Punkt n0 gezählt werden. Jeder nordöstliche Pfeil steht dann für die Multiplikation mit (1 u) und jeder südwestliche Pfeil für die Multiplikation mit u. Es ist leicht erkennbar, dass die Anzahl der nordöstlichen Pfeile i und die Anzahl der südöstlichen Pfeile n i ist. Daraus ergibt sich der Einfluss des Kontrollpunktes 0i auf den Punkt n0 zu u i (1 u) n i. Da es aber mehrere mögliche Pfade gibt, muss der Einfluss mit der Anzahl der Möglichkeiten multipliziert werden. Die Anzahl der möglichen Pfade ist gleich der Anzahl der Möglichkeiten i nordöstliche Pfeile unter n Pfeilen anzuordnen. Dies entspricht genau dem Fall Ziehen ohne Zurücklegen in der Kombinatorik 2. Somit ( ) n 2 Kombination ohne Zurücklegen von k aus n: C(n, k) =. k 18

19 ergibt der gesamte Einfluss des Punktes 0i auf den Punkt n0: n! i!(n i)! ui (1 u) n i 0i = n! i!(n i)! ui (1 u) n i P i = B n,i (u)p i Es kann also gezeigt werden, dass der Einfluss eines Kontrollpunktes genau dem Bernsteinpolynom (2.2) entspricht. Die Einflüsse von allen Kontrollpunkten addiert, ergibt genau die Definition der Bézier-Kurve (2.1). Eine Implementierung des de Casteljau-Algorithmus als Matlab-Funktion ist in Anhang A.1 angegeben Der de Boor-Algorithmus Der de Boor-Algorithmus ist nach Carl de Boor benannt, der den Algorithmus für die Berechnung von B-Splines in den siebziger Jahren entwickelte. Ähnlich wie der de Casteljau- Algorithmus funktioniert der de Boor-Algorithmus, ohne dass die B-Spline Basisfunktionen ausgewertet werden müssen, wodurch die rekursive Berechnung erspart bleibt. Stattdessen basiert der Algorithmus wie der de Casteljau-Algorithmus auf einer simplen iterativen Rechnung. Die Eingabeparameter des de-boor Algorithmus sind die Kontrollpunkte P i, der Grad p der Kurve, der Knotenvektor [u o,..., u m ] und der Parameter u, für den der Punkt auf der Kurve bestimmt werden soll. Zuerst muss der Index k der linken Intervallgrenze des Teilintervalls [u k, u k+1 ) bestimmt werden, das u enthält, sodass u [u k, u k+1 ). Wenn der Knoten u k eine Vielfachheit s > 1 hat, also wenn u k = u k 1 = u k s, dann ist k der Index des letzten Knotens mit der Vielfachheit s. Dann sind höchstens die p s + 1 Basisfunktionen N k p,p (u),..., N k s,p (u) größer 0 (vgl. [BEND03, S.155]). Das heißt, es werden nur die p s + 1 Kontrollpunkte P k p,..., P k s benötigt. Wie beim de Casteljau-Algorithmus beginnt der de Boor-Algorithmus mit den Kontrollpunkten und berechnet in jeder weiteren Iteration aus je zwei Punkten einen neuen Punkt als affine Kombination. Nach p s Iterationen ist der letzte berechnete Punkt der gesuchte Kurvenpunkt. Im Gegensatz zu dem de Casteljau-Algorithmus sind die Koeffizienten der affinen Kombination nicht konstant u bzw. 1 u, sondern vom Iterationsschritt abhängig. Das heißt, die Koeffizienten müssen in jeder Iteration neu berechnet werden. Die Berechnungsvorschrift ist dabei wie folgt definiert (r sei dabei der Iterationsindex) (vgl. [SHEN12]): { u u i 1 r p s α = u i+p r+1 u i k p r i k s P i,r = (1 α)p i 1,r 1 + αp i,r 1 Der de Boor-Algorithmus kann ebenso wie der de Casteljau-Algorithmus grafisch dargestellt werden (siehe Abbildung 2.16). Eine Implementierung des de Boor-Algorithmus als Matlab- Funktion ist in Anhang A.2 angegeben. 19

20 Abbildung 2.16.: Grafische Interpretation des de Boor-Algorithmus für einen kubischen B- Spline und u = Zusammenhang zwischen den Algorithmen Der de Casteljau-Algorithmus ist ein Spezialfall des de Boor-Algorithmus. Dieser Spezialfall entsteht, wenn der Knotenvektor eines B-Splines mit n + 1 Kontrollpunkten die Form [0,..., 0, 1,..., 1] hat mit der Randvielfachheit p + 1, sodass es nur ein Teilintervall gibt, das das gesamte Parameterintervall überspannt. Das bewirkt, dass der B-Spline nur ein Kurvensegment mit dem Kurvengrad n hat. Dieses Kurvensegment entspricht einer Bézier-Kurve vom Grad n [BEND03, S.155]. 20

21 3. Die NURBS-Bibliothek SISL Für viele Problemstellungen, insbesondere im Bereich des Maschinenbaus, müssen Lösungen/Programme entwickelt werden, bei denen mit Datensätzen aus CAD-Anwendungen interagiert werden muss. Die Programme müssen daher auf NURBS-Funktionalitäten zurückgreifen, die in der Regel wegen des hohen Aufwandes und den hohen Anforderungen an die Genauigkeit der Berechnungen nicht problemspezifisch implementiert werden können. Deshalb werden bereits existierende Software-Module oder Bibliotheken verwendet, die auf die Berechnung von B-Splines bzw. NURBS spezialisiert sind und sich in der Praxis bewährt haben. Die unter der GNU General Public Licence frei verfügbare NURBS-Bibliothek SISL (Sintef Spline Library) wird an dieser Stelle beispielhaft kurz vorgestellt. Die Bibliothek wird von der norwegischen Firma SINTEF ICT seit 1988 in der Programmiersprache C entwickelt und ist aktuell in der Version 4.5. (vgl. [SISL12]). SISL bietet folgende Hauptfunktionalitäten: Generierung von Kurven und Oberflächen. Auswertung von Kurven und Oberflächen. Manipulation von Kurven und Oberflächen. Schnittpunkt- bzw. Schnittkurvenberechnung von Kurven und Oberflächen. Datenreduktion. Die Bibliothek deckt also sämtliche Bereiche der geometrischen Modellierung von Objekten und Kurven ab, sodass sie vielseitig eingesetzt werden kann. Im Folgenden wird ausschließlich auf Funktionen für die Generierung und Auswertung von B-Splines eingegangen, da diese für das in diesem Kapitel aufgeführte Anwendungsbeispiel genügen Der Aufbau von SISL Die Bibliothek besteht aus sieben Modulen. Die Module können in drei Hauptgruppen unterteilt werden. Drei der Module bieten Kurven-Funktionalitäten, drei andere Oberflächen- Funktionalitäten und ein Modul bietet Funktionen für die Datenreduktion. Die drei wichtigen Datenstrukturen, die in SISL verwendet werden, sind SISLCurve, SISLSurf und SISLIntcurve, wobei die für die Kurven-Berechnung relevante Datenstruktur SISLCurve ist. Der C-Struct SISLCurve beinhaltet alle relevanten Informationen einer Kurve, wie die Kontrollpunkte, den Knotenvektor und den Grad der Kurve und kann die verschiedenen Spline-Arten von den Bézier-Kurven bis zu den NURBS repräsentieren. 21

22 3.2. Funktionen für die Definition und Auswertung eines B-Splines Die folgenden Funktionsdefinitionen sind aus der SISL-Dokumentation [SMAN12] entnommen. Die Funktion newcurve erzeugt eine neue SISLCurve-Instanz und gibt einen Zeiger auf die Instanz zurück. Die Signatur ist wie folgt: SISLCurve newcurve ( number, o r d e r, knots, coef, kind, dim, copy ) i n t number ; i n t o r d e r ; double k n o t s [ ] ; double c o e f [ ] ; i n t kind ; i n t dim ; i n t copy ; Die Bedeutung der Eingabeparameter: number Die Anzahl der Kontrollpunkte. order Die Ordnung der Kurve, also der um eins erhöhte Grad (o = p + 1). knots Der Knotenvektor als double-array. coef Die Koordinaten der Kontrollpunkte in einem double-array. Die Länge des Arrays ist dann number dim. kind Ein integer-wert für die Bestimmung der Spline-Art. 1 : polynomialer B-Spline. 2 : rationaler B-Spline (NURBS). 3 : polynomiale Bézier-Kurve. 4 : Rationale Bézier-Kurve. dim Dimension des kartesischen Raumes, in dem die Kurve liegt. copy Ein integer-wert, der angibt, ob die Eingabe-Arrays kopiert werden sollen. Nun wird die Funktion s1227 gezeigt, mit der man die Kurve für einen Parameter-Wert auswerten kann. Die Funktion berechnet den Punkt der Kurve und die ersten Ableitungen für den übergebenen Parameter. Die Signatur der Funktion ist folgendermaßen: void s1227 ( curve, der, p a r v a l u e, l e f t k n o t, d e r i v e, s t a t ) SISLCurve c u r v e ; i n t d e r ; double p a r v a l u e ; i n t l e f t k n o t ; double d e r i v e [ ] ; i n t s t a t ; Die Bedeutung der Eingabeparameter: 22

23 curve der parvalue Zeiger auf die Kurve, die ausgewertet werden soll. Anzahl der ersten Ableitungen, die berechnet werden sollen. < 0 : Fehler = 0 : Berechne nur die Koordinaten des Kurvenpunktes. 1 : Berechne die ersten der Ableitungen. Der Wert des Parameters, für den die Kurve ausgewertet werden soll. Die Bedeutung der Ausgangsparameter: leftknot derive stat Der Wert des linken Knotens des Teilintervalls,in dem der Parameter liegt. Ein double-array der Länge (der + 1) dim, der die Position des Punktes auf der Kurve und die ersten der Ableitungen enthält. Ein integer-wert, der angibt, ob die Berechnung funktioniert hat oder ob es Fehler gab. > 0 : Warnung = 0 : OK < 0 : Fehler Mit diesen beiden Funktionen können Kurven erzeugt und ausgewertet werden, wie im folgenden Beispiel gezeigt wird Ein Anwendungsbeispiel In diesem Anwendungsbeispiel wird eine Möglichkeit gezeigt, wie ein aus einem CAD-Programm exportierter B-Spline aus einer DXF (Drawing Interchange File Format) Datei eingelesen und mithilfe der oben aufgeführten Funktionen ausgewertet werden kann. Das DXF-Format ist ein ASCII-Dateiformat und wurde von der Firma Autodesk eingeführt, um einen Datenaustausch zwischen den verschiedenen CAD-Systemen zu ermöglichen. DXF unterstützt sämtliche Elemente, die Bestandteil einer technischen Zeichnung sind, u.a. Splines. Heute wird das DXF-Format von den meisten CAD- und CNC-Programmen unterstützt (vgl. [WIKI12]). Die Datei in diesem konkreten Beispiel beinhaltet die Informationen zu einen B-Spline, der aus einem in Solidworks erstellten CAD-Modell exportiert wurde. Die Daten in einer DXF-Datei werden in sogenannte Sections und Entities unterteilt. In jeder Section gibt es die sogenannten Gruppen-Codes, dargestellt als Ziffernfolgen, die bestimmte Informationen einleiten. Die Bedeutung der Gruppen-Codes sind in der DXF-Dokumentation von Autodesk ([AUTO12]) aufgelistet. Die Information zu den Splines werden in der Datei schlicht mit der Zeile SPLINE eingeleitet. Danach kommen die verschieden Gruppen- Codes. Die für B-Splines wichtigen Informationen sind der Grad der Kurve, die Kontrollpunkte und die Knotenwerte. Der Grad der Kurve steht unter dem Gruppen-Code 71. Der Gruppen- Code 72 gibt die Anzahl der Knoten an und die Anzahl der Kontrollpunkte wird mit dem Gruppen-Code 73 bestimmt. Der Gruppen-Code 40 gibt die Knotenwerte an. Danach werden je Kontrollpunkt mit den Gruppen-Codes 10, 20 und 30 die jeweiligen x-, y- und 23

24 z-koordinaten angegeben. Ein Ausschnitt der relevanten Stellen der in diesem Beispiel verwendeten Datei ist in Anhang A.11 angegeben. Das Beispielprogramm liest die Informationen aus der Datei ein, erzeugt eine SISLCurve-Instanz und berechnet die Punkte der Kurve über die Methode s1227 für 100 Parameterwerte von 0 bis 1. Die Punkte werden in eine Ausgabedatei geschrieben. Das Programm soll eine Art Proof of Concept darstellen, das zeigt, dass der berechnete Spline identisch mit dem im Programm erstellten Spline ist. Der Programmcode ist in Anhang A.12 angegeben. Die Abbildung 3.1 stellt die von dem Programm berechneten Kurvenpunkte und die Kontrollpunkte in einem Diagramm dar. B-Spline Abbildung 3.1.: Der aus der DXF-Datei ausgelesene B-Spline 24

25 4. Fazit und Ausblick Die Seminararbeit gibt einen kleinen Überblick über die mathematischen Modelle für die Modellierung von Kurven und deren Berechnungsmethoden. Ein tiefgründiges Verständnis für die Theorie der Splines ist nötig, um geeignete Lösungen für Problemstellungen im Bereich des Maschinenbaus zu finden. Beim Räumprozess werden bauteilspezifische Werkzeuge eingesetzt, die an die Geometrie des zu fertigen Bauteils angepasst werden. Dadurch ist eine Analyse der Geometrie des Bauteils anhand des CAD-Modells vonnöten. Eine konkrete Problemstellung, die ich im Rahmen der Bachelorarbeit behandeln werde, ist es, Ansätze zu finden, um die Werkzeugauslegung beim Räumprozess nach bestimmten Kriterien zu optimieren. Die in dieser Bachelorarbeit vorgestellte NURBS-Bibliothek und das Anwendungsbeispiel bieten einen programmatischen Ausgangspunkt. 25

26 Literaturverzeichnis [AUTO12] [BEND03] AutoCAD 2012 DXF Reference pdf_dxf-reference_enu.pdf, 2012 Michael Bender, Manfred Brill: Computergrafik - Ein anwendungsorientiertes Lehrbuch Carl Hanser Verlag München Wien, 2003 [BOOR78] Carl de Boor: A Practical Guide to Splines Springer Verlag New York, 1978 [PRAU02] [SHEN12] [SISL12] H.Prautzsch, W.Boehm, M.Paluszny: Bézier and B-Spline Techniques Springer Verlag Berlin Heidelberg New York, 2002 Dr. C.-K. Shene: CS3621 Introduction to Computing with Geometry Notes shene/courses/cs3621/notes/, 2012 SISL Homepage [SMAN12] SISL The SINTEF Spline Library: Reference Manual manual.pdf, 2012 [WIKI12] Drawing Interchange Format Format,

27 A. Anhang A.1. Implementierung des de Casteljau-Algorithmus: 1 f u n c t i o n p = D e C a s t e l j a u ( P, u ) 2 % P K o n t r o l l p u n k t e ( nx2 Matrix ) 3 % u A u s w e r t e p u n k t e 4 5 n = s i z e ( P, 1 ) ; 6 m = l e n g t h ( u ) ; 7 8 p = z e r o s (m, 2 ) ; 9 10 f o r i = 1 :m 11 Q = P ; 12 f o r k = 1 : n 1 13 Q( 1 : n k, : ) = (1 u ( i ) ) Q( 1 : n k, : ) + u ( i ) Q( 2 : n k + 1, : ) ; 14 end 15 p ( i, : ) = Q ( 1, : ) ; 16 end A.2. Implementierung des de Boor-Algorithmus: 1 f u n c t i o n p = DeBoor ( P, U, d, v ) 2 3 % P K o n t r o l l p u n k t e ( mx2 Matrix ) 4 % U K n o t e n v e k t o r 5 % d Grad der Kurve 6 % v A u s w e r t e p u n k t e 7 8 n = l e n g t h ( v ) ; 9 p = [ ] ; 10 m = s i z e ( P, 1 ) ; %Anzahl der K o n t r o l l p u n k t e 11 sizeu = l e n g t h (U) ; %Anzahl der Knoten f o r j = 1 : n 14 u = v ( j ) ; %Der a k t u e l l e Parameter u 15 %Es wird der I n d e x k g e s u c h t, s o d a s s g i l t U( k ) <= u < U( k +1) 27

28 16 i d s = f i n d ( u >= U) ; 17 k = i d s ( end ) ; 18 s = sum (U == u ) ; %Die V i e l f a c h h e i t des Knotens u %Es wird ü b e r p r ü f t, ob d i e B a s i s f u n k t i o n e n d e f i n i e r t sind, 21 %s o n s t kann der Punkt n i c h t b e r e c h n e t werden. 22 i f ( k d <= 0 k s > m) 23 c o n t i n u e ; 24 end %Die r e l e v a n t e n K o n t r o l l p u n k t e werden u m k o p i e r t. 27 Q = P ( k d : k s, : ) ; 28 h = d s ; 29 f o r r = 1 : h 30 f o r i = h : 1: r 31 a = ( u U( k d+ i ) ) / ( U( k+i r +1) U( k d+ i ) ) ; 32 Q( i + 1, : ) = (1 a ) Q( i, : ) + a Q( i + 1, : ) ; 33 end 34 end i f ( h > 0) 37 p = [ p ;Q( end, : ) ] ; 38 %Der l e t z t e Punkt muss g e s o n d e r t b e h a n d e l t werden. 39 e l s e i f ( k == sizeu ) 40 p = [ p ; P ( end, : ) ] ; 41 e l s e 42 p = [ p ; P ( k d, : ) ] ; 43 end 44 end A.3. Implementierung des de Casteljau-Algorithmus, die außerdem die Zwischenschritte plottet: 1 f u n c t i o n p = D e C a s t e l j a u A l g o r i t h m S t e p ( P, u ) 2 % P K o n t r o l l p u n k t e ( nx2 m a t r i x ) 3 % u Parameter, f ü r den d i e Kurve a u s g e w e r t e t werden s o l l 4 n = s i z e ( P, 1 ) ; 5 hold on 6 f o r k = 0 : n 1 7 i f ( k > 0) 8 P ( 1 : n k, : ) = (1 u ) P ( 1 : n k, : ) + u P ( 2 : n k + 1, : ) ; 9 end 10 p l o t ( P ( 1 : n k, 1 ), P ( 1 : n k, 2 ) ) ; 28

29 11 p l o t ( P ( 1 : n k, 1 ), P ( 1 : n k, 2 ), ks, MarkerSize, 5, MarkerFaceColor, k ) ; 12 l a b e l s = c e l l s t r ( s t r c a t ( num2str ( k ), num2str ( [ 0 : n k 1] ) ) ) ; 13 t e x t ( P ( 1 : n k, 1 ), P ( 1 : n k, 2 ), l a b e l s, V e r t i c a l A l i g n m e n t, bottom, H o r i z o n t a l A l i g n m e n t, r i g h t ) 14 end 15 p = P ( 1, : ) ; A.4. Implementierung des de Boor-Algorithmus, die außerdem die Zwischenschritte plottet: 1 f u n c t i o n DeBoorAlgorithmStep ( P, U, d, u ) 2 % P K o n t r o l l p u n k t e ( mx2 Matrix ) 3 % U K n o t e n v e k t o r 4 % d Grad der Kurve 5 6 m = s i z e ( P, 1 ) ; %Anzahl der K o n t r o l l p u n k t e 7 i d s = f i n d ( u >= U) ; 8 k = i d s ( end ) ; 9 s = sum (U == u ) ; i f ( k d <= 0 k s > m) 12 return ; 13 end Q = P ( k d : k s, : ) ; 16 h = d s ; 17 hold on 18 f o r r = 0 : h 19 i f ( r > 0) 20 f o r i = h : 1: r 21 a = ( u U( k d+ i ) ) / ( U( k+i r +1) U( k d+ i ) ) ; 22 Q( i + 1, : ) = (1 a ) Q( i, : ) + a Q( i + 1, : ) ; 23 end 24 end 25 p l o t (Q( h +1: 1: r +1,1),Q( h +1: 1: r +1,2) ) ; 26 p l o t (Q( h +1: 1: r +1,1),Q( h +1: 1: r +1,2), ks, MarkerSize, 5, MarkerFaceColor, k ) ; 27 disp ( num2str ( [ 0 : r 1] ) ) ; 28 disp ( s t r c a t ( num2str ( r ), num2str ( [ h r +1: 1:0] ) ) ) ; 29 l a b e l s = c e l l s t r ( s t r c a t ( num2str ( r ), num2str ( [ h r : 1 : 0 ] ) ) ) ; 30 t e x t (Q( h +1: 1: r +1,1), Q( h +1: 1: r +1,2), l a b e l s, V e r t i c a l A l i g n m e n t, bottom, H o r i z o n t a l A l i g n m e n t, r i g h t ) 29

30 31 end A.5. Plot-Funktion einer Bézier-Kurve: 1 f u n c t i o n B e z i e r C u r v e ( P, CurveColor ) 2 f u n c t i o n B e z i e r C u r v e ( P, CurveColor ) 3 % P K o n t r o l l p u n k t e ( nx2 Matrix ) 4 % CurveColor Farbe der Kurve 5 6 numpoints = 10 s i z e ( P, 1 ) ; 7 s t e p = 1 / numpoints ; 8 9 p = D e C a s t e l j a u ( P, 0 : s t e p : 1 ) ; hold a l l 12 a x i s e q u a l 13 a x i s o f f 14 p l o t ( P ( :, 1 ), P ( :, 2 ),. b ) ; 15 p l o t ( p ( :, 1 ), p ( :, 2 ), CurveColor, LineWidth, 2 ) ; % o p t i o n a l : p l o t t e t d i e E i n z e l s c h r i t t e des A l g o r i t h m u s 18 D e C a s t e l j a u A l g o r i t h m S t e p ( P, 0. 5 ) ; A.6. Plot-Funktion eines B-Splines 1 f u n c t i o n BSpline ( P, U, d ) 2 % P K o n t r o l l p u n k t e ( mx2 Matrix ) 3 % U K n o t e n v e k t o r 4 % d Grad der Kurve 5 6 numpoints = 10 s i z e ( P, 1 ) ; 7 s t e p = 1 / numpoints ; 8 v = 0 : s t e p : 1 ; 9 10 p = DeBoor ( P, U, d, v ) ; hold on 13 a x i s e q u a l 14 a x i s o f f 15 p l o t ( P ( :, 1 ), P ( :, 2 ),. ) ; 16 p l o t ( p ( :, 1 ), p ( :, 2 ), r, LineWidth, 2 ) ; 17 30

31 18 p = DeBoor ( P, U, d,u( 1, d +1: end d ) ) ; 19 p l o t ( p ( :, 1 ), p ( :, 2 ), ko, MarkerSize, 5, MarkerFaceColor, k ) ; A.7. Berechnung der B-Spline Basisfunktionen: 1 f u n c t i o n N = B S p l i n e B a s i s (U, u, d, n ) 2 % U K n o t e n v e k t o r 3 % d Grad der Kurve 4 % n Anzahl der K o n t r o l l p u n k t e 1 5 N = z e r o s ( n +1,1) ; 6 i f ( u == U( 1 ) ) 7 N( 1 ) = 1 ; 8 return ; 9 e l s e i f ( u == U( end ) ) 10 N( n +1) = 1 ; 11 return ; 12 end i d s = f i n d ( u >= U) ; 15 k = i d s ( end ) ; N( k ) = 1 ; 18 f o r i = 1 : d 19 N( k i ) = (U( k +1) u ) / ( U( k +1) U( k i +1) ) N( k i +1) ; 20 f o r j = k i +1: k 1 21 N( j ) = ( u U( j ) ) / ( U( j + i ) U( j ) ) N( j ) + (U( j + i +1) u ) / ( U( j + i +1) U( j +1) ) N( j +1) ; 22 end 23 N( k ) = ( u U( k ) ) / ( U( k+ i ) U( k ) ) N( k ) ; 24 end A.8. Berechnung der Bernsteinpolynome: 1 f u n c t i o n y = B e r n s t e i n p o l y n o m ( u, n, i ) 2 % Berechnung des B e r n s t e i n p o l y n o m s gemäß der D e f i n i t i o n. 3 % gamma ( n+1) = n! 4 y = gamma( n +1) / ( gamma( i +1) gamma( n i +1) ) u ˆ i (1 u ) ˆ ( n i ) ; A.9. Plot-Funktion der B-Spline Basisfunktionen: 31

32 1 f u n c t i o n p l o t B S p l i n e B a s i s (U, i, d, n ) 2 % U K n o t e n v e k t o r 3 % i V e k t o r m i t den i Werten. 4 % d V e k t o r m i t den zu p l o t t e n d e n Graden. 5 % n Anzahl der K o n t r o l l p u n k t e 1 6 s t e p = ; 7 plotnum = 1 ; 8 % m = Der maximale übergebene Grad 9 m = max ( d ) ; 10 % Es wird über d i t e r i e r t und pro I t e r a t i o n wird e i n 11 % s u b p l o t e r z e u g t. 12 f o r k = d 13 p = [ ] ; 14 f o r u = 0 : s t e p : 1 15 N = B S p l i n e B a s i s (U, u, k, n ) ; 16 p = [ p,n ] ; 17 end 18 s u b p l o t ( 2, 2, plotnum ) ; 19 hold a l l 20 plotnum = plotnum + 1 ; 21 %Für j e d e s i werden d i e B a s i s f u n k t i o n e n g e p l o t t e t 22 f o r t = i 23 % Es s o l l e n nur d i e B a s i s f u n k t i o n e n > 0 g e p l o t t e t werden. 24 i f ( t < m k ) 25 c o n t i n u e 26 end 27 p l o t ( 0 : s t e p : 1, p ( t + 1, : ) ) ; 28 %Die B e z e i c h n e r der B a s i s f u n k t i o n e n werden e i n g e z e i c h n e t. 29 [ y, x ] = max ( p ( t + 1, : ) ) ; 30 t e x t ( x s t e p, y , s p r i n t f ( N%d,%d ( u ), t, k ) ) ; 31 end 32 %Die I n t e r v a l l g r e n z e n werden e i n g e z e i c h n e t. 33 f o r j = 1 :m 34 tmp = U( j +m+1) ; 35 p l o t ( [ tmp, tmp ], [ 0, 1 ], : k ) ; 36 end 37 end A.10. Plot-Funktion der Bernsteinpolynome: 1 f u n c t i o n p l o t B e r n s t e i n ( n ) 2 % n Anzahl der K o n t r o l l p u n k t e 1 32

33 3 hold a l l 4 s t e p = ; 5 f o r i = 0 : n 6 p = [ ] ; 7 f o r u = 0 : s t e p : 1 8 p = [ p, B e r n s t e i n p o l y n o m ( u, n, i ) ] ; 9 end 10 p l o t ( 0 : s t e p : 1, p ) ; 11 [ y, x ] = max ( p ) ; 12 t e x t ( x s t e p, y+(1 y ) , s p r i n t f ( B%d,%d ( u ), n, i ) ) ; 13 end A.11. Ausschnitt aus der DXF-Datei: 1 SPLINE

34 A.12. Programmcode des Anwendungsbeispiels 1 # i n c l u d e s t d a f x. h 2 # i n c l u d e <s t r i n g > 3 # i n c l u d e < s i s l. h> 4 # i n c l u d e <f s t r e a m > 5 # i n c l u d e <i o s t r e a m > 6 7 u s i n g namespace s t d ; 8 9 SISLCurve r e a d A n d E v a l u a t e F i l e ( s t r i n g c o n s t & filename ) 10 { 11 double k n o t A r r a y = 0 ; 12 double c o n t r o l P o i n t s = 0 ; i f s t r e a m e i n g a b e ( filename ) ; i f (! e i n g a b e ) return NULL; s t r i n g z e i l e ; 19 g e t l i n e ( eingabe, z e i l e ) ; / / Es wir d i e S t e l l e g e s u c h t, ab wo d i e S p l i n e i n f o r m a t i o n e n s t e h e n. 22 while ( z e i l e. f i n d ( SPLINE )!= 0) 23 { 24 g e t l i n e ( eingabe, z e i l e ) ; 25 } while ( z e i l e. f i n d ( 71 ) == s t r i n g : : npos ) 28 { 34

35 29 g e t l i n e ( eingabe, z e i l e ) ; 30 } g e t l i n e ( eingabe, z e i l e ) ; / / Der Grad der Kurve wird e i n g e l e s e n. 35 i n t curvedegree = s t o i ( z e i l e ) ; while ( z e i l e. f i n d ( 72 ) == s t r i n g : : npos ) 38 { 39 g e t l i n e ( eingabe, z e i l e ) ; 40 } g e t l i n e ( eingabe, z e i l e ) ; / / Die Anzahl der Knoten wird e i n g e l e s e n 45 i n t numknotvalues = s t o i ( z e i l e ) ; g e t l i n e ( eingabe, z e i l e ) ; 48 g e t l i n e ( eingabe, z e i l e ) ; i n t n u m C o n t r o l P o i n t s = s t o i ( z e i l e ) ; g e t l i n e ( eingabe, z e i l e ) ; 53 while ( z e i l e. f i n d ( 40 ) == s t r i n g : : npos ) 54 { 55 g e t l i n e ( eingabe, z e i l e ) ; 56 } k n o t A r r a y = new double [ numknotvalues ] ; / / Die e i n z e l n e n Knotenwerte werden e i n g e l e s e n. 61 f o r ( i n t i = 0 ; i < numknotvalues ; i ++) 62 { 63 g e t l i n e ( eingabe, z e i l e ) ; 64 k n o t A r r a y [ i ] = s t o d ( z e i l e ) ; 65 g e t l i n e ( eingabe, z e i l e ) ; 66 } c o n t r o l P o i n t s = new double [ n u m C o n t r o l P o i n t s 2 ] ; f o r ( i n t i = 0 ; i < n u m C o n t r o l P o i n t s ; i ++) 71 { 72 g e t l i n e ( eingabe, z e i l e ) ; 73 c o n t r o l P o i n t s [ i 2] = s t o d ( z e i l e ) ; 74 35

36 75 g e t l i n e ( eingabe, z e i l e ) ; 76 g e t l i n e ( eingabe, z e i l e ) ; 77 c o n t r o l P o i n t s [ i 2+1] = s t o d ( z e i l e ) ; / / Die z K o o r d i n a t e wird i g n o r i e r t, da es s i c h h i e r um e i n e 2 d i m e n s i o n a l e Kurve h a n d e l t. 80 g e t l i n e ( eingabe, z e i l e ) ; 81 g e t l i n e ( eingabe, z e i l e ) ; 82 g e t l i n e ( eingabe, z e i l e ) ; 83 } e i n g a b e. c l o s e ( ) ; / / Es wird e i n e SISLCurve I n s t a n z e r z e u g t m i t den e i n g e l e s e n e n Daten. 88 SISLCurve c u r v e = newcurve ( n u m ControlPoints, curvedegree + 1, knotarray, c o n t r o l P o i n t s, 1, 2, 1) ; d e l e t e [ ] k n o t A r r a y ; 91 d e l e t e [ ] c o n t r o l P o i n t s ; o f s t r e a m ausgabe ( C u r v e C o o r d i n a t e s. t x t ) ; 94 i f (! ausgabe ) 95 { 96 return c u r v e ; 97 } i n t l e f t k n o t ; 100 double p o s i t i o n = new double [ 2 ] ; 101 i n t s t a t ; f o r ( double i = 0 ; i <= 1 ; i +=0.01) 104 { 105 / / Es werden d i e Punkte der Kurve f ü r den Parameterwert i b e r e c h n e t. 106 s1227 ( curve, 0, i, &l e f t k n o t, p o s i t i o n, &s t a t ) ; 107 c o u t << i << s t a t << e n d l ; 108 / / Die K o o r d i n a t e n werden i n d i e A u s g a b e d a t e i g e s c h r i e b e n. 109 ausgabe << p o s i t i o n [ 0 ] << \ t << p o s i t i o n [ 1 ] << e n d l ; 110 } d e l e t e [ ] p o s i t i o n ; 113 ausgabe. c l o s e ( ) ; 114 return c u r v e ; 115 } ;

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

0.1 Modellierung von Kurven und Flächen mittels B-Splines Vorlesung vom 28.04.06 Skript erstellt von Antonia Wittmers und Maria Gensel 0.1 Modellierung von Kurven und Flächen mittels B-Splines Das Wort Spline, übersetzt mit längliches, dünnes Stück Holz oder

Mehr

Approximationsverfahren für die Kurvendarstellung

Approximationsverfahren für die Kurvendarstellung Approximationsverfahren für die Kurvendarstellung (a) Bézier-Kurven spezielle Form polynomialer Kurven spezifiziert durch n+1 Kontrollpunkte P 0, P 1,..., P n Kurve läuft nicht durch alle Kontrollpunkte,

Mehr

Kurven. Markus Kraxner 22. Januar 2015

Kurven. Markus Kraxner 22. Januar 2015 Kurven Markus Kraxner 22. Januar 2015 1 Inhaltsverzeichnis 1 Einleitung 3 2 Einleitung Kurven 4 2.1 Parameterdarstellung von Kurven.................. 4 2.2 Ebene Kurven............................. 4 2.3

Mehr

Polynome im Einsatz: Bézier-Kurven im CAD

Polynome im Einsatz: Bézier-Kurven im CAD Polynome im Einsatz: Bézier-Kurven im CAD Dipl.-Inform. Wolfgang Globke Institut für Algebra und Geometrie Arbeitsgruppe Differentialgeometrie Universität Karlsruhe 1 / 25 Kurven im Raum Eine Kurve im

Mehr

Darstellung von Kurven und Flächen

Darstellung von Kurven und Flächen Darstellung von Kurven und Flächen Technische Universität Dresden Fakultät Informatik Institut für Software- und Multimediatechnik Dozent: Dr. Mascolous Referent: Gliederung / Einleitung 1 / 25 1. Kurven

Mehr

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. Kurven und Flächen. Kurven. Parametrische Objekte. Kurven: 1D-Objekte Flächen: 2D-Objekte, basierend auf Kurven Parametrische Objekte Kurven und Flächen Kurven: 1D-Objekte Flächen: 2D-Objekte, basierend auf Kurven Kurven Welche Form der Darstellung? Beispiel: 2D-Linie Explizit: y = k x + d x = (x, y) T Implzit:

Mehr

Teil 2: Kurven und Flächen

Teil 2: Kurven und Flächen Parametrische Objekte Kurven und Flächen Kurven: 1D-Objekte Flächen: 2D-Objekte, basierend auf Kurven Kurven Welche Form der Darstellung? Beispiel: 2D-Linie Explizit: y = k x + d x = (x, y) T Implzit:

Mehr

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

Computergraphik I. Freiformkurven. aus: Farin Curven und Flächen im CAGD. Oliver Deussen Freiformkurven 1 Freiformkurven aus: Farin Curven und Flächen im CAGD Oliver Deussen Freiformkurven 1 Definition für gebogene Kurven und Flächen Anwendungen: CAD: Automobil-, Flugzeug-, Schiffsbau Computergraphik: Objektmodellierung

Mehr

9. Parametrische Kurven und Flächen

9. Parametrische Kurven und Flächen 9. Parametrische Kurven und Flächen Polylinien bzw. Polygone sind stückweise lineare Approximationen für Kurven bzw. Flächen Nachteile: hohe Zahl von Eckpunkten für genaue Repräsentation erforderlich interaktive

Mehr

Unterteilungskurven und -flächen

Unterteilungskurven und -flächen Unterteilungskurven und -flächen Martin Peternell TU Wien 30. Fortbildungstagung für Geometrie 2009, Strobl 1 Unterteilungskurven Allgemein Das wiederholte Unterteilen eines Polygons erzeugt in der Grenze

Mehr

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

Proseminar Bernsteinpolynome Bézier-Flächen. Dana Eckhardt Matr.-Nr: Proseminar Bernsteinpolynome Bézier-Flächen Dana Eckhardt Matr.-Nr: 4291637 Inhaltsverzeichnis 1 Einführung 2 1.1 Grundidee und Darstellung....................... 2 1.2 Satz 3.20.................................

Mehr

Thema des Referats: Darstellung von Kurven und Flächen

Thema des Referats: Darstellung von Kurven und Flächen Technische Universität Dresden im WS 2004/05 Fakultät Informatik Institut für Institut für Software- und Multimediatechnik Proseminar:Computergrafik Dozent:Dr. Mascolous Referent: Patrick Brausewetter

Mehr

11. Darstellung von Kurven und Flächen

11. Darstellung von Kurven und Flächen H.J. Oberle Approximation WS 23/4. Darstellung von Kurven und Flächen Bézier Kurven. Unser Ziel ist es, polynomiale Kurven auf dem Rechner möglichst effizient darzustellen. Hierzu nutzen wir die Basisdarstellung

Mehr

Numerisches Programmieren, Übungen

Numerisches Programmieren, Übungen Technische Universität München SoSe 20 Institut für Informatik Prof Dr Thomas Huckle Dipl-Inf Christoph Riesinger Dipl-Math Jürgen Bräckle Numerisches Programmieren, Übungen Musterlösung 6 Übungsblatt:

Mehr

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

Splines. Bézier-Kurven. Beispiel zur Approximation. Interpolation & Approximation. Schiffbau Automobilbau Architektur. f(x) f(x) = Institut für Geometrie Abteilung für Geometrie im Bauwesen und im Scientific Computing Prof. Dr. H. Pottmann Interpolation & Approximation Splines Geg: Menge von Punkten Ges: Kurve, welche die Punkte interpoliert

Mehr

5 Interpolation und Approximation

5 Interpolation und Approximation 5 Interpolation und Approximation Problemstellung: Es soll eine Funktion f(x) approximiert werden, von der die Funktionswerte nur an diskreten Stellen bekannt sind. 5. Das Interpolationspolynom y y = P(x)

Mehr

Prüfungsdauer: 120 Minuten

Prüfungsdauer: 120 Minuten Computergraphik und Multimediasysteme Seite 1 von 6 Klausur: Computergraphik II Probeklausur Semester: Prüfer: Prüfungsdauer: 1 Minuten Hilfsmittel: Schreibgeräte, Lineal, nichtprogrammierbarer Taschenrechner

Mehr

Splines und B-Splines

Splines und B-Splines 5. Mai 2009 Wozu Splines? Ausgangssituation: Punkte Möglichst weiche Kurve mittels der Punkte generieren Interpolation zwischen den Punkten Lineare Interpolation replacements P(1) P(0) P(t) P(t) = t P(1)

Mehr

Übungen zu Splines Lösungen zu Übung 20

Übungen zu Splines Lösungen zu Übung 20 Übungen zu Splines Lösungen zu Übung 20 20.1 Gegeben seien in der (x, y)-ebene die 1 Punkte: x i 6 5 4 2 1 0 1 2 4 5 6 y i 1 1 1 1 1 + 5 1 + 8 4 1 + 8 1 + 5 1 1 1 1 (a) Skizzieren Sie diese Punkte. (b)

Mehr

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

Computergrafik / Animation. künstliches Objekt, dargestellt durch Anzahl von Punkten in Raum und Zeit (bei bewegten, animierten Objekten). Computergrafik / Animation künstliches Objekt, dargestellt durch Anzahl von Punkten in Raum und Zeit (bei bewegten, animierten Objekten). Punkte, werden auch «Kontrollpunkte» genannt Wesentlicher Punkt:

Mehr

Approximation durch Polynome

Approximation durch Polynome durch n Anwendungen: zur Vereinfachung einer gegebenen Funktion durch einen Polynomausdruck. Dann sind übliche Rechenoperation +,,, / möglich. zur Interpolation von Daten einer Tabelle n Beispiel Trotz

Mehr

Interpolation und Approximation von Funktionen

Interpolation und Approximation von Funktionen Kapitel 6 Interpolation und Approximation von Funktionen Bei ökonomischen Anwendungen tritt oft das Problem auf, dass eine analytisch nicht verwendbare (oder auch unbekannte) Funktion f durch eine numerisch

Mehr

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

Splines. Splines. Vom Gebilde zur Geometrie. Katharina Birner. Institut für Angewandte Geometrie Splines Vom Gebilde zur Geometrie 10.6.2016 Motivation Figure: Schrift Figure: Bézierkurve Motivation Wir wollen etwas in 2D zeichnen. Was benötigen wir? Geraden Kurven Motivation Wir wollen etwas in 2D zeichnen.

Mehr

5 Numerische Mathematik

5 Numerische Mathematik 6 5 Numerische Mathematik Die Numerische Mathematik setzt sich aus mehreren Einzelmodulen zusammen Für alle Studierenden ist das Modul Numerische Mathematik I: Grundlagen verpflichtend In diesem Modul

Mehr

6. Polynom-Interpolation

6. Polynom-Interpolation 6. Polynom-Interpolation 1 6.1. Klassische Polynom-Interpolation 2 6.2. Lösung mit Hilfe Lagrange scher Basisfunktionen 3 6.3. Lösung mit Hilfe Newton scher Basisfunktionen 4 6.4. Fehlerabschätzung für

Mehr

Numerische Verfahren zur Lösung unrestringierter Optimierungsaufgaben. Eine kurze Einführung in Quasi Newton Verfahren

Numerische Verfahren zur Lösung unrestringierter Optimierungsaufgaben. Eine kurze Einführung in Quasi Newton Verfahren Ergänzungen zu dem Buch Numerische Verfahren zur Lösung unrestringierter Optimierungsaufgaben von Carl Geiger und Christian Kanzow (Springer Verlag, 1999) Eine kurze Einführung in Quasi Newton Verfahren

Mehr

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

Kapitel 7. Interpolation und Approximation II. Inhalt: 7.1 Spline-Interpolation 7.2 Trigonometrische Interpolation 7.3 Tschebyscheff-Approximation Kapitel 7. Interpolation und Approximation II Inhalt: 7.1 Spline-Interpolation 7.2 Trigonometrische Interpolation 7.3 Tschebyscheff-Approximation Numerische Mathematik I 275 Interpolation als lineares

Mehr

Spline-Räume - B-Spline-Basen

Spline-Räume - B-Spline-Basen Spline-Räume - B-Spline-Basen René Janssens 4. November 2009 René Janssens () Spline-Räume - B-Spline-Basen 4. November 2009 1 / 56 Übersicht 1 Erster Abschnitt: Räume von Splinefunktionen Grundlegende

Mehr

Kurs über Lineare Gleichungssysteme. PD Dr. Karin Halupczok

Kurs über Lineare Gleichungssysteme. PD Dr. Karin Halupczok Kurs über Lineare Gleichungssysteme PD Dr. Karin Halupczok Mathematisches Institut Albert-Ludwigs-Universität Freiburg http://home.mathematik.unifreiburg.de/halupczok/diverses.html karin.halupczok@math.uni-freiburg.de

Mehr

2.2 Kollineare und koplanare Vektoren

2.2 Kollineare und koplanare Vektoren . Kollineare und koplanare Vektoren Wie wir schon gelernt haben, können wir einen Vektor durch Multiplikation mit einem Skalar verlängern oder verkürzen. In Abbildung 9 haben u und v die gleiche Richtung,

Mehr

Darstellung von Kurven und Flächen

Darstellung von Kurven und Flächen Darstellung von Kurven und Flächen Proseminar Computergraphik, 10. Juni 2008 Christoph Dähne Seite 1 Inhalt Polygonnetze 3 Knotenliste 3 Kantenliste 3 Parametrisierte kubische Kurven 4 Definition 4 Stetigkeit

Mehr

Lineare Algebra 1. Roger Burkhardt

Lineare Algebra 1. Roger Burkhardt Lineare Algebra 1 Roger Burkhardt roger.burkhardt@fhnw.ch Fachhochschule Nordwestschweiz Hochschule für Technik Institut für Geistes- und Naturwissenschaft HS 2008/09 4 Einführung Vektoren und Translationen

Mehr

Mischungsverhältnisse: Nehmen wir an, es stehen zwei Substanzen (zum Beispiel Flüssigkeiten) mit spezifischen Gewicht a = 2 kg/l bzw.

Mischungsverhältnisse: Nehmen wir an, es stehen zwei Substanzen (zum Beispiel Flüssigkeiten) mit spezifischen Gewicht a = 2 kg/l bzw. Kapitel 5 Lineare Algebra 51 Lineare Gleichungssysteme und Matrizen Man begegnet Systemen von linearen Gleichungen in sehr vielen verschiedenen Zusammenhängen, etwa bei Mischungsverhältnissen von Substanzen

Mehr

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

Oberflächenrepräsentationen Kontinuierliche Kurven Bezier-Kurven. Freiformflächen. Diskret Oberflächenrepräsentationen Kontinuierliche Kurven Bezier-Kurven Thomas Jung Freiformflächen NURBS Die Modellierung von Objekten erfordert die geeignete Repräsentation der Oberfläche Je nach Anforderung

Mehr

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

Kurven. Wie können oder sollten Kurven repräsentiert werden? Kurven 1/2 1/2 Wie können oder sollten Kurven repräsentiert werden? 2 1/2 2 1/2 1/2 2 2 1/2 Torniello kam mit Geraden und Kreisen aus. Einige versuchten es nur mit Punkten und Geraden (etwa Hershey im

Mehr

Sie braucht weniger Speicherplatz als das Polygon und

Sie braucht weniger Speicherplatz als das Polygon und Kapitel 7 Kurven Die bisher besprochenen 2D-Objekte haben bis auf den Kreis den Nachteil, daß sie im weitesten Sinne eckig sind. Wenn ein Objekt mit runder Form verlangt wird, z.b. ein Herz, ein Schiffsrumpf,

Mehr

Finite Elemente Methoden (aus der Sicht des Mathematikers) Alfred Schmidt

Finite Elemente Methoden (aus der Sicht des Mathematikers) Alfred Schmidt Finite Elemente Methoden (aus der Sicht des Mathematikers) Alfred Schmidt Übersicht Partielle Differentialgleichungen, Approximation der Lösung Finite Elemente, lineare und höhere Ansatzfunktionen Dünn

Mehr

Numerisches Programmieren, Übungen

Numerisches Programmieren, Übungen Technische Universität München WiSe 07 / 08 Institut für Informatik Univ-Prof Dr Hans-Joachim Bungartz Michael Obersteiner Philipp Samfass Numerisches Programmieren, Übungen Musterlösung 3 Übungsblatt:

Mehr

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

künstliches Objekt, dargestellt durch Anzahl von Punkten in Raum und Zeit (bei bewegten, animierten Objekten). Computergrafik / Animation künstliches Objekt, dargestellt durch Anzahl von Punkten in Raum und Zeit (bei bewegten, animierten Objekten). Punkte, werden auch "Kontrollpunkte" genannt Wesentlicher Punkt:

Mehr

DIPLOMARBEIT. Titel der Diplomarbeit. Optimale Box-Einschließungen von NURBS Kurven. angestrebter akademischer Grad

DIPLOMARBEIT. Titel der Diplomarbeit. Optimale Box-Einschließungen von NURBS Kurven. angestrebter akademischer Grad DIPLOMARBEIT Titel der Diplomarbeit Optimale Box-Einschließungen von NURBS Kurven angestrebter akademischer Grad Magistra der Naturwissenschaften (Mag. rer. nat.) Verfasser: Amra Smajic Matrikel-Nummer:

Mehr

Kantengraphen und Planare Graphen. Seminararbeit

Kantengraphen und Planare Graphen. Seminararbeit Kantengraphen und Planare Graphen Seminararbeit in Mathematisches Seminar für LAK 621.378 SS 2018 vorgelegt von Anna Maria Gärtner bei: Baur, Karin, Univ.-Prof. Dr.phil. Graz, 2018 Inhaltsverzeichnis 1

Mehr

Numerische Verfahren

Numerische Verfahren Numerische Verfahren Interpolation Prof Dr-Ing K Warendorf, Prof Dr-Ing P Wolfsteiner Hochschule für Angewandte Wissenschaften München Fakultät 03 WS 13/14 Prof Dr-Ing K Warendorf (Fakultät 03) Numerische

Mehr

Vektoren - Lineare Abhängigkeit

Vektoren - Lineare Abhängigkeit Vektoren - Lineare Abhängigkeit Linearkombination Eine Linearkombination ist ein Ausdruck r a + r a +... Dabei nennt man die (reellen) Zahlen r i auch Koeffizienten. Lineare Abhängigkeit Wenn ein Vektor

Mehr

Einführung in die linearen Funktionen. Autor: Benedikt Menne

Einführung in die linearen Funktionen. Autor: Benedikt Menne Einführung in die linearen Funktionen Autor: Benedikt Menne Inhaltsverzeichnis Vorwort... 3 Allgemeine Definition... 3 3 Bestimmung der Steigung einer linearen Funktion... 4 3. Bestimmung der Steigung

Mehr

Numerik für Ingenieure I Wintersemester 2008

Numerik für Ingenieure I Wintersemester 2008 1 / 32 Numerik für Ingenieure I Wintersemester 2008 J. Michael Fried Lehrstuhl Angewandte Mathematik III 23.1.2009 2 / 32 Wiederholung Stückweise Polynominterpolation Stückweise lineare Interpolierende

Mehr

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

gekrümmte Flächen / Freiformflächen (analog zur Kurvendarstellung) 7. Modelle für Flächen gekrümmte Flächen / Freiformflächen (analog zur Kurvendarstellung) man unterscheidet 2 Typen: finite Interpolationen / Approximationen: endliche Zahl von Stützstellen / Kontrollpunkten

Mehr

Übungsblatt 3 Musterlösung

Übungsblatt 3 Musterlösung Numerik gewöhnlicher Differentialgleichungen MA4 - SS6 Übungsblatt Musterlösung Sei M,N N und f C M+N+ (B) eine komplexe Funktion, B eine kompakte Menge. Die Padé Approximation PN M (f)(x) ist die rationale

Mehr

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

Kurven und Flächen. Interaktive Kontrolle und Präsentation komplexer Kurven und Flächen (=Modellierung) 3D Modellierung Prof. Dr.-Ing. H.-P. Kurven und Flächen Interaktive Kontrolle und Präsentation komplexer Kurven und Flächen (=Modellierung) 154 Modellieren mit Freiformkurven und -flächen Modellierungsprozesse (Taping) in der Automobilindustrie

Mehr

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

Michael Bender Martin Brill. Computergrafik. Ein anwendungsorientiertes Lehrbuch. 2., überarbeitete Auflage HANSER Michael Bender Martin Brill Computergrafik Ein anwendungsorientiertes Lehrbuch 2., überarbeitete Auflage HANSER Inhaltsverzeichnis Vorwort XI 1 Einleitung 1 1.1 Die Entwicklung der Computergrafik 1 1.2

Mehr

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

Computergrafik. Michael Bender, Manfred Brill. Ein anwendungsorientiertes Lehrbuch ISBN Inhaltsverzeichnis Computergrafik Michael Bender, Manfred Brill Ein anwendungsorientiertes Lehrbuch ISBN 3-446-40434-1 Inhaltsverzeichnis Weitere Informationen oder Bestellungen unter http://www.hanser.de/3-446-40434-1 sowie

Mehr

Vorkurs: Mathematik für Informatiker

Vorkurs: Mathematik für Informatiker Vorkurs: Mathematik für Informatiker Teil 4 Wintersemester 2017/18 Steven Köhler mathe@stevenkoehler.de mathe.stevenkoehler.de 2 c 2017 Steven Köhler Wintersemester 2017/18 Inhaltsverzeichnis Teil 1 Teil

Mehr

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

Bezier-Kurven. Hamid Fetouaki, Emma Skopin. 28. Januar 2009. Universität Kassel FB Mathematik/Informatik Ableitungen von Universität Kassel FB Mathematik/Informatik 28. Januar 2009 Ableitungen von Motivation Bis in den späten 50er Jahren: Zeichnung der Kurven am Papier Fertigung der Modelle aus Holz und Ton

Mehr

Vorkurs: Mathematik für Informatiker

Vorkurs: Mathematik für Informatiker Vorkurs: Mathematik für Informatiker Teil 4 Wintersemester 2018/19 Steven Köhler mathe@stevenkoehler.de mathe.stevenkoehler.de 2 c 2018 Steven Köhler Wintersemester 2018/19 Inhaltsverzeichnis Teil 1 Teil

Mehr

Lineare Gleichungssysteme

Lineare Gleichungssysteme Technische Universität München Christoph Niehoff Ferienkurs Lineare Algebra für Physiker Vorlesung Mittwoch WS 009/00 Die beiden Hauptthemen von diesem Teil des Ferienkurses sind Lineare Gleichungssysteme

Mehr

Vorkurs Mathematik B

Vorkurs Mathematik B Vorkurs Mathematik B Dr. Thorsten Camps Fakultät für Mathematik TU Dortmund 20. September 2011 Definition (R n ) Wir definieren: 1 Der R 2 sei die Menge aller Punkte in der Ebene. Jeder Punkt wird in ein

Mehr

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

8 Interpolation. 8.1 Problemstellung. Gegeben: Diskrete Werte einer Funktion f : R R an n + 1 Stützstellen. x 0 < x 1 <... < x n. 8 Interpolation 81 Problemstellung Gegeben: Diskrete Werte einer Funktion f : R R an n + 1 Stützstellen x 0 < x 1 < < x n Eingabedaten: (x 0, f 0 ),(x 1, f 1 ),,(x n, f n ) Gegebene Daten (x j, f j ) Analysis

Mehr

Vorkurs: Mathematik für Informatiker

Vorkurs: Mathematik für Informatiker Vorkurs: Mathematik für Informatiker Teil 4 Wintersemester 018/19 Steven Köhler mathe@stevenkoehler.de mathe.stevenkoehler.de c 018 Steven Köhler Wintersemester 018/19 Inhaltsverzeichnis Teil 1 Teil Teil

Mehr

1 Potenzen und Polynome

1 Potenzen und Polynome 1 Potenzen und Polynome Für eine reelle Zahl x R und eine natürliche Zahl n N definieren wir x n := x x x... x }{{} n-mal Einschub über die bisher aufgetretenen mathematischen Symbole: Definition mittels

Mehr

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

Institut für Geometrie und Praktische Mathematik Mathematisches Praktikum (MaPra) Sommersemester Aufgabe 5 Rheinisch-Westfälische Technische Hochschule Institut für Geometrie und Praktische Mathematik Mathematisches Praktikum (MaPra) Sommersemester 01 Prof. Dr. Wolfgang Dahmen Yuanjun Zhang, M.Sc., Dipl.-Math.

Mehr

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

QUASI-SPLINE-INTERPOLATION BEZÜGLICH GLEICHMÄSSIGER UNTERTEILUNGEN QUASI-SPLINE-INTERPOLATION BEZÜGLICH GLEICHMÄSSIGER UNTERTEILUNGEN IRYNA FEUERSTEIN Es wir ein Verfahren zur Konstruktion einer quasiinterpolierenden Funktion auf gleichmäßig verteilten Konten vorgestellt.

Mehr

Algorithmik III Algorithmen und Modelle für kontinuierliche Datenstrukturen

Algorithmik III Algorithmen und Modelle für kontinuierliche Datenstrukturen Algorithmik III Algorithmen und Modelle für kontinuierliche Datenstrukturen Rekonstruktion kontinuierlicher Daten Interpolation multivariater Daten Ulrich Rüde Lehrstuhl für Systemsimulation Sommersemester

Mehr

Ganzrationale Funktionen

Ganzrationale Funktionen Eine Dokumentation von Sandro Antoniol Klasse 3f Mai 2003 Inhaltsverzeichnis: 1. Einleitung...3 2. Grundlagen...4 2.1. Symmetrieeigenschaften von Kurven...4 2.1.1. gerade Exponenten...4 2.1.2. ungerade

Mehr

KLAUSUR zur Numerik I mit Lösungen. Aufgabe 1: (10 Punkte) [ wahr falsch ] 1. Die maximale Ordnung einer s-stufigen Quadraturformel ist s 2.

KLAUSUR zur Numerik I mit Lösungen. Aufgabe 1: (10 Punkte) [ wahr falsch ] 1. Die maximale Ordnung einer s-stufigen Quadraturformel ist s 2. MATHEMATISCHES INSTITUT PROF. DR. ACHIM SCHÄDLE 9.8.7 KLAUSUR zur Numerik I mit Lösungen Aufgabe : ( Punkte) [ wahr falsch ]. Die maximale Ordnung einer s-stufigen Quadraturformel ist s. [ ]. Der Clenshaw

Mehr

Lineare Gleichungssysteme

Lineare Gleichungssysteme Kapitel 6 Lineare Gleichungssysteme 6. Gaußalgorithmus Aufgabe 6. : Untersuchen Sie die folgenden linearen Gleichungssysteme mit dem Gaußalgorithmus auf Lösbarkeit und bestimmen Sie jeweils die Lösungsmenge.

Mehr

Irrationale Zahlen. Ausarbeitung zum Proseminar Modul 4c Unendlichkeit. angefertigt von. Felix Schultes. Dozentin: Fr.

Irrationale Zahlen. Ausarbeitung zum Proseminar Modul 4c Unendlichkeit. angefertigt von. Felix Schultes. Dozentin: Fr. Irrationale Zahlen Ausarbeitung zum Proseminar Modul 4c Unendlichkeit angefertigt von Felix Schultes Dozentin: Fr. Regula Krapf Fachbereich 3 Universität Koblenz-Landau 24..207 INHALTSVERZEICHNIS Inhaltsverzeichnis

Mehr

1 Zahlentheorie. 1.1 Kongruenzen

1 Zahlentheorie. 1.1 Kongruenzen 3 Zahlentheorie. Kongruenzen Der letzte Abschnitt zeigte, daß es sinnvoll ist, mit großen Zahlen möglichst einfach rechnen zu können. Oft kommt es nicht darauf, an eine Zahl im Detail zu kennen, sondern

Mehr

Darstellung von Kurven und Flächen

Darstellung von Kurven und Flächen Darstellung von Kurven und Flächen Christoph Dähne 17. Juli 2008 1 Christoph Dähne Darstellung von Kurven und Flächen Überblick 1 Polygonnetze 2 Parametrisierte kubische Kurven 3 Hermite-Kurven 4 Bézier-Kurven

Mehr

3.6 Eigenwerte und Eigenvektoren

3.6 Eigenwerte und Eigenvektoren 3.6 Eigenwerte und Eigenvektoren 3.6. Einleitung Eine quadratische n n Matrix A definiert eine Abbildung eines n dimensionalen Vektors auf einen n dimensionalen Vektor. c A x c A x Von besonderem Interesse

Mehr

Dieses Kapitel vermittelt:

Dieses Kapitel vermittelt: 2 Funktionen Lernziele Dieses Kapitel vermittelt: wie die Abhängigkeit quantitativer Größen mit Funktionen beschrieben wird die erforderlichen Grundkenntnisse elementarer Funktionen grundlegende Eigenschaften

Mehr

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

Geometrisches Modellieren - Körper -Modelle Repräsentationsschemata Primitive Instancing Decomposition Models Constructive Models $PDWRXGXOWPHGD Theorie und Praxis Parametrischer Kurven und Flächen Prof. Dr.-Ing. Detlef Krömker *RHWKH8YHUVWlWÃ)UDNIXUW *UDSKVFKHÃ'DWHYHUDUEHWXJ 5 FNEOFN Geometrisches Modellieren - Körper -Modelle Repräsentationsschemata

Mehr

Partialbruchzerlegung

Partialbruchzerlegung Partialbruchzerlegung Lucas Kunz 27. Januar 207 Inhaltsverzeichnis Theorie 2. Definition.................................... 2.2 Nullstellen höheren Grades........................... 2.3 Residuen-Formel................................

Mehr

T n (1) = 1 T n (cos π n )= 1. deg T n q n 1.

T n (1) = 1 T n (cos π n )= 1. deg T n q n 1. KAPITEL 3. INTERPOLATION UND APPROXIMATION 47 Beweis: Wir nehmen an qx) für alle x [, ] und führen diese Annahme zu einem Widerspruch. Es gilt nach Folgerung ii) T n ) T n cos π n ). Wir betrachten die

Mehr

Matrizen und Drehungen

Matrizen und Drehungen Matrizen und Drehungen 20. Noember 2003 Diese Ausführungen sind im wesentlichen dem Skript zur Vorlesung Einführung in die Theoretische Physik I und II on PD Dr. Horst Fichtner entnommen. Dieses entstand

Mehr

Parallele Algorithmen in der Bildverarbeitung

Parallele Algorithmen in der Bildverarbeitung Seminar über Algorithmen - SoSe 2009 Parallele Algorithmen in der Bildverarbeitung von Christopher Keiner 1 Allgemeines 1.1 Einleitung Parallele Algorithmen gewinnen immer stärker an Bedeutung. Es existieren

Mehr

FEM isoparametrisches Konzept

FEM isoparametrisches Konzept FEM isoparametrisches Konzept home/lehre/vl-mhs--e/deckblatt.tex. p./ Inhaltsverzeichnis. Interpolationsfunktion für die finiten Elemente. Finite-Element-Typen. Geometrie. Interpolations-Ansatzfunktion

Mehr

1 Fraktale Eigenschaften der Koch-Kurve

1 Fraktale Eigenschaften der Koch-Kurve Anhang Inhaltsverzeichnis Fraktale Eigenschaften der Koch-Kurve iii. Einführung.................................. iii.2 Defintion.................................... iii.3 Gesamtlänge der Koch-Kurve........................

Mehr

BC 1.2 Mathematik WS 2016/17. BC 1.2 Mathematik Zusammenfassung Kapitel II: Vektoralgebra und lineare Algebra. b 2

BC 1.2 Mathematik WS 2016/17. BC 1.2 Mathematik Zusammenfassung Kapitel II: Vektoralgebra und lineare Algebra. b 2 Zusammenfassung Kapitel II: Vektoralgebra und lineare Algebra 1 Vektoralgebra 1 Der dreidimensionale Vektorraum R 3 ist die Gesamtheit aller geordneten Tripel (x 1, x 2, x 3 ) reeller Zahlen Jedes geordnete

Mehr

37 Gauß-Algorithmus und lineare Gleichungssysteme

37 Gauß-Algorithmus und lineare Gleichungssysteme 37 Gauß-Algorithmus und lineare Gleichungssysteme 37 Motivation Lineare Gleichungssysteme treten in einer Vielzahl von Anwendungen auf und müssen gelöst werden In Abschnitt 355 haben wir gesehen, dass

Mehr

Vortrag 11: Der Satz von Bézout. Friedrich Feuerstein, Christian Pehle 17. Juli 2009

Vortrag 11: Der Satz von Bézout. Friedrich Feuerstein, Christian Pehle 17. Juli 2009 Vortrag 11: Der Satz von Bézout Friedrich Feuerstein, Christian Pehle 17. Juli 2009 1 Einleitung Ziel dieses Vortrages ist es zu zeigen, dass zwei Kurven vom Grad s bzw. t in der Ebene genau st Schnittpunkte

Mehr

Zusatzmaterial zu Kapitel 4

Zusatzmaterial zu Kapitel 4 1 ERMITTLUNG DER TRANSITIONSMATRIX MIT DER SYLVESTER-FORMEL 1 Zusatzmaterial zu Kapitel 4 1 Ermittlung der Transitionsmatrix mit der Sylvester- Formel Wir nehmen an, dass das Zustandsmodell eines linearen

Mehr

Kapitel 2: Mathematische Grundlagen

Kapitel 2: Mathematische Grundlagen [ Computeranimation ] Kapitel 2: Mathematische Grundlagen Prof. Dr. Stefan M. Grünvogel stefan.gruenvogel@fh-koeln.de Institut für Medien- und Phototechnik Fachhochschule Köln 2. Mathematische Grundlagen

Mehr

Mathematik für Naturwissenschaftler II SS 2010

Mathematik für Naturwissenschaftler II SS 2010 Mathematik für Naturwissenschaftler II SS 2010 Lektion 7 11. Mai 2010 Kapitel 8. Vektoren Definition 76. Betrachten wir eine beliebige endliche Anzahl von Vektoren v 1, v 2,..., v m des R n, so können

Mehr

Geometrische Algorithmen Voronoi-Diagramme. Lernmodul 7: Geo-Algorithmen und -Datenstrukturen - Voronoi-Diagramme

Geometrische Algorithmen Voronoi-Diagramme. Lernmodul 7: Geo-Algorithmen und -Datenstrukturen - Voronoi-Diagramme Folie 1 von 32 Geometrische Algorithmen Voronoi-Diagramme Folie 2 von 32 Voronoi-Diagramme Übersicht Problemstellung Animation zur Konstruktion eines Voronoi-Diagramms Definition, Eigenschaften eines Voronoi-Diagramms

Mehr

Klassische Polynom Interpolation.

Klassische Polynom Interpolation. Klassische Polynom Interpolation. Bestimme ein Polynom (höchstens) n ten Grades p n (x) = a 0 + a 1 x + a 2 x 2 +... + a n x n, das die gegebenen Daten interpoliert, d.h. p n (x i ) = f i, 0 i n. Erster

Mehr

SYSTEMANALYSE 2 Kapitel 7: Zeitdiskrete Modelle

SYSTEMANALYSE 2 Kapitel 7: Zeitdiskrete Modelle Universität Koblenz-Landau Fachbereich 7: Natur-und Umweltwissenschaften Institut für Umweltwissenschaften Dr. Horst Niemes(Lehrbeauftragter) SYSTEMANALYSE 2 Kapitel 7: Zeitdiskrete Modelle 1. Zeitdiskrete

Mehr

Mathematische Probleme lösen mit Maple

Mathematische Probleme lösen mit Maple Mathematische Probleme lösen mit Maple Ein Kurzeinstieg Bearbeitet von Thomas Westermann überarbeitet 2008. Buch. XII, 169 S. ISBN 978 3 540 77720 5 Format (B x L): 15,5 x 23,5 cm Weitere Fachgebiete >

Mehr

Die Unlösbarkeit der Gleichung fünften Grades durch Radikale. Teilnehmer: Gruppenleiter:

Die Unlösbarkeit der Gleichung fünften Grades durch Radikale. Teilnehmer: Gruppenleiter: Die Unlösbarkeit der Gleichung fünften Grades durch adikale Teilnehmer: Max Bender Marcus Gawlik Anton Milge Leonard Poetzsch Gabor adtke Miao Zhang Gruppenleiter: Jürg Kramer Andreas-Oberschule Georg-Forster-Oberschule

Mehr

Viele wichtige Operationen können als lineare Abbildungen interpretiert werden. Beispielsweise beschreibt die lineare Abbildung

Viele wichtige Operationen können als lineare Abbildungen interpretiert werden. Beispielsweise beschreibt die lineare Abbildung Kapitel 3 Lineare Abbildungen Lineare Abbildungen sind eine natürliche Klasse von Abbildungen zwischen zwei Vektorräumen, denn sie vertragen sich per definitionem mit der Struktur linearer Räume Viele

Mehr

(Allgemeine) Vektorräume (Teschl/Teschl 9)

(Allgemeine) Vektorräume (Teschl/Teschl 9) (Allgemeine Vektorräume (Teschl/Teschl 9 Sei K ein beliebiger Körper. Ein Vektorraum über K ist eine (nichtleere Menge V, auf der zwei Operationen deniert sind, die bestimmten Rechenregeln genügen: Eine

Mehr

Aufgaben Fibonacci-Folgen 28. April 2006 Blatt 3 B. Werner SoSe 06

Aufgaben Fibonacci-Folgen 28. April 2006 Blatt 3 B. Werner SoSe 06 25. August 2006 Aufgaben Fibonacci-Folgen 28. April 2006 Blatt 3 B. Werner SoSe 06 Präsenzaufgaben: Aufgabe P9: Man betrachte n Münzwürfe, wobei man mit Null Wappen und mit Eins Zahl codiere. Man erhält

Mehr

Lineare Algebra für D-ITET, D-MATL, RW. Beispiellösung für Serie 6. Aufgabe 6.1. Dr. V. Gradinaru K. Imeri. Herbstsemester 2018.

Lineare Algebra für D-ITET, D-MATL, RW. Beispiellösung für Serie 6. Aufgabe 6.1. Dr. V. Gradinaru K. Imeri. Herbstsemester 2018. Dr. V. Gradinaru K. Imeri Herbstsemester 8 Lineare Algebra für D-ITET, D-MATL, RW ETH Zürich D-MATH Beispiellösung für Serie 6 Aufgabe 6. Multiple Choice: Online abzugeben. 6.a) (i) Welche der folgenden

Mehr

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

NURBS- und Loft- Modelling in Blender von Carina Schiller 2 /27 2 Inhaltsverzeichnis: 1. Zu Blender 2. Grundlagen der Kurven 3. NURBS- Modellierung 4. Loft- Modellierung 5. Zusammenfassung 3 1. Zu Blender Allgemeine Informationen Geschichte - 1988 Gründung NeoGeo durch

Mehr

5.1 Determinanten der Ordnung 2 und 3. a 11 a 12 a 21 a 22. det(a) =a 11 a 22 a 12 a 21. a 11 a 21

5.1 Determinanten der Ordnung 2 und 3. a 11 a 12 a 21 a 22. det(a) =a 11 a 22 a 12 a 21. a 11 a 21 5. Determinanten 5.1 Determinanten der Ordnung 2 und 3 Als Determinante der zweireihigen Matrix A = a 11 a 12 bezeichnet man die Zahl =a 11 a 22 a 12 a 21. Man verwendet auch die Bezeichnung = A = a 11

Mehr

Eigenwerte (Teschl/Teschl 14.2)

Eigenwerte (Teschl/Teschl 14.2) Eigenwerte Teschl/Teschl 4. Ein Eigenvektor einer quadratischen n nmatrix A ist ein Vektor x R n mit x 0, für den Ax ein skalares Vielfaches von x ist, es also einen Skalar λ gibt mit Ax = λ x Ax λ x =

Mehr

Skript Lineare Algebra

Skript Lineare Algebra Skript Lineare Algebra sehr einfach Erstellt: 2018/19 Von: www.mathe-in-smarties.de Inhaltsverzeichnis Vorwort... 2 1. Vektoren... 3 2. Geraden... 6 3. Ebenen... 8 4. Lagebeziehungen... 10 a) Punkt - Gerade...

Mehr

Interpolation und Integration mit Polynomen

Interpolation und Integration mit Polynomen Interpolation und Integration mit Polynomen Philipp Andrea Zardo Universität Kassel 23. Februar 2006 / Kassel Outline 1 Einleitung Was ist numerische Mathematik? Die eulersche e-funktion Ein Wurzelalgorithmus

Mehr