Рисование сплайнов Безье
Сплайн Безье определяется четырьмя точками: начальной точкой, двумя контрольными точками и конечной точкой. В следующем примере рисуется сплайн Безье с начальной точкой (10, 100) и конечной точкой (200, 100). Контрольные точки: (100, 10) и (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);
На следующем рисунке показан полученный сплайн Безье вместе с начальной точкой, контрольными точками и конечной точкой. На рисунке также показан выпуклый корпус сплайна, который представляет собой многоугольник, сформированный путем соединения четырех точек прямыми линиями.
Метод DrawBeziers класса Graphics можно использовать для рисования последовательности соединенных сплайнов Безье. В следующем примере рисуется кривая, состоящая из двух соединенных сплайнов Безье. Конечная точка первого сплайна Безье является начальной точкой второго сплайна Безье.
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);
На следующем рисунке показаны соединенные сплайны и семь точек.