Compartir a través de


Dibujar Splines de Bezier

Una spline bézier se define mediante cuatro puntos: un punto de inicio, dos puntos de control y un punto final. En el ejemplo siguiente se dibuja una spline bézier con punto de inicio (10, 100) y punto final (200, 100). Los puntos de control son (100, 10) y (150, 150):

Point p1(10, 100);   // start point
Point c1(100, 10);   // first control point
Point c2(150, 150);  // second control point
Point p2(200, 100);  // end point
Pen pen(Color(255, 0, 0, 255));
graphics.DrawBezier(&pen, p1, c1, c2, p2);

En la ilustración siguiente se muestra la spline bézier resultante junto con su punto de inicio, puntos de control y punto final. También se muestra la forma convexa de la curva spline, que es un polígono formado por la conexión de los cuatro puntos con líneas rectas.

ilustración que muestra una spline bezier con dos puntos de conexión y dos puntos de control

Puede usar el método DrawBeziers de la clase Graphics para dibujar una secuencia de splines bézier conectados. En el ejemplo siguiente se dibuja una curva que consta de dos splines de Bézier conectadas. El punto final de la primera spline bézier es el punto inicial del segundo spline bézier.

Point p[] = {
   Point(10, 100),   // start point of first spline
   Point(75, 10),    // first control point of first spline
   Point(80, 50),    // second control point of first spline
   Point(100, 150),  // end point of first spline and 
                     // start point of second spline
   Point(125, 80),   // first control point of second spline
   Point(175, 200),  // second control point of second spline
   Point(200, 80)};  // end point of second spline
Pen pen(Color(255, 0, 0, 255));
graphics.DrawBeziers(&pen, p, 7);

En la ilustración siguiente se muestran las splines conectadas junto con los siete puntos.

ilustración en la que se muestran los puntos finales y los puntos de control de dos splines que comparten uno de los puntos finales