Сплайны Безье в GDI+
Сплайн Безье — это кривая, определяемая четырьмя точками: две из них это конечные точки (p1 и p2) и две другие это контрольные точки (c1 и c2). Кривая начинается с точки p1 и заканчивается на точке p2. Кривая не проходит через контрольные точки, но контрольные точки действуют как магниты, они притягивают кривую в определенных направлениях и влияют на то, как кривая изгибается. На следующем рисунке показана кривая Безье со своими конечными и контрольными точками.
Кривая начинается с точки p1 и идет в направлении к контрольной точке c1. Касательная линия к кривой в точке p1 — это линия, проходящая от точки p1 до точки c1. Касательная линия в конечной точке p2 — это линия, проходящая от точки c2 до точки p2.
Рисование сплайнов Безье
Чтобы нарисовать сплайн Безье необходимо использовать экземпляр класса Graphics и объект Pen. Экземпляр класса Graphics предоставляет метод DrawBezier, а в Pen сохраняются такие атрибуты, как ширина и цвет линии, используемой для отрисовки кривой. Объект Pen передается в качестве одного из аргументов методу DrawBezier. Остальные аргументы, передаваемые методу DrawBezier, являются конечными и контрольными точками. В следующем примере рисуется сплайн Безье с координатами начальной точки (0, 0), координатами контрольных точек (40, 20) и (80, 150) и координатами конечной точки (100, 10):
myGraphics.DrawBezier(myPen, 0, 0, 40, 20, 80, 150, 100, 10);
myGraphics.DrawBezier(myPen, 0, 0, 40, 20, 80, 150, 100, 10)
На следующем рисунке показана кривая, контрольные точки и две касательные линии.
Сплайны Безье были изначально разработаны Пьером Безье для проектирования в автомобильной промышленности. С тех пор они нашли применение во многих типах автоматизированного проектирования и помимо этого используются для определения контуров шрифтов. Сплайны Безье позволяют получить множество разнообразных фигур, некоторые из которых показаны на следующем рисунке.
См. также
.NET Desktop feedback