Zeichnen von Kardinalsplines
Eine Kardinalspline ist eine Kurve, die reibungslos durch einen bestimmten Satz von Punkten verläuft. Erstellen Sie zum Zeichnen einer Kardinalspline ein Graphics-Objekt, und übergeben Sie die Adresse eines Arrays von Punkten an die Graphics::D rawCurve-Methode. Im folgenden Beispiel wird eine glockenförmige Kardinalspline ge zeichnet, die fünf bestimmte 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 eine geschlossene Kardinalspline zu zeichnen. In einer geschlossenen Kardinalspline wird die Kurve bis zum letzten Punkt im Array fortgesetzt und mit dem ersten Punkt im Array verknüpft.
Im folgenden Beispiel wird eine geschlossene Kardinalspline ge zeichnet, die sechs bestimmte 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, in der ein kardinaler Spline-Bruch verfälsiert wird, indem Sie ein argument-Argument an die Graphics::D rawCurve-Methode übergeben. Im folgenden Beispiel werden drei Kardinalsplines ge zeichnet, die denselben Satz von Punkten passieren:
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 Werten für die Werte. Beachten Sie, dass die Punkte durch gerade Linien verbunden sind, wenn die 10-Punkte-Linie ist.
