В качестве формулы, которая была бы достаточно простой (с точки зрения математика), универсальной (с точки зрения программиста) и геометрически наглядной (с точки зрения пользователя — художника или дизайнера), чаще всего используется упомянутая кривая Безье. На самом деле, это целое семейство кривых, из которых используется частный случай с кубической степенью, т. е. кривая третьего порядка, описываемая следующим параметрическим уравнением
R(t) = Po(l-t)3 + P1t(l-t)2 + P2t2(l-t) + Р3t3, где 0 < t < 1.
Общий вид элементарной кривой Безье представлен на рис. 4.1. Такую кривую можно построить, если известны координаты четырех точек, называемых контрольными.
Рис 4.1. Общий вид элементарной кривой Безье |
Из четырех контрольных точек кривая проходит только через две, поэтому эти точки называются опорными — anchor points (иначе они называются узлами (nodes), поскольку "связывают" элементарные кривые друг с другом, чтобы образовать единый сложный контур).
Две другие контрольные точки не лежат на кривой, но их расположение определяет кривизну кривой, поэтому эти точки иначе называются управляющими точками, а линии, соединяющие управляющую и опорную точки, управляющей линией (в просторечии именуемых "рычагами").
Кривая Безье является гладкой кривой, т. е. она не имеет разрывов и непрерывно заполняет отрезок между начальной и конечной точками.
Кривая начинается в первой опорной точке, касаясь отрезка своей управляющей линии, и заканчивается в последней опорной точке, также касаясь отрезка своей управляющей линии. Это позволяет гладко соединять две кривые Безье друг с другом: управляющие линии располагаются вдоль одной прямой, которая является касательной к получившейся кривой (рис. 4.2).
Кривая лежит в выпуклой оболочке, создаваемой управляющими линиями (рис. 4.3). Это свидетельствует о стабильности ("благонравном поведении") кривой.
Кривая Безье симметрична, т. е. она сохраняет свою форму, если изменить направление вектора кривой на противоположный ("поменять местами" начальную и конечную опорные точки). Это свойство находит свое применение при создании составных контуров. Смотрите об этом в главе 7.
Рис 4.2. Гладкое соединение двух кривых Безье |
Рис 4.3. Выпуклая оболочка кривой Безь |
Рис 4.4. Масштабирование кривой Безье не изменяет ее формы |