Condividi tramite


Disegno di Bezier Splines

Una spline di Bézier è definita da quattro punti: un punto iniziale, due punti di controllo e un punto finale. L'esempio seguente disegna una spline Bézier con il punto iniziale (10, 100) e il punto finale (200, 100). I punti di controllo sono (100, 10) e (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);

Nella figura seguente viene illustrata la spline di Bézier risultante insieme al punto iniziale, ai punti di controllo e al punto finale. La figura mostra anche lo scafo convesso della spline, che è un poligono formato collegando i quattro punti con linee dritte.

figura che mostra una spline di bezier con due punti finali e due punti di controllo

È possibile usare il metodo DrawBeziers della classe Graphics per disegnare una sequenza di spline connesse di Bézier. L'esempio seguente disegna una curva costituita da due spline di Bézier connesse. Il punto finale della prima spline Bézier è il punto iniziale del secondo bézier spline.

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);

La figura seguente mostra le spline connesse insieme ai sette punti.

figura che mostra un punto finale e punti di controllo di due spline che condividono uno dei punti finali