www.wikidata.de-de.nina.az
Die Bezierkurve be zje ist eine parametrisch modellierte Kurve die ein wichtiges Werkzeug bei der Beschreibung von Freiformkurven und flachen darstellt Bezier Kurve 3 Grades und ihr KontrollpolygonBezierkurven der Grade 1 2 und 3 rot und die zugehorigen Kontrollpolygone grau Von links nach rechts wurde jeweils ein weiterer Kontrollpunkt blau hinzu gefugt Man erkennt wie die Kurve bei Einfugen Verandern eines Kontrollpunkts ihre Richtung und oder Krummung variiert source source source source source source source Bezierkurven 1 2 3 Ordnung in Geogebra siehe auch interaktives Geogebra Applet In der Computergrafik finden Bezierkurven wegen ihrer optischen Eleganz und der verhaltnismassig leichten mathematischen Handhabbarkeit haufig Anwendung Sie werden zur Definition von Kurven und Flachen in Vektorgrafiken genutzt Mogliche Anwendungsfalle finden sich z B im Computer Aided Design bei der Erstellung von Illustrationen siehe z B SVG oder der Beschreibung von Schrifttypen z B Postscript Type1 TrueType und CFF OpenType Die Bezierkurve wurde Anfang der 1960er Jahre unabhangig voneinander von Pierre Bezier bei Renault und Paul de Casteljau bei Citroen fur Computer Aided Design computerunterstutzte Konstruktion entwickelt Paul de Casteljau gelang zwar die Entdeckung fruher Citroen hielt seine Forschungen jedoch bis zum Ende der 1960er Jahre als Betriebsgeheimnis zuruck Verallgemeinerungen des Konzepts der Bezierkurven fuhren zu den Bezierflachen Inhaltsverzeichnis 1 Motivation Definition 2 Weitere Eigenschaften der Bernsteinbasis 3 Weitere Eigenschaften einer Bezierkurve 4 Der De Casteljau Algorithmus 5 Bezierkurven bis zum dritten Grad 6 Vergleich der Kurvendarstellungen 7 Ableitungen einer Bezier Kurve 8 Graderhohung einer Bezierkurve 9 Teilung einer Bezierkurve 10 Rationale Bezierkurven 10 1 Rationale Kurven und projektive Kurven 10 2 Ebene rationale Bezierkurven 10 3 Kegelschnitte als rationale Bezierkurven 11 Anwendung Kreisapproximation durch kubische Bezierkurven 12 Literatur 13 Weblinks 14 EinzelnachweiseMotivation Definition BearbeitenNumerisch einfache Kurven in der Ebene sind solche die mit Hilfe einer Parameterdarstellung x t x t y t T t 1 t t 2 displaystyle bf x t x t y t T t 1 leq t leq t 2 nbsp beschrieben werden wobei x t displaystyle x t nbsp und y t displaystyle y t nbsp Polynome in t displaystyle t nbsp sind Ist x t a 0 a 1 t a 2 t 2 a n t n displaystyle x t a 0 a 1 t a 2 t 2 cdots a n t n nbsp y t b 0 b 1 t b 2 t 2 b n t n displaystyle y t b 0 b 1 t b 2 t 2 cdots b n t n nbsp und setzt man a i a i b i T displaystyle bf a i a i b i T nbsp so lasst sich die Kurve ubersichtlicher durch x t a 0 a 1 t a 2 t 2 a n t n displaystyle bf x t bf a 0 bf a 1 t bf a 2 t 2 cdots bf a n t n nbsp beschreiben Im Allgemeinen lasst sich direkt aus den Koeffizienten Punkten a i displaystyle bf a i nbsp nur wenig uber den Kurvenverlauf aussagen Lediglich a 0 displaystyle bf a 0 nbsp Anfangspunkt der Kurve und a 1 displaystyle bf a 1 nbsp Tangentialvektor der Kurve an a 0 displaystyle bf a 0 nbsp haben konkrete geometrische Bedeutungen Dies andert sich wenn man die Polynome x t y t displaystyle x t y t nbsp nicht in der Monom Basis 1 t t 2 t n displaystyle 1 t t 2 dotsc t n nbsp sondern in der folgenden Bernsteinbasis B 0 n t B 1 n t B n n t displaystyle B 0 n t B 1 n t dotsc B n n t nbsp darstellt B i n t n i t i 1 t n i 0 i n displaystyle quad B i n t n choose i t i 1 t n i quad 0 leq i leq n nbsp Es sei nun n gt 0 displaystyle n gt 0 nbsp festgewahlt und die Vektoren b 0 b 1 b n displaystyle bf b 0 bf b 1 dotsc bf b n nbsp beschreiben ein ebenes oder raumliches Polygon Dann heisst die Darstellung x b t i 0 n n i t i 1 t n i b i b 0 B 0 n t b 1 B 1 n t b n B n n t 0 t 1 displaystyle quad begin aligned bf x bf b t amp sum i 0 n binom n i t i 1 t n i bf b i amp bf b 0 B 0 n t bf b 1 B 1 n t cdots bf b n B n n t quad 0 leq t leq 1 end aligned nbsp eine Bezierkurve 1 2 vom maximalen Grad n displaystyle n nbsp Die Punkte b 0 b n displaystyle bf b 0 dotsc bf b n nbsp nennt man Kontrollpunkte der Bezierkurve Eigenschaften der Bernsteinpolynome nbsp BernsteinpolynomeB 0 n t B 1 n t B n n t 1 displaystyle B 0 n t B 1 n t cdots B n n t 1 nbsp B 0 n 0 1 B i n 0 0 displaystyle B 0 n 0 1 B i n 0 0 nbsp fur i gt 0 B n n 1 1 B i n 1 0 displaystyle i gt 0 quad B n n 1 1 B i n 1 0 nbsp fur i lt n displaystyle i lt n nbsp Das Bernsteinpolynom B i n displaystyle B i n nbsp hat genau ein Maximum und zwar an der Stelle t i n displaystyle t i n nbsp D h eine leichte Veranderung des Punktes b i displaystyle bf b i nbsp hat nur in der Umgebung von x i n displaystyle bf x i n nbsp eine wesentliche Veranderung der Kurve zur Folge Eigenschaften einer Bezierkurve b 0 displaystyle bf b 0 nbsp ist der Anfangs b n displaystyle bf b n nbsp der Endpunkt b 1 b 0 displaystyle bf b 1 bf b 0 nbsp ist die Richtung der Tangente im Punkt b 0 x 0 b n 1 b n displaystyle bf b 0 bf x 0 bf b n 1 bf b n nbsp ist die Richtung der Tangente im Punkt b n x 1 displaystyle bf b n bf x 1 nbsp Das Polygon b 0 b 1 b n displaystyle bf b 0 bf b 1 dotsc bf b n nbsp gibt einen ungefahren Verlauf der Kurve an Weitere Eigenschaften der Bernsteinbasis BearbeitenFur Untersuchungen von Bezierkurven sind die folgenden Eigenschaften 3 nutzlich Beziehung zwischen der Bernstein und der Monom Basis MB t i j i n j i n i B j n t B i n t j i n 1 j i n j j i t j displaystyle qquad t i sum j i n frac j choose i n choose i B j n t qquad B i n t sum j i n 1 j i n choose j j choose i t j nbsp Rekursion R B i n t 1 t B i n 1 t t B i 1 n 1 t displaystyle qquad B i n t 1 t B i n 1 t tB i 1 n 1 t nbsp Skalierung S B i n c t j 0 n B i j c B j n t displaystyle qquad B i n ct sum j 0 n B i j c B j n t nbsp Ableitung A d d t B i n t n B i 1 n 1 t B i n 1 t displaystyle qquad frac d dt B i n t n left B i 1 n 1 t B i n 1 t right nbsp Man beachte dass B 1 t 0 B n n 1 t 0 displaystyle B 1 cdots t 0 B n n 1 t 0 nbsp ist Produkt P B i m t B j n t m i n j m n i j B i j m n t displaystyle qquad B i m t B j n t frac m choose i n choose j m n choose i j B i j m n t nbsp Weitere Eigenschaften einer Bezierkurve BearbeitenIn der Literatur 4 werden noch weitere Eigenschaften einer Bezierkurve aufgelistet Die Kurve liegt innerhalb der konvexen Hulle des Kontrollpolygons Dies folgt daraus dass die Bernsteinpolynome vom Grad n displaystyle n nbsp eine Zerlegung der Eins sind 1 i 0 n B i n t t 0 1 displaystyle 1 sum i 0 n B i n t quad t in 0 1 nbsp dd Die ersten Summanden des Taylorpolynoms bei t 0 displaystyle t 0 nbsp bzw bei t 1 displaystyle t 1 nbsp lauten fur n 2 displaystyle n geq 2 nbsp b t b 0 n b 1 b 0 t n n 1 2 b 0 2 b 1 b 2 t 2 O t 3 displaystyle bf b t bf b 0 n bf b 1 bf b 0 t frac n n 1 2 bf b 0 2 bf b 1 bf b 2 t 2 mathcal O t 3 nbsp b t b n n b n 1 b n 1 t n n 1 2 b n 2 2 b n 1 b n 1 t 2 O 1 t 3 displaystyle bf b t bf b n n bf b n 1 bf b n 1 t frac n n 1 2 bf b n 2 2 bf b n 1 bf b n 1 t 2 mathcal O 1 t 3 nbsp dd Eine Gerade schneidet eine Bezierkurve hochstens so oft wie sie ihr Kontrollpolygon schneidet die Kurve ist variationsreduzierend bzw hat eine beschrankte Schwankung Eine affine Transformation Verschiebung Skalierung Rotation Scherung kann auf die Bezierkurve durch Transformation des Kontrollpolygons angewendet werden affine Invarianz Liegen alle Kontrollpunkte auf einer Geraden so wird die Bezierkurve zu einer Strecke Vorteil gegenuber der Polynominterpolation Der Einfluss eines Kontrollpunktes auf die Kurve ist global Das heisst Verschiebt man einen Punkt verandert sich die gesamte Kurve Daher verwendet man in der Praxis meist Splines zusammengesetzte Kurven festen Grades die stetig ineinander ubergehen Eine Bezierkurve kann immer in zwei Bezierkurven gleicher Ordnung geteilt werden wobei sich die neuen Kontrollpunkte aus den alten mit Hilfe des De Casteljau Algorithmus ergeben s Abschnitt Teilung einer Bezierkurve Der De Casteljau Algorithmus Bearbeiten Hauptartikel De Casteljau Algorithmus Hohere Potenzen von t displaystyle t nbsp auszurechnen ist numerisch instabil Der folgende Algorithmus fuhrt deshalb die Berechnung eines Kurvenpunktes auf wiederholte lineare Interpolation zuruck In jedem Schritt wird mittels linearer Interpolation ein neues um 1 kurzeres Polygon berechnet s Bild Bei der letzten Interpolation entsteht schliesslich der Kurvenpunkt nbsp De Casteljau Algorithmus fur eine Bezier Kurve 3 GradesFur das Polygon b 0 b 1 b n displaystyle bf b 0 bf b 1 dots bf b n nbsp im R 2 displaystyle mathbb R 2 nbsp oder R 3 displaystyle mathbb R 3 nbsp und einem t R displaystyle t in mathbb R nbsp definiert man rekursiv fur jedes r 1 n displaystyle r 1 dots n nbsp das Polygon b i r t 1 t b i r 1 t t b i 1 r 1 t i 0 n r displaystyle quad bf b i r t 1 t bf b i r 1 t t bf b i 1 r 1 t quad i 0 dots n r nbsp erzeugt Dabei sei b i 0 t b i displaystyle bf b i 0 t bf b i nbsp Das Polygon der Stufe r 0 displaystyle r 0 nbsp ist identisch mit dem Ausgangspolygon das Polygon der Stufe r n displaystyle r n nbsp ist ein Punkt der Kurvenpunkt Aus der Rekursionseigenschaft R der Bernsteinpolynome folgt b i r t j 0 r b i j B j r t displaystyle bf b i r t sum j 0 r bf b i j B j r t nbsp fur r 0 n i 0 n r displaystyle r 0 dots n i 0 dots n r nbsp Beweis mit Hilfe vollstandiger Induktion uber r Also ist b 0 n t j 0 n b j B j n t displaystyle quad bf b 0 n t sum j 0 n bf b j B j n t nbsp die Bezierkurve mit dem Kontrollpolygon b 0 b 1 b n displaystyle bf b 0 bf b 1 dots bf b n nbsp Diese Methode einen Punkt der Bezierkurve durch lineare Interpolationen zu bestimmen heisst De Casteljau Algorithmus Wie fur ein t R displaystyle t in mathbb R nbsp mit Hilfe des Casteljau Algorithmus aus dem Kontrollpolygon die Zwischenpolygone und schliesslich der Punkt der Bezierkurve entsteht zeigt die Abbildung fur n 3 displaystyle n 3 nbsp Die neuen Punkte teilen immer die alten Strecken auf denen sie liegen im gleichen Verhaltnis 1 t t displaystyle 1 t t nbsp Bezierkurven bis zum dritten Grad Bearbeiten nbsp lineare BezierkurveLineare Bezierkurven n 1 displaystyle n 1 nbsp Zwei Kontrollpunkte P 0 b 0 displaystyle P 0 bf b 0 nbsp und P 1 b 1 displaystyle P 1 bf b 1 nbsp bestimmen eine gerade Strecke zwischen diesen beiden Punkten Der Verlauf dieser linearen Bezier kurve wird beschrieben durch b t 1 t b 0 t b 1 t 0 1 displaystyle bf b t 1 t bf b 0 t bf b 1 mbox t in 0 1 nbsp Quadratische Bezierkurven n 2 displaystyle n 2 nbsp nbsp quadratische Bezierkurve mit Casteljau AlgorithmusEine quadratische Bezierkurve ist der Pfad der durch die Funktion b t displaystyle bf b t nbsp fur die Punkte P 0 b 0 displaystyle P 0 bf b 0 nbsp P 1 b 1 displaystyle P 1 bf b 1 nbsp und P 2 b 2 displaystyle P 2 bf b 2 nbsp beschrieben wird b t i 0 2 2 i t i 1 t 2 i b i 1 t 2 b 0 2 t 1 t b 1 t 2 b 2 b 0 2 b 1 b 2 t 2 2 b 0 2 b 1 t b 0 t 0 1 displaystyle begin aligned bf b t amp sum i 0 2 binom 2 i t i 1 t 2 i bf b i amp 1 t 2 bf b 0 2t 1 t bf b 1 t 2 bf b 2 amp bf b 0 2 bf b 1 bf b 2 t 2 2 bf b 0 2 bf b 1 t bf b 0 mbox t in 0 1 end aligned nbsp Die letzte Zeile zeigt Eine quadratische Bezierkurve ist eine Parabel Mit Hilfe des De Casteljau Algorithmus ausgedruckt b t b 0 2 t displaystyle bf b t bf b 0 2 t nbsp b 0 2 t 1 t 1 t b 0 b 0 0 t b 1 b 1 0 b 0 1 t t 1 t b 1 b 1 0 t b 2 b 2 0 b 1 1 t displaystyle bf b 0 2 t 1 t underbrace Bigl 1 t overbrace bf b 0 bf b 0 0 t overbrace bf b 1 bf b 1 0 Bigr bf b 0 1 t t underbrace Bigl 1 t overbrace bf b 1 bf b 1 0 t overbrace bf b 2 bf b 2 0 Bigr bf b 1 1 t nbsp Kubische Bezierkurven n 3 displaystyle n 3 nbsp nbsp kubische Bezierkurve mit Casteljau AlgorithmusKubische Bezierkurven sind in der Praxis von grosser Bedeutung da sowohl B Spline Kurven als auch NURBS stuckweise in kubische Bezierkurven umgewandelt werden um dann effizient mit dem De Casteljau Algorithmus gezeichnet zu werden Selbiges gilt fur hermitesche Splines die in ihrer kubischen Form vor allem in der Computeranimation zur Interpolation zwischen Keyframes verwendet werden b t i 0 3 3 i t i 1 t 3 i b i 1 t 3 b 0 3 t 1 t 2 b 1 3 t 2 1 t b 2 t 3 b 3 b 0 3 b 1 3 b 2 b 3 t 3 3 b 0 6 b 1 3 b 2 t 2 3 b 0 3 b 1 t b 0 t 0 1 displaystyle begin aligned bf b t amp sum i 0 3 binom 3 i t i 1 t 3 i bf b i amp 1 t 3 bf b 0 3t 1 t 2 bf b 1 3t 2 1 t bf b 2 t 3 bf b 3 amp bf b 0 3 bf b 1 3 bf b 2 bf b 3 t 3 3 bf b 0 6 bf b 1 3 bf b 2 t 2 3 bf b 0 3 bf b 1 t bf b 0 t in 0 1 end aligned nbsp Mit Hilfe des De Casteljau Algorithmus ausgedruckt b t b 0 3 t displaystyle bf b t bf b 0 3 t nbsp b 0 3 t 1 t 1 t 1 t b 0 t b 1 b 0 1 t t 1 t b 1 t b 2 b 1 1 t b 0 2 t t 1 t 1 t b 1 t b 2 b 1 1 t t 1 t b 2 t b 3 b 2 1 t b 1 2 t displaystyle begin aligned bf b 0 3 t 1 t amp underbrace Bigl 1 t overbrace bigl 1 t bf b 0 t bf b 1 bigr bf b 0 1 t t overbrace bigl 1 t bf b 1 t bf b 2 bigr bf b 1 1 t Bigr bf b 0 2 t t amp underbrace Bigl 1 t overbrace bigl 1 t bf b 1 t bf b 2 bigr bf b 1 1 t t overbrace bigl 1 t bf b 2 t bf b 3 bigr bf b 2 1 t Bigr bf b 1 2 t end aligned nbsp Vergleich der Kurvendarstellungen Bearbeiten nbsp Vergleich zwischen KurvendarstellungenPolynomiale Kurven d h die Koordinaten sind Polynome bzgl t displaystyle t nbsp lassen sich in der Monom Basis der Bernsteinbasis und mit Hilfe des De Casteljau Algorithmus fortgesetzte lineare Interpolation beschreiben Da die Koeffizientenpunkte der Monom Basis nicht viel uber den Kurvenverlauf aussagen entstanden die Darstellungen mit der Bernstein Basis Bezier Kurven und mit dem De Casteljau Algorithmus Die letzten beiden haben allerdings auch Vor und Nachteile Der De Casteljau Algorithmus hat gegenuber der Bezierdarstellung bei der Berechnung der Punkte Numerik Vorteile Bezierkurven lassen sich dafur durch die vielen formalen Eigenschaften s o der Bernstein Polynome leichter theoretisch z B Krummung untersuchen Der numerische Nachteil der Bezier Kurven Auswertung der Bernstein Polynome lasst sich durch eine dem Horner Schema ahnlichen Methode ausgleichen 5 function bezier comp degree integer coeff r array t real real Berechnet eine Komponente einer Bezier Kurve Aus FARIN Curves and Surfaces var i n choose i integer fact t1 aux real begin t1 1 t fact 1 n choose i 1 aux coeff 0 t1 for i 1 to degree 1 do begin fact fact t n choose i n choose i degree i 1 div i aux aux fact n choose i coeff i t1 end aux aux fact t coeff degree bezier comp aux end bezier comp Ableitungen einer Bezier Kurve BearbeitenMit Hilfe der Ableitungen der Bernsteinpolynome ergibt sich fur die 1 Ableitung der Bezierkurve b t i 0 n B i n t b i displaystyle bf b t sum i 0 n B i n t bf b i nbsp d d t b t n i 0 n 1 B i n 1 t b i 1 b i displaystyle frac d dt bf b t n sum i 0 n 1 B i n 1 t bf b i 1 bf b i nbsp Lasst man die Tangentenvektoren alle im Nullpunkt des Koordinatensystems beginnen so beschreiben sie eine weitere Bezierkurve mit den Kontrollpunkten D b i b i 1 b i displaystyle Delta bf b i bf b i 1 bf b i nbsp Speziell gilt d d t b 0 n b 1 b 0 displaystyle frac d dt bf b 0 n bf b 1 bf b 0 quad nbsp und d d t b 1 n b n b n 1 displaystyle quad frac d dt bf b 1 n bf b n bf b n 1 nbsp Um hohere Ableitungen ubersichtlich schreiben zu konnen fuhrt man folgenden Differenzenoperator ein 6 D r b i D r 1 b i 1 D r 1 b i displaystyle Delta r bf b i Delta r 1 bf b i 1 Delta r 1 bf b i nbsp Es ist D 0 b i b i D 1 b i b i 1 b i D 2 b i b i 2 2 b i 1 b i D 3 b i b i 3 3 b i 2 3 b i 1 b i D r b i j 0 r r j 1 r j b i j displaystyle begin array rcl Delta 0 bf b i amp amp bf b i Delta 1 bf b i amp amp bf b i 1 bf b i Delta 2 bf b i amp amp bf b i 2 2 bf b i 1 bf b i Delta 3 bf b i amp amp bf b i 3 3 bf b i 2 3 bf b i 1 bf b i amp vdots Delta r bf b i amp amp sum j 0 r r choose j 1 r j bf b i j end array nbsp Die r displaystyle r nbsp te Ableitung der Bezierkurve b t i 0 n b i B i n t displaystyle bf b t sum i 0 n bf b i B i n t nbsp lasst sich jetzt wie folgt schreiben d r d t r b t n n r i 0 n r D r b i B i n r t displaystyle frac d r dt r bf b t frac n n r cdot sum i 0 n r Delta r bf b i B i n r t nbsp Speziell fur t 0 displaystyle t 0 nbsp und t 1 displaystyle t 1 nbsp erhalt man d r d t r b 0 n n r D r b 0 displaystyle frac d r dt r bf b 0 frac n n r Delta r bf b 0 quad nbsp und d r d t r b 1 n n r D r b n r displaystyle quad frac d r dt r bf b 1 frac n n r Delta r bf b n r nbsp Graderhohung einer Bezierkurve BearbeitenEine wichtige Manipulation der Darstellung einer vorgegebenen Bezierkurve ist die sog Graderhohung Sie ist vergleichbar mit dem Anfugen von Termen 0 t n 1 0 t n 2 displaystyle 0t n 1 0t n 2 dots nbsp an ein Polynom a 0 a 1 t a n t n displaystyle a 0 a 1 t cdots a n t n nbsp Dabei andert sich das Polynom nicht und der scheinbare Grad wird erhoht Analog stellt man eine fest vorgegebene Bezierkurve b t i 0 n b i B i n t displaystyle bf b t sum i 0 n bf b i B i n t nbsp in der Form b t i 0 n 1 b i 1 B i n 1 t displaystyle bf b t sum i 0 n 1 bf b i 1 B i n 1 t nbsp mit geeigneten neuen Kontrollpunkten b 0 1 b n 1 1 displaystyle bf b 0 1 dots bf b n 1 1 nbsp dar Um die neuen Kontrollpunkte zu bestimmen multipliziert man die ursprungliche Darstellung mit dem Faktor t 1 t displaystyle t 1 t nbsp b t i 0 n B i n t t 1 t b i i 0 n n i t i 1 t n i t 1 t b i i 0 n n i t i 1 1 t n i b i i 0 n n i t i 1 t n i 1 b i i 1 n 1 n i 1 t i 1 t n 1 i b i 1 i 0 n n i t i 1 t n i 1 b i i 0 n 1 t i 1 t n 1 i n i 1 b i 1 n i b i i 0 n 1 n 1 i t i 1 t n 1 i b i 1 i 0 n 1 B i n 1 t b i 1 wobei b i 1 i n 1 b i 1 1 i n 1 b i i 0 n 1 i n 1 b i 1 fur 1 i n s Casteljau Algor displaystyle begin array rcl bf b t amp amp sum i 0 n B i n t t 1 t bf b i amp amp sum i 0 n n choose i t i 1 t n i t 1 t bf b i amp amp sum i 0 n n choose i t i 1 1 t n i bf b i sum i 0 n n choose i t i 1 t n i 1 bf b i amp amp sum i 1 n 1 n choose i 1 t i 1 t n 1 i bf b i 1 sum i 0 n n choose i t i 1 t n i 1 bf b i amp amp sum i 0 n 1 t i 1 t n 1 i cdot left n choose i 1 bf b i 1 n choose i bf b i right amp amp sum i 0 n 1 n 1 choose i t i 1 t n 1 i bf b i 1 amp amp sum i 0 n 1 B i n 1 t bf b i 1 quad text wobei bf b i 1 amp amp frac i n 1 bf b i 1 left 1 frac i n 1 right bf b i i 0 dots n 1 amp amp left frac i n 1 right bf b i 1 quad text fur 1 leq i leq n text s Casteljau Algor end array nbsp Die neuen Kontrollpunkte sind also 7 b 0 1 n 1 b 1 1 2 n 1 b 2 1 n n 1 b n 1 b n displaystyle bf b 0 quad left frac 1 n 1 right bf b 1 1 quad left frac 2 n 1 right bf b 2 1 quad ldots quad left frac n n 1 right bf b n 1 quad bf b n nbsp nbsp Graderhohungen einer Bezier Kurve Kontrollpolygone bei ein zwei und 10 maliger Graderhohung Wesentliche Eigenschaften der Graderhohung sind Wiederholte Graderhohung fuhrt zu einer Approximation der Bezierkurve durch das Kontrollpolygon Die grossere Anzahl von Kontrollpunkten bietet mehr Freiheitsgrade die Kurve zu verandern Mehrere Bezierkurven lassen sich auf einen einheitlichen Grad bringen Dies ist wichtig bei Tensorprodukt Bezierflachen Damit lassen sich auch dann quadratische Bezierkurven als kubische darstellen falls ein Vektorzeichenprogramm z B Inkscape bzw eine Grafikbibliothek z B Cairo nur kubische unterstutzt Teilung einer Bezierkurve Bearbeiten nbsp Zerlegung einer BezierkurveEine Bezierkurve G 0 b t displaystyle Gamma 0 bf b t nbsp ist normalerweise definiert fur 0 t 1 displaystyle 0 leq t leq 1 nbsp Sei nun c 0 1 displaystyle c in 0 1 nbsp Dann ist G 1 b t displaystyle Gamma 1 bf b t nbsp mit 0 t c displaystyle 0 leq t leq c nbsp ein Teil der gegebenen Bezierkurve Es soll nun die Teilkurve G 1 displaystyle Gamma 1 nbsp als Bezierkurve c u i 0 n c i B i n u displaystyle bf c u sum i 0 n bf c i B i n u nbsp mit u 0 1 displaystyle u in 0 1 nbsp vom selben Grad n displaystyle n nbsp mit geeigneten Kontrollpunkten c 0 c 1 c n displaystyle bf c 0 bf c 1 dots bf c n nbsp dargestellt werden Setzt man u t c displaystyle u frac t c nbsp so muss die folgende Gleichung erfullt sein r 0 n c r B r n t c i 0 n b i B i n t displaystyle sum r 0 n bf c r B r n left frac t c right sum i 0 n bf b i B i n t quad nbsp fur t 0 c displaystyle quad t in 0 c nbsp Dies gilt fur 8 9 c r b 0 r c displaystyle quad bf c r bf b 0 r c quad nbsp s Casteljau Alg und Abbildung Denn r 0 n c r B r n t c r 0 n i 0 r b i B i r c B r n t c displaystyle sum r 0 n bf c r B r n left frac t c right sum r 0 n sum i 0 r bf b i B i r c B r n left frac t c right nbsp r 0 n i 0 n b i B i r c B r n t c displaystyle sum r 0 n sum i 0 n bf b i B i r c B r n left frac t c right quad nbsp wegen B i r 0 fur i gt r displaystyle quad B i r cdots 0 quad text fur quad i gt r nbsp i 0 n b i r 0 n B i r c B r n t c displaystyle sum i 0 n bf b i sum r 0 n B i r c B r n left frac t c right nbsp i 0 n b i B i n t displaystyle sum i 0 n bf b i B i n t quad nbsp s Eigensch S der Bernst Pol dd dd dd dd Der restliche Bogen ist die Bezierkurve G 2 d v displaystyle Gamma 2 bf d v nbsp mit den Kontrollpunkten d r b r n r c displaystyle quad bf d r bf b r n r c quad nbsp s Abbildung Rationale Bezierkurven BearbeitenRationale Kurven und projektive Kurven Bearbeiten Bezierkurven sind parametrisierte Kurven deren Parameterdarstellungen nur Polynome verwenden Leider lassen sich so wichtige und geometrisch einfache Kurven wie Kreise nicht durch polynomiale Parameterdarstellungen beschreiben Dieser Nachteil ist u a das Motiv fur die Erweiterung der als Parameterfunktionen zulassigen Funktionen auf rationale Funktionen Denn jeder Kegelschnitt hat eine rationale Darstellung Da eine Kurve mit einer rationalen Darstellung p 1 t q 1 t p 2 t q 2 t T displaystyle left frac p 1 t q 1 t frac p 2 t q 2 t right T nbsp wobei die Funktionen p i displaystyle p i nbsp und q i displaystyle q i nbsp Polynome sind in homogenen Koordinaten die polynomiale Darstellung p 1 t q 2 t p 2 t q 1 t q 1 t q 2 t T displaystyle langle left p 1 t q 2 t p 2 t q 1 t q 1 t q 2 t right T rangle nbsp besitzt lassen sich ebene Kurven mit rationalen Koeffizientenfunktionen als Zentralprojektion einer Bezierkurve im R 3 displaystyle mathbb R 3 nbsp auf die Einbettungsebene x 3 1 displaystyle x 3 1 nbsp auffassen Die analoge Aussage gilt fur Kurven im R 3 displaystyle mathbb R 3 nbsp Sie lassen sich als Zentralprojektion einer Bezierkurve im R 4 displaystyle mathbb R 4 nbsp auf den Einbettungsraum x 4 1 displaystyle x 4 1 nbsp auffassen Damit lassen sich die Vorteile der Bezier Darstellung einer polynomialen Kurve auch fur rationale Kurven nutzen nbsp Rationale Bezierkurve rot als Projektion einer gewohnlichen raumlichen Bezierkurve blau Die Kontrollpunkte a i displaystyle bf a i nbsp sind alle eigentlich da keiner der Kontrollpunkte b i displaystyle bf b i nbsp in der x 1 displaystyle x 1 nbsp x 2 displaystyle x 2 nbsp Ebene liegt Ebene rationale Bezierkurven Bearbeiten Es sei nun n gt 0 displaystyle n gt 0 nbsp festgewahlt und die Vektoren b 0 b 1 b n b i 0 displaystyle bf b 0 bf b 1 cdots bf b n bf b i neq bf 0 nbsp beschreiben ein Polygon im R 3 displaystyle mathbb R 3 nbsp Dann ist x t b 0 B 0 n t b 1 B 1 n t b n B n n t 0 t 1 displaystyle bf x t bf b 0 B 0 n t bf b 1 B 1 n t cdots bf b n B n n t quad 0 leq t leq 1 nbsp eine raumliche Bezier Kurve vom Grad n displaystyle n nbsp Die Punkte b 0 b n displaystyle bf b 0 cdots bf b n nbsp sind die Kontrollpunkte der raumlichen Bezierkurve Fasst man die 1 dimensionalen Unterraume b 0 B 0 n t b 1 B 1 n t b n B n n t displaystyle langle bf b 0 B 0 n t bf b 1 B 1 n t cdots bf b n B n n t rangle nbsp als Punkte der reellen projektiven Ebene mit der Ferngerade x 3 0 displaystyle x 3 0 nbsp auf so bezeichnet man den affinen Anteil Projektion vom Nullpunkt aus auf die Ebene x 3 1 displaystyle x 3 1 nbsp dieser projektiven Kurve als rationale Bezierkurve Die Kontrollpunkte der Bezierkurve im R 3 displaystyle mathbb R 3 nbsp lassen sich folgendermassen beschreiben b i w i x i y i 1 T w i gt 0 displaystyle bf b i w i x i y i 1 T w i gt 0 nbsp falls b i displaystyle bf b i nbsp nicht auf der Ferngerade x 3 0 displaystyle x 3 0 nbsp und b i w i x i y i 0 T w i gt 0 displaystyle bf b i w i x i y i 0 T w i gt 0 nbsp falls b i displaystyle bf b i nbsp auf der Ferngerade liegt Beim Ubergang zu inhomogenen Koordinaten wird ein Kontrollpunkt entweder auf den affinen Punkt a i x i y i T displaystyle bf a i x i y i T nbsp oder auf den Fernpunkt in Richtung a i x i y i T displaystyle bf a i x i y i T nbsp abgebildet Der Punkt a i displaystyle bf a i nbsp heisst eigentlicher bzw uneigentlicher Kontrollpunkt der rationalen Bezierkurve und die Zahl w i displaystyle w i nbsp heisst das Gewicht des Kontrollpunktes a i displaystyle bf a i nbsp Eine rationale Bezierkurve hat folgende affine Beschreibung 10 11 i 0 n w i a i B i n t i 0 n d i w i B i n t displaystyle qquad frac sum i 0 n w i bf a i B i n t sum i 0 n delta i w i B i n t nbsp wobei d i 1 displaystyle delta i 1 nbsp fur eigentliche und d i 0 displaystyle delta i 0 nbsp fur uneigentliche Kontrollpunkte zu setzen ist Die rationalen Bezierkurven haben u a die folgenden Eigenschaften Sind a i w i i 0 n displaystyle bf a i w i i 0 dots n nbsp eigentliche Kontrollpunkte bzw die Gewichte einer rationalen Bezierkurve G displaystyle Gamma nbsp so gilt Die Kurve G displaystyle Gamma nbsp enthalt die Kontrollpunkte a 0 a n displaystyle bf a 0 bf a n nbsp erster bzw letzter Punkt des Kontrollpolygons Die Tangente im Punkt a 0 displaystyle bf a 0 nbsp bzw a n displaystyle bf a n nbsp hat die Richtung a 1 a 0 displaystyle bf a 1 bf a 0 nbsp bzw a n a n 1 displaystyle bf a n bf a n 1 nbsp Eine Erhohung des Gewichts w i displaystyle w i nbsp bewirkt eine Veranderung der Kurve auf den Kontrollpunkt a i displaystyle bf a i nbsp zu s Abbildung nbsp rationale Bezierkurven mit Gewichten w 0 w 1 w 3 1 displaystyle w 0 w 1 w 3 1 nbsp und verschiedenen Gewichten w 2 displaystyle w 2 nbsp Zusammenfassung Eine ebene rationale Bezierkurve besitzt neben dem Kontrollpolygon noch die Gewichte w i displaystyle w i nbsp als Designparameter Will man eine Kurve erzeugen legt man zunachst die Kontrollpunkte a i displaystyle bf a i nbsp und die Gewichte w i displaystyle w i nbsp fest Dadurch wird dann auch eine raumliche gewohnliche Bezierkurve mit den Kontrollpunkten b 0 b 1 b n displaystyle bf b 0 bf b 1 cdots bf b n nbsp definiert Die Projektion dieser Kurve vom Nullpunkt aus auf die x y Ebene x 3 1 displaystyle x 3 1 nbsp liefert dann die ebene rationale Bezierkurve Eine Variation der Gewichte andert nicht die Kontrollpunkte a i displaystyle bf a i nbsp aber die raumlichen Kontrollpunkte b i displaystyle bf b i nbsp und damit die zugehorige raumliche Bezierkurve und schliesslich auch die ebene rationale Bezierkurve Erhoht man ein Gewicht w i displaystyle w i nbsp so entfernt sich der zugehorige Kontrollpunkt b i displaystyle bf b i nbsp vom Nullpunkt und zieht die raumliche Bezierkurve mit Der zugehorige Kontrollpunkt a i displaystyle bf a i nbsp dagegen bleibt unverandert Die rationale Bezierkurve bewegt sich auf ihn zu s Bild Verringert man das Gewicht bewegt sich die Kurve von dem Kontrollpunkt weg Falls alle Gewichte 1 sind ist die rationale Bezierkurve eine gewohnliche Bezierkurve mit den Kontrollpunkten a i displaystyle bf a i nbsp Kegelschnitte als rationale Bezierkurven Bearbeiten Parabel Eine Bezierkurve vom Grad zwei mit nicht kollinearen Kontrollpunkten b 0 b 1 b 2 displaystyle bf b 0 bf b 1 bf b 2 nbsp im R 3 R 2 displaystyle mathbb R 3 mathbb R 2 nbsp ist immer eine Parabel s oben Um eine Parabel als ganz rationale Bezierkurve darzustellen wahlt man drei nicht kollineare Kontrollpunkte a 0 a 1 a 2 displaystyle bf a 0 bf a 1 bf a 2 nbsp und setzt w 0 w 1 w 2 1 displaystyle w 0 w 1 w 2 1 nbsp und d 0 d 1 d 2 1 displaystyle delta 0 delta 1 delta 2 1 nbsp Letzteres bedeutet Die Kontrollpunkte sind alle eigentlich Ellipsen und Hyperbeln lassen sich durch Zentralprojektion von Parabeln im R 3 displaystyle mathbb R 3 nbsp deren Ebenen nicht den Nullpunkt enthalten auf die Einbettungsebene x 3 1 displaystyle x 3 1 nbsp erzeugen nbsp Hyperbel rot als rationale Bezierkurve mit den Kontrollpunkten a 0 a 1 a 2 displaystyle bf a 0 bf a 1 bf a 2 nbsp Sie entsteht durch Projektion der blauen Parabel vom Nullpunkt aus auf die Ebene x 3 1 displaystyle x 3 1 nbsp Die Parabelpunkte b 0 b 2 displaystyle bf b 0 bf b 2 nbsp gehen dabei auf die Fernpunkte der Hyperbelasymptoten uber Hyperbel Fur die Kontrollpunkte b 0 1 0 0 T b 1 0 0 1 2 T b 2 0 1 0 T displaystyle bf b 0 1 0 0 T bf b 1 0 0 1 2 T bf b 2 0 1 0 T nbsp beschreibt b t t 2 b 0 2 t 1 t b 1 1 t 2 b 2 displaystyle bf b t t 2 bf b 0 2t 1 t bf b 1 1 t 2 bf b 2 nbsp t 2 1 t 2 t 1 t T t R displaystyle left t 2 1 t 2 t 1 t right T quad t in mathbb R nbsp dd eine Parabel die auf dem Kegel mit der Gleichung x 1 x 2 x 3 2 displaystyle x 1 x 2 x 3 2 nbsp liegt s Bild Die Kontrollpunkte und Gewichte der zugehorigen ebenen rationalen Bezierkurve sind a 0 1 0 T a 1 0 0 T a 2 0 1 T displaystyle bf a 0 1 0 T bf a 1 0 0 T bf a 2 0 1 T quad nbsp bzw w 0 1 w 1 1 2 w 2 1 displaystyle w 0 1 w 1 1 2 w 2 1 nbsp a 0 a 2 displaystyle bf a 0 bf a 2 nbsp sind uneigentliche Kontrollpunkte Damit ist d 0 0 d 1 1 d 2 0 displaystyle delta 0 0 delta 1 1 delta 2 0 nbsp und der Nenner s o der rationalen Komponenten ist t 1 t displaystyle t 1 t nbsp Also ist die zugehorige rationale Bezierkurve a t t 2 a 0 1 2 2 t 1 t a 1 1 t 2 a 2 t 1 t displaystyle bf a t frac t 2 bf a 0 tfrac 1 2 2t 1 t bf a 1 1 t 2 bf a 2 t 1 t nbsp t 2 1 t 2 T t 1 t t 1 t 1 t t T displaystyle frac left t 2 1 t 2 right T t 1 t left frac t 1 t frac 1 t t right T nbsp dd Dies ist eine rationale Parameterdarstellung eines Astes der Hyperbel mit der Gleichung y 1 x displaystyle y 1 x nbsp Die Anderung a 0 c 0 T displaystyle bf a 0 c 0 T nbsp liefert eine rationale Bezierdarstellung der Hyperbel y c x displaystyle y c x nbsp nbsp Halbkreis rot als rationale Bezierkurve a 1 displaystyle bf a 1 nbsp ist uneigentlicher Kontrollpunkt d h hier Der Vektor a 1 displaystyle bf a 1 nbsp gibt die Richtung der Tangenten in den Kreispunkten a 0 a 2 displaystyle bf a 0 bf a 2 nbsp an Kreis In dem folgenden Beispiel sind die Kontrollpunkte der raumlichen Parabel b 0 1 0 1 T b 1 0 1 0 T b 2 1 0 1 T displaystyle bf b 0 1 0 1 T bf b 1 0 1 0 T bf b 2 1 0 1 T nbsp Die Bezierkurve b t t 2 b 0 2 t 1 t b 1 1 t 2 b 2 displaystyle bf b t t 2 bf b 0 2t 1 t bf b 1 1 t 2 bf b 2 nbsp t 2 1 t 2 2 t 1 t t 2 1 t 2 T displaystyle left t 2 1 t 2 2t 1 t t 2 1 t 2 right T nbsp dd liegt in diesem Fall auf dem Kegel mit der Gleichung x 1 2 x 2 2 x 3 2 displaystyle x 1 2 x 2 2 x 3 2 nbsp s Abbildung Die Kontrollpunkte und Gewichte der zu gehorigen rationalen Bezierkurve sind a 0 1 0 T a 1 0 1 T a 2 1 0 T displaystyle bf a 0 1 0 T bf a 1 0 1 T bf a 2 1 0 T quad nbsp bzw w 0 w 1 w 2 1 displaystyle quad w 0 w 1 w 2 1 nbsp a 1 displaystyle bf a 1 nbsp ist uneigentlicher Kontrollpunkt Damit ist d 0 1 d 1 0 d 2 1 displaystyle delta 0 1 delta 1 0 delta 2 1 nbsp und der Nenner s o der rationalen Komponenten ist t 2 1 t 2 displaystyle t 2 1 t 2 nbsp Also ist die zugehorige rationale Bezierkurve a t t 2 a 0 2 t 1 t a 1 1 t 2 a 2 t 2 1 t 2 displaystyle bf a t frac t 2 bf a 0 2t 1 t bf a 1 1 t 2 bf a 2 t 2 1 t 2 nbsp t 2 1 t 2 2 t 1 t T t 2 1 t 2 displaystyle frac left t 2 1 t 2 2t 1 t right T t 2 1 t 2 nbsp t 2 1 t 2 t 2 1 t 2 2 t 1 t t 2 1 t 2 T displaystyle left frac t 2 1 t 2 t 2 1 t 2 frac 2t 1 t t 2 1 t 2 right T nbsp dd Fur 0 t 1 displaystyle 0 leq t leq 1 nbsp ist dies eine rationale Parameterdarstellung eines halben Einheitskreises Setzt man mrow