Dessin de splines cardinales
Une spline cardinale est une courbe qui passe en douceur à travers un ensemble donné de points. Pour dessiner une spline cardinale, créez un objet Graphics et passez l’adresse d’un tableau de points à la méthode Graphics::D rawCurve . L’exemple suivant dessine une spline cardinale en forme de cloche qui passe à travers cinq points désignés :
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);
L’illustration suivante montre la courbe et cinq points.
Vous pouvez utiliser la méthode Graphics::D rawClosedCurve de la classe Graphics pour dessiner une spline cardinale fermée. Dans une spline cardinale fermée, la courbe passe par le dernier point du tableau et se connecte au premier point du tableau.
L’exemple suivant dessine une spline cardinale fermée qui passe à travers six points désignés.
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);
L’illustration suivante montre la spline fermée avec les six points :
Vous pouvez modifier la façon dont une spline cardinale se plie en passant un argument de tension à la méthode Graphics::D rawCurve . L’exemple suivant dessine trois splines cardinales qui passent par le même ensemble de points :
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
L’illustration suivante montre les trois splines ainsi que leurs valeurs de tension. Notez que lorsque la tension est 0, les points sont reliés par des lignes droites.