Zeichnen kardinaler Splines
Ein kardinaler Spline ist eine Kurve, die eine bestimmte Reihe von Punkten glatt durchläuft. Um einen Kardinal-Spline zu zeichnen, erstellen Sie ein Graphics-Objekt , und übergeben Sie die Adresse eines Arrays von Punkten an die Graphics::D rawCurve-Methode . Das folgende Beispiel zeichnet einen glockenförmigen Kardinalspline, der fünf festgelegte Punkte durchläuft:
Point points[] = {Point(0, 100),
Point(50, 80),
Point(100, 20),
Point(150, 80),
Point(200, 100)};
Pen pen(Color(255, 0, 0, 255));
graphics.DrawCurve(&pen, points, 5);
Die folgende Abbildung zeigt die Kurve und fünf Punkte.
Sie können die Graphics::D rawClosedCurve-Methode der Graphics-Klasse verwenden, um einen geschlossenen Kardinalspline zu zeichnen. In einem geschlossenen kardinalen Spline wird die Kurve durch den letzten Punkt im Array fortgesetzt und mit dem ersten Punkt im Array verbunden.
Im folgenden Beispiel wird ein geschlossener kardinaler Spline gezeichnet, der sechs angegebene Punkte durchläuft.
Point points[] = {Point(60, 60),
Point(150, 80),
Point(200, 40),
Point(180, 120),
Point(120, 100),
Point(80, 160)};
Pen pen(Color(255, 0, 0, 255));
graphics.DrawClosedCurve(&pen, points, 6);
Die folgende Abbildung zeigt den geschlossenen Spline zusammen mit den sechs Punkten:
Sie können die Art und Weise ändern, wie sich ein Kardinalspline biegt, indem Sie ein Spannungsargument an die Graphics::D rawCurve-Methode übergeben. Das folgende Beispiel zeichnet drei Kardinalsplines, die denselben Satz von Punkten durchlaufen:
Point points[] = {Point(20, 50),
Point(100, 10),
Point(200, 100),
Point(300, 50),
Point(400, 80)};
Pen pen(Color(255, 0, 0, 255));
graphics.DrawCurve(&pen, points, 5, 0.0f); // tension 0.0
graphics.DrawCurve(&pen, points, 5, 0.6f); // tension 0.6
graphics.DrawCurve(&pen, points, 5, 1.0f); // tension 1.0
Die folgende Abbildung zeigt die drei Splines zusammen mit ihren Spannungswerten. Beachten Sie, dass die Punkte bei einer Spannung von 0 durch gerade Linien verbunden werden.