Представление графической информации
Кривые на плоскости
Рассмотрим примеры построения кривых на плоскости.
Через две различные точки плоскости и , такие что, можно провести прямую вида y = ax + b. Имеем:
Если , то эта система относительно a и b имеет единственное решение. Если , то уравнение прямой имеет вид: . В общем виде прямая описывается уравнением .
В параметрическом виде отрезок, соединяющий точки и , определяется следующим образом:
где . Имеем: . В векторной форме данное соотношение записывается в виде:
где
Аналогично, через три точки плоскости и , абсциссы которых попарно различны, можно провести единственную кривую второго порядка, которая описывается многочленом второй степени (рис. 3.16 (a)). Его коэффициенты находятся из системы линейных уравнений относительно неизвестных a, b и c вида
Определителем данной системы является определитель Вандермонда порядка 3, так что .
Рис. 3.16. (a) Парабола, проведенная через 3 точки; (b) кубическая парабола, проведенная через 4 точки
В общем случае, через n + 1 точку плоск n, который определяется однозначно, например, если абсциссы этих точек попарно различны. На рис. 3.16 (a) и (b) показаны примеры кривых, описываемых с помощью многочленов второй и третьей степени, которые проходят через 3 и через 4 заданные точки, соответственно.
Кривые на плоскости могут быть заданы
- явным образом с помощью одной или нескольких формул вида y = f(x), например ( рис. 3.17 (a));
- неявно, с помощью неявной функции или функций вида F(x, y) = 0, например (рис. 3.17 (b));
- параметрическим образом, например , , где - (рис. 3.17 (c)).
Кривые, приведенные на рис. 3.17 (a) и (c), являются кубическими, а кривая на рис. 3.17 (b) - квадратичной.
Обычно в компьютерной графике используются кубические сплайны, описываемые с помощью параметров. Кубическим сплайном называется гладкая функция, область определения которой разбита на конечное число отрезков, на каждом из которых эта функция совпадает с некоторым кубическим многочленом. При этом в концах отрезков совпадают не только значения этих многочленов, но и значения их первых и вторых производных.
Кривые Безье
Положим , где , k и n - целые, , а t принадлежит множеству действительных чисел.
Полиномы называются полиномами Берштейна.
Пусть - попарно различные точки плоскости, такие что , для .
Кривой Безье называется параметрическая кривая степени n, которая определяется следующим образом:
для , где - координаты точек кривой Безье, соответствующих параметру t. Кривая названа по имени одного из ее изобретателей Пьера Безье (1962).
Заметим, что при t = 0 получается точка , а при t = 1 - точка .
Если точка одна, то , так как . Рассмотрим подробнее кривые Безье для n = 1, 2, 3.
Пусть n = 1, и для построения кривой используются точки и . Тогда кривая Безье описывается следующим образом:
где . В матричной форме кривую можно представить в виде
Координаты точек кривой удовлетворяют соотношению (см. п. 3.2.2), так что кривая Безье представляет собой отрезок, соединяющий точки и (рис. 3.18).
Пусть n = 2. Тогда кривая Безье описывается следующим образом: , где , или, в матричной форме,
Нетрудно заметить, что кривые Безье, построенные по трем точкам, являются квадратичными кривыми. Они используются, например, для создания шрифтов True Type.
Пример 16. Найдем уравнение кривой Безье второго порядка, которая строится по точкам и . Имеем:
Поэтому ; y(t) = 2t(1 - t), где . Следовательно, координаты x и y точек кривой Безье связаны соотношением:
где (рис. 3.19).
В компьютерной графике используются кубические кривые Безье, которые строятся по 4 точкам. Итак, пусть n = 3. Тогда кривая Безье задается формулой , где . Соответственно, матричная форма имеет вид: