Zeichnen von Bézier-Splines

Eine Bézier-Spline wird durch vier Punkte definiert: einen Startpunkt, zwei Kontrollpunkte und einen Endpunkt. Im folgenden Beispiel wird eine Bézier-Spline mit Startpunkt (10, 100) und Endpunkt (200, 100) 100 zeichnetn. Die Kontrollpunkte sind (100, 10) und (150, 150):

Point p1(10, 100);   // start point
Point c1(100, 10);   // first control point
Point c2(150, 150);  // second control point
Point p2(200, 100);  // end point
Pen pen(Color(255, 0, 0, 255));
graphics.DrawBezier(&pen, p1, c1, c2, p2);

Die folgende Abbildung zeigt die resultierende Bézier-Spline zusammen mit ihrem Startpunkt, Kontrollpunkten und Endpunkt. Die Abbildung zeigt auch die konvexe Hülle des Splines, die ein Polygon ist, das durch das Verbinden der vier Punkte mit geraden Linien gebildet wird.

Abbildung einer Bézier-Spline mit zwei Endpunkten und zwei Kontrollpunkten

Sie können die DrawBeziers-Methode der Graphics-Klasse verwenden, um eine Sequenz verbundener Bézier-Splines zu zeichnen. Im folgenden Beispiel wird eine Kurve gezeichnet, die aus zwei verbundenen Bézier-Splines besteht. Der Endpunkt der ersten Bézier-Spline ist der Startpunkt der zweiten Bézier-Spline.

Point p[] = {
   Point(10, 100),   // start point of first spline
   Point(75, 10),    // first control point of first spline
   Point(80, 50),    // second control point of first spline
   Point(100, 150),  // end point of first spline and 
                     // start point of second spline
   Point(125, 80),   // first control point of second spline
   Point(175, 200),  // second control point of second spline
   Point(200, 80)};  // end point of second spline
Pen pen(Color(255, 0, 0, 255));
graphics.DrawBeziers(&pen, p, 7);

Die folgende Abbildung zeigt die verbundenen Splines zusammen mit den sieben Punkten.

Abbildung: Endpunkte und Kontrollpunkte von zwei Splines, die einen der Endpunkte gemeinsam nutzen