Bezier

Béziers de

Die Bezier-Kurven sind parametrische Kurven mit einem breiten Anwendungsspektrum. Spanne id="Motivation.2 C_Definition ">Motivation, Definition[Bearbeiten | < Quelltext bearbeiten]

Bezier-Kurven der Grad 1, 2 und 3 (rot) und die entsprechenden Kontroll-Polygone (grau).} Sie können sehen, wie die Kennlinie ihre Ausrichtung und/oder Wölbung ändert, wenn ein Kontrollpunkt eingefügt/geändert wird. Der Bézier Kurvenzug [be'zje...] ist eine parameterisch simulierte Kennlinie, die ein wesentliches Hilfsmittel zur Charakterisierung von Freiform-Kurven und -Flächen ist. Generalisierungen des Konzeptes der Bezier-Kurven führen zu Bezier-Oberflächen.

der Kurvenzug kann durch x(t)=a0+a1t+?+antn{\displaystyle {\bf {x}}(t)={\bf {a}}}_{0}+{\bf {a}}}_{1}t+\cdots +{\bf {a}}}_{n}t^{n}\ }. I. a. Die Koeffizientenpunkte ai{\displaystyle {\bf {a}}}_{i}} sprechen nicht viel über die Biegung. auf ("Punkt der Kurve") und a1{\displaystyle {\bf {a}}}}_{1}}} eine Bezier-Kurve[1][2] des (maximalen) Grades n{\displaystyle n}. Bei den Punkten b0,, bn{\displaystyle {\bf {b}}}_{0}, \cdots ,{\bf {b}}_{n}} handelt es sich um Steuerpunkte der Befürworterkurve.

D. h. eine geringfügige Änderung des Punkt-Bi- Anzeige-Stils {\bf {b}}}_{i}} führt nur zu einer wesentlichen Änderung der Kurvenform in der Umgebung von x(i/n){\anzeige-Stil {\bf {x}}}(i/n)}. Merkmale einer Bezierkurve: Das Vieleck b0, b1, , bn{\displaystyle {\bf {b}}}}_{0}, {\bf {b}}_{1}, \cdots ,{\bf {b}}}_{n}} zeigt einen angenäherten Kurvenverlauf. Folgende Eigenschaften[3] sind für die Untersuchung von Bezier-Kurven nützlich: Die Literatur[4] listet weitere Merkmale einer Begrenzungskurve auf:

Der Kurvenverlauf befindet sich innerhalb der gewölbten Hüllkurve des Steuerpolygons. Ein gerader Strich trennt eine Bézier-Kurve nur so oft, wie er sein Steuerpolygon trennt (der Verlauf reduziert die Abweichung oder hat eine begrenzte Abweichung). Wenn alle Passpunkte auf einer Linie verlaufen, wird die Bézier-Kurve zu einer Distanz (Vorteil gegenüber der Polynominterpolation). Die Einflussnahme eines Kontrollpunkts auf die Kennlinie ist umfassend.

Dies bedeutet, dass sich die ganze Linie ändert, wenn Sie einen Messpunkt verschieben. Ein Bézierzug kann immer in zwei Bézier-Kurven der gleichen Ordnung unterteilt werden, mit den neuen Kontrollpunkten, die sich aus den bisherigen mit dem Algorithmus von De-Casteljau zusammensetzen (siehe Kapitel Division einer Bezierkurve). Durch die letzte Überlagerung wird endlich der Kurvenstellenpunkt erzeugt: Das Vieleck des Schrittes r=0{\displaystyle r=0} ist mit dem Anfangspolygon gleich, das Vieleck des Schrittes r=n{\displaystyle r=n} ist ein Knoten, der Kurvenstellen.

der Bezier-Kurve mit dem Steuerungspolygon b0,b1,....,bn{\displaystyle {\bf {b}}}}_{0},{\bf {b}}}_{1},....,{\bf {b}}}}_{n}}}. Dieses Verfahren zum Ermitteln eines Punktes der Bezier-Kurve durch Linearinterpolationen wird als Algorithmus De-Casteljau bezeichnet. Aus dem Steuerungspolygon werden mit Unterstützung des Casteljau-Algorithmus die intermediären Polygone und schliesslich der Polygonpunkt der Bezierkurve erzeugt, wie die Zahl für n=3{\displaystyle n=3} aufzeigt. Geradlinige Bezierkurven (n=1): Rechteckige Bezierkurven (n=2): Eine rechteckige bezierkurven ist der Weg, der durch die Funktionalität b(t){\displaystyle {\bf {b}}(t)} für die Messpunkte P0 definiert ist:

In der letzten Linie ist zu sehen: Eine rechteckige Bezier-Kurve ist eine Flur. Cubic Bézier-Kurven (n=3): Cubic Bézier-Kurven sind in der Anwendung von großer Wichtigkeit, da sowohl bereinigte als auch NURBS Stück für Stück in würfelförmige Bézier-Kurven konvertiert werden, um mit dem Algorithmus De-Casteljau effektiv gezogen zu werden. Weil die Koeffizienzpunkte der Monomialbasis nicht viel über den Kurvensprung sagen, wurden die Repräsentationen mit der Bersteinbasis (Bezier-Kurven) und mit dem Algorithmus De-Casteljau erstellt.

Bei der Punktberechnung (Numerik) hat der Algorithmus von De-Casteljau gegenüber der Bezier-Darstellung deutliche Vorzüge. Bezier-Kurven können aufgrund der vielen formellen Merkmale (siehe oben) der bernsteinfarbenen Polynome in der Theorie einfacher untersucht werden (z.B. Krümmung).

Herleitung der Bezier-Kurve b(t)=?i=0nbiBin(t){\displaystyle \ {\bf {b}}(t)=\sum _{i=0}^{n}{\bf {b}}_{i}B_{i}^{n}(t)\ }: Wenn die tangentialen Vektoren alle am Ausgangspunkt des Nullpunktes des Koordinationssystems anfangen, beschreibt sie eine weitere Bezier-Kurve mit den Passpunkten ?bi:=bi+1-bi{\displaystyle \ \ \Delta {\bf {b}}}_{i}:={\bf {b}}_{i+1}-{\bf {b}}}}_{i}\\.

Insbesondere: Um die höheren Derivate klar zu beschreiben, wird folgender Differenzoperator eingeführt[6]: Das r{\displaystyle r}-th-Derivat der Bezier-Kurve b(t)=?i=0nbiBin(t){\displaystyle \ {\bf {b}(t)=\sum _{i=0}^{n}{\bf {b}}}_{i}B_{i}^{n}(t)} kann jetzt geschrieben werden: Ein wichtiger Eingriff in die Repräsentation einer gegebenen Bezier-Kurve ist die sogenannte Gradzunahme. Ähnlich ist eine feste Bezier-Kurve b(t)=?i=0nbiBin(t){\displaystyle \ {\bf {b}}(t)=\sum _{i=0}^{n}{\bf {b}}_{i}B_{i}^{n}(t)\ \ in der Formel

b( (t)=?i=0n+1bi(1)Bin+1(t){\sdisplaystyle \ {\bf {b}}(t)=\sum _{i=0}^{n+1}{\bf {b}}_{i}^{(1)}B_{i}^{n+1}(t)\ } mit geeignetem neuen Checkpoint b0(1), Zur Bestimmung der neuen Passpunkte multiplizieren Sie die Originaldarstellung mit dem Multiplikator t+(1-t){\displaystyle \ t+(1-t)\ }: Zu den neuen Passpunkten gehören[7]: b0,b11(nn+1),b21(n-1n+1),..... Steigert die Steigung einer Bezierkurve: Eine wiederholte Gradientenerhöhung bewirkt eine Annäherung der Bezier-Kurve durch das Steuerpolygon.

Mit der größeren Zahl von Bedienstellen ergeben sich mehr Freiheiten zur Änderung der Kurven. Es können mehrere Bezier-Kurven auf einen gleichmäßigen Wert gebracht werden. Dadurch können rechteckige Bézier-Kurven als kubisch dargestellt werden, auch wenn ein Vektorzeichnungsprogramm (z.B. Inkscape) oder eine Graphik-Bibliothek (z.B. Kairo) nur würfelförmige Kurven aufnimmt. Ein Bezier-Diagramm:b(t){\displaystyle \Gamma _{0}:{\bf {b}}}(t)} ist in der Regel für 0?t?{\displaystyle 0\leq t\leq 1} Definition.

In diesem Fall ist ?c:b(t){\displaystyle \Gamma _{1}:{\bf {b}}(t)} mit 0?t?c{\displaystyle 0\leq t\leq c} ein Teil der angegebenen Bezier-Kurve. Jetzt die partielle Kurve i{\displaystyle \Gamma _{1}} als Bezier-Kurve c(u)=?i=0nciBin(u){\bf {c}}}(u)=\sum _{i=0}^{n}{\bf {c}}}}_{i}B_{i}^^{n}(u)} mit u?[0, 1 ]{\displaystyle u\in[0,1]} von (gleichem) Grade n{\displaystyle n} mit entsprechenden Passpunkten c0,c1,. Wenn man u:=tc{\displaystyle u: ={\frac {t}{c}} muss folgende Formel eingehalten werden: besitzend, können Ebenenkurven mit rationaler Koeffizientenfunktion als zentrale Projektion einer Bezier-Kurve in 3D-Darstellungsstil \mathbb {R} verwendet werden.

Man kann sie als die zentrale Projektierung einer Berzierkurve in R4{\displaystil \mathbb {R} interpretieren. Somit können die Möglichkeiten der Bezier-Darstellung einer Polynomkurve auch für rationelle Krümmungen genutzt werden. als Punkt der realen Projektionsebene mit der Fernlinie x3=0{\displaystyle x_{3}=0}, der affine Teil (Projektion vom Nullpunkt aus auf die Fläche x3=1{\displaystyle x_{3}=1}) dieser Projektionskurve wird die rationelle Bézierkurve genannt.

Bei den Kontrollpunkten der Bezier-Kurve in R3{\displaystil \mathbb {R}} An der Überleitung zu uneinheitlichen Koordinatensätzen wird ein Steuerpunkt entweder auf den Affinitätspunkt ai:=(xi,yi)T{\bf {a}}}}_{i}:=(x_{i},y_{i})^{T}} oder auf den entfernten Ort in der Himmelsrichtung ai:=(xi,yi)T {\bf {a}}}_{i}:=(x_{i},y_{i})^{T} gesetzt. Das Argument ai{\displaystyle {\bf {a}}}_{i}} wird der tatsächliche oder nicht-aktuelle Steuerpunkt der vernünftigen Bezier-Kurve genannt und die Nummer wi{\displaystyle w_{{i}}} wird das Gewichtung des Steuerpunkts ai{\displaystyle {\bf {a}}}_{i}} genannt.

der erste oder letzte Polygonpunkt des Kontrollpolygons).

Der Tangens im Point a0{\displaystyle {\bf {a}}}}_{0}} oder }\displaystyle {\bf {a}}}}_{n}} hat die Direktion a1-a0{\displaystyle {\bf {a}}}}_{1}-{\bf {a}}}_{0} oder n-an-1{\displaystyle {\bf {a}}}_{n}}-{n}bf {\bf {a}}_{a} Kurzfassung: Eine flache rationelle Bezier-Kurve hat das Steuerungspolygon und die Gewichtungen wi{\displaystyle w_{i}} als Entwurfsparameter. Wenn Sie eine Messkurve erstellen möchten, definieren Sie zunächst die Bedienpunkte ai{\displaystyle {\bf {a}}}_{i}} und die Gewichtungen wi{\displaystyle w_{i}}}.

Hiermit wird auch eine raumbezogene (gewöhnliche) Benzierkurve mit den Passpunkten b0, b1, ?, bn{\displaystyle {\bf {b}}_{0}, {\bf {b}}}_{1}, \cdots ,{\bf {b}}}_{n}}}. Das Projizieren dieser Kennlinie (vom Nullpunkt) auf die y-Achse (x3=1{\displaystyle x_{3}=1}) ergibt dann die flache rationelle Berzierkurve. Die Veränderung der Gewichtungen verändert nicht die Paßpunkte ai{\displaystyle {\bf {a}}}_{i}}, sondern die (räumlichen) Paßpunkte bi{\displaystyle {\bf {b}}}_{i}} und damit die entsprechende Raumbezierkurve und schlussendlich auch die (ebene) Rationalbezierkurve.

Wenn eine Gewichtung wi{\displaystyle w_{i}} vergrößert wird, verschiebt sich der entsprechende Paßpunkt bi{\displaystyle {\bf {b}}_{i}} vom Mittelpunkt weg und folgt der räumlichen Berzierkurve. Die entsprechende Kontrollstelle ai{\displaystyle {\bf {a}}_{i}} ändert sich nicht. Der rationelle Bezier-Kurve nähert sich ihm an (siehe Bild). Bei Gewichtsreduzierung verlagert sich die Kennlinie vom Steuerpunkt weg.

Wenn alle Gewichtungen 1 sind, ist die rationelle Bezier-Kurve eine normale Bezier-Kurve mit Passpunkten ai{\displaystyle {\bf {a}}}_{i}}. Gleichnis: Ein Bezier-Kurve des zweiten Grades mit nicht-kollinearen Passpunkten b0,b1,b2{\displaystyle {\bf {b}}}_{0},{\bf {b}}}}_{1}, \bf {b}}}}_{2}} in R3/R2{\displaystyle \mathbb {R} Um eine Flur als (ganz-)rationale Bezier-Kurve abzubilden, werden drei nicht-kollineare Passpunkte a0,a1,a2{\displaystyle {\bf {a}}}}}_{0} ausgewählt,

Das letztere bedeutet: Die Passpunkte sind alle tatsächlich. Es handelt sich um die Paßpunkte und Gewichtungen der entsprechenden (flachen) rationellen Bezierkurve: w0=1,w1=1/2,w2=1{\displaystyle \ w_{0}=1\;,\;w_{1}=1/2\;,\;w_{2}=1\ }. a0,a2{\displaystyle {\bf {a}}}}_{0},{\bf {a}}}}_{2}} sind unangemessene Kontrolle. So ?=0,?=1,?=0{\displaystyle \ \delta _{0}=0\;,\;\delta _{1}=1\;,\;\;\delta _{2}=0\ } und der Nominator ( "siehe oben") der Rationalkomponenten ist t(1-t){\displaystyle \ t(1-t)\ }.

Das Ändern a0=( (c,0)T{\displaystyle \ {\bf {a}}}}_{0}=(c,0)^{T}\ } gibt eine rationelle Bezier-Darstellung der Hyberbel y=c/x{\displaystyle y=c/x} zurück. halbkreisförmig (rot) als rationelle Bezier-Kurve. Zirkel: Im nachfolgenden Beispiel sind die Paßpunkte der (räumlichen) Parabel: Die Paßpunkte und Gewichtungen der zugehörigen rationellen Bezier-Kurve sind:

So ist ?=1,?=0,?=1{\displaystyle \ \delta _{0}=1\;,\;\delta _{1}=0\;,\;\delta _{2}=1\ } und der Nominator ( "Nenner", siehe oben) der rationellen Bestandteile t2+(1-t)2{\displaystyle \ t^{2}+(1-t)^{2}}. Dies ist für 0?t?t{\displaystyle 0\leq t\leq 1} eine rationelle Parametereingabe von einem Halbkreis. a>0, b>0, \ } Sie erhalten eine rationelle Bezier-Darstellung der Ellipse wird mit der Formel x2a2+y2b2=1{\displaystyle \ {\frac {x^{2}}}{a^{2}}}}+{\frac {y^{2}}}}{b^{2}}}}=1\ }.

Unterteilt man einen Zirkel in nur zwei (gleich große) Abschnitte und bewegt sich mit kubischen Bézier-Kurven an die Halbkugeln heran, treten grössere Abweichungen von der Kreisform auf. Bei einer oft verwendeten, einfachen Kreisrealisierung werden vier Viertel-Kreisbögen eingesetzt, die als würfelförmige Bézier-Kurven wiedergegeben werden. Bei der Auswahl der weiteren Bedienpunkte P1{\displaystyle P_{1}} und P2{\displaystyle P_{2}} werden P1{\displaystyle P_{1}} bis {\displaystyle P_{0}} und P2{\displaystyle P_{2}} bis P3{\displaystyle P_{3}} im Zwischenraum angeordnet ?r{\displaystyle \kappa-r}.

Am Rande des Feldes befinden sich die vier Bedienpunkte mit den Eckenpunkten M=(0|0){\displaystyle M=(0|0)}, P0=(r|0){\displaystyle P_{0}=(r|0)}, P3=(0|r){\displaystyle P_{3}=(0|r)} und (r|r){\displaystyle (r|r)}. Somit ist auch die aus den Viertelkreisannäherungen bestehende Kennlinie in den Knoten "glatt". In der kubischen Bézier-Kurve t?(x?(t)|y?(t)){\displaystyle t\mapsto (x_{\kappa }(t)|y_{\kappa }(t))} Das folgende Formular (t?[0;1]{\displaystyle t\in[0;1]}) enthält diese Kontrollpunkte:

Mehr zum Thema