BéБезье сплайны в GDI +Bézier Splines in GDI+

Сплайн Безье — кривой, определяемый четырьмя точками: двумя конечными точками (p1 и p2) и двумя контрольными точками (c1 и c2).A Bézier spline is a curve specified by four points: two end points (p1 and p2) and two control points (c1 and c2). Кривая начинается с p1 и заканчивается в точке p2.The curve begins at p1 and ends at p2. Кривая проходит через контрольные точки, но контрольные точки действуют как магниты, который извлекает кривой определенные инструкции и влияние на способ изгиба кривой.The curve does not pass through the control points, but the control points act as magnets, pulling the curve in certain directions and influencing the way the curve bends. Ниже показан кривую Безье, а также его конечные точки и точки управления.The following illustration shows a Bézier curve along with its endpoints and control points.

Сплайны БезьеBezier Splines

Кривая начинается в точке p1 и переходит к контрольной точки c1.The curve starts at p1 and moves toward the control point c1. Касательной к кривой в p1 — это линия, проведенная через p1 до c1.The tangent line to the curve at p1 is the line drawn from p1 to c1. Касательной в конечной точке p2 — это линия, проведенная через c2 на p2.The tangent line at the endpoint p2 is the line drawn from c2 to p2.

Рисование сплайнов БезьеDrawing Bézier Splines

Чтобы нарисовать сплайн Безье, вам потребуется экземпляр Graphics класс и Pen.To draw a Bézier spline, you need an instance of the Graphics class and a Pen. Экземпляр Graphics класс предоставляет DrawBezier метод и Pen сохраняет атрибуты, например, ширина и цвет линии, используемый для отображения кривой.The instance of the Graphics class provides the DrawBezier method, and the Pen stores attributes, such as width and color, of the line used to render the curve. Pen Передается в качестве одного из аргументов для DrawBezier метод.The Pen is passed as one of the arguments to the DrawBezier method. Остальные аргументы, передаваемые DrawBezier метод: конечные точки и точки управления.The remaining arguments passed to the DrawBezier method are the endpoints and the control points. В следующем примере рисуется сплайн Безье с начальной точки (0, 0), управлять точками (40, 20) и (80, 150) и конечную точку (100, 10):The following example draws a Bézier spline with starting point (0, 0), control points (40, 20) and (80, 150), and ending point (100, 10):

myGraphics.DrawBezier(myPen, 0, 0, 40, 20, 80, 150, 100, 10);
myGraphics.DrawBezier(myPen, 0, 0, 40, 20, 80, 150, 100, 10)

Кривой, контрольные точки и две касательные на следующем рисунке.The following illustration shows the curve, the control points, and two tangent lines.

Сплайны БезьеBezier Splines

Сплайны Безье изначально были разработаны Пьер Безье для использования в автомобильной промышленности.Bézier splines were originally developed by Pierre Bézier for design in the automotive industry. Они оказались будут полезны во многих типах автоматизированного проектирования и также используются для определения контуры шрифтов.They have since proven to be useful in many types of computer-aided design and are also used to define the outlines of fonts. Сплайны Безье можно создавать множество различных фигур, некоторые из которых показаны на следующем рисунке.Bézier splines can yield a wide variety of shapes, some of which are shown in the following illustration.

ПутиPaths

См. такжеSee also