Dibujar splines cardinales
Una curva spline cardinal es una curva que pasa suavemente por un conjunto determinado de puntos. Para dibujar una spline cardinal, cree un objeto Graphics y pase la dirección de una matriz de puntos al método Graphics::D rawCurve . En el ejemplo siguiente se dibuja una spline cardinal en forma de campana que pasa a través de cinco puntos designados:
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);
En la ilustración siguiente se muestran la curva y los cinco puntos.
Puede usar el método Graphics::D rawClosedCurve de la clase Graphics para dibujar una spline cardinal cerrada. En una curva spline cardinal cerrada, la curva continúa hasta el último punto de la matriz y se conecta con el primer punto de la matriz.
En el ejemplo siguiente se dibuja una curva spline cardinal cerrada que pasa por seis puntos designados.
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);
En la ilustración siguiente se muestran la curva spline cerrada y los seis puntos:
Puede cambiar la forma en que se dobla una spline cardinal pasando un argumento de tensión al método Graphics::D rawCurve . En el ejemplo siguiente se dibujan tres splines cardinales que pasan por el mismo conjunto de puntos:
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
En la ilustración siguiente se muestran las tres curvas spline y sus valores de tensión. Tenga en cuenta que, cuando la tensión es 0, los puntos están conectados por líneas rectas.