| netlib.narod.ru | < Назад | Оглавление | Далее > |
Многие, включая самого Безье 1, использовали кривые Безье для создания интересных фигур и узоров. Все подобные шедевры называются «картинами Безье». В этом творчестве нет правил. Единственное: при создании этих рисунков часто используют цикл for. Вот пример:
BezierArt.cs
//---------------------------------------------
// BezierArt.cs (C) 2001 by Charles Petzold
//---------------------------------------------
using System;
using System.Drawing;
using System.Windows.Forms;
class BezierArt: PrintableForm
{
const int iNum = 100;
public new static void Main()
{
Application.Run(new BezierArt());
}
public BezierArt()
{
Text = "Bezier Art";
}
protected override void DoPage(Graphics grfx, Color clr, int cx, int cy)
{
Pen pen = new Pen(clr);
PointF[] aptf = new PointF[4];
for (int i = 0; i < iNum; i++)
{
double dAngle = 2 * i * Math.PI / iNum;
aptf[0].X = cx / 2 + cx / 2 * (float) Math.Cos(dAngle);
aptf[0].Y = 5 * cy / 8 + cy / 16 * (float) Math.Sin(dAngle);
aptf[1] = new PointF(cx / 2, -cy);
aptf[2] = new PointF(cx / 2, 2 * cy);
dAngle += Math.PI;
aptf[3].X = cx / 2 + cx / 4 * (float) Math.Cos(dAngle);
aptf[3].Y = cy / 2 + cy / 16 * (float) Math.Sin(dAngle);
grfx.DrawBeziers(pen, aptf);
}
}
}
Фигуры, нарисованные множеством линий, обычно лучше выглядят на печати, но я рискну показать результат работы этой программы так, как он выглядит на экране:

Хотя в этой книге лишь черно-белые иллюстрации, что ограничивает мои возможности, не забывайте о цвете в своих картинах Безье.
1 Часть работ Пьера Безье можно увидеть на Web-узле профессора Брайана Барски по адресу http://www.cs.berkeley.edu/~barsky/gifs/bezier.html.
| netlib.narod.ru | < Назад | Оглавление | Далее > |