Splines cardinales
Une spline cardinale est une séquence de courbes individuelles jointes pour former une courbe plus grande. La spline est spécifiée par un tableau de points et un paramètre de tension. Une spline cardinale passe sans problème à travers chaque point du tableau ; il n’y a pas de coins pointus et pas de changements brusques dans l’étanchéité de la courbe. L’illustration suivante montre un ensemble de points et une spline cardinale qui traverse chaque point de l’ensemble.
Un spline physique est un morceau de bois mince ou autre matériau flexible. Avant l’avènement des splines mathématiques, les concepteurs utilisaient des splines physiques pour dessiner des courbes. Un concepteur place la spline sur un morceau de papier et l’ancre à un ensemble donné de points. Le concepteur peut ensuite créer une courbe en dessinant le long de la spline avec un crayon. Un ensemble donné de points peut produire une variété de courbes, en fonction des propriétés de la spline physique. Par exemple, une spline avec une résistance élevée à la flexion produirait une courbe différente d’une spline extrêmement flexible.
Les formules des splines mathématiques étant basées sur les propriétés des tiges flexibles, les courbes produites par les splines mathématiques sont similaires aux courbes qui étaient autrefois produites par les splines physiques. Tout comme les splines physiques de tension différente produisent des courbes différentes à travers un ensemble donné de points, les splines mathématiques avec des valeurs différentes pour le paramètre de tension produisent des courbes différentes à travers un ensemble de points donné. L’illustration suivante montre quatre splines cardinales passant par le même ensemble de points. La tension est affichée pour chaque spline. Notez qu’une tension de 0 correspond à une tension physique infinie, forçant la courbe à prendre le chemin le plus court (lignes droites) entre les points. Une tension de 1 ne correspond à aucune tension physique, ce qui permet à la spline de prendre le chemin d’un virage total minimum. Avec des valeurs de tension supérieures à 1, la courbe se comporte comme un ressort compressé, poussé pour prendre un chemin plus long.
Notez que les quatre splines de la figure précédente partagent la même ligne tangente au point de départ. La tangente est la ligne tracée du point de départ au point suivant le long de la courbe. De même, la tangente partagée au point de terminaison est la ligne tracée du point de fin au point précédent de la courbe.
Pour dessiner une spline cardinale, vous avez besoin d’un objet Graphics , d’un objet Pen et d’un tableau d’objets Point . L’objet Graphics fournit la méthode DrawCurve , qui dessine la spline, et l’objet Pen stocke les attributs de la spline, tels que la largeur et la couleur du trait. Le tableau d’objets Point stocke les points que la courbe traversera. L’exemple suivant dessine une spline cardinale qui traverse les points dans myPointArray. Le troisième paramètre est la tension.
myGraphics.DrawCurve(&myPen, myPointArray, 3, 1.5f);