Главная > Математика > Геометрическое моделирование
<< Предыдущий параграф
Следующий параграф >>
<< Предыдущий параграф Следующий параграф >>
Макеты страниц

2.5. Кривые Безье

Координаты сплайнов являются полиномами параметра кривой. В общем случае сегменты таких кривых описываются векторными функциями вида

(2.5.1)

Смысл векторов а, заключается только в том, что их компоненты являются коэффициентами полиномов для компонент результирующего вектора. Другими словами, векторы а, не несут геометрической информации каждый по отдельности. Но если перегруппировать правую часть (2.5.1), то можно получить выражение, в котором векторные величины имеют определенный геометрический смысл. Это можно наблюдать на примере интерполяционной формулы Лагранжа, где радиус вектор кривой представлен в виде

(2.5.2)

векторные коэффициенты являлись радиус-векторами характеристических точек кривой, а зависимость кривой от параметра сосредотачивалась в скалярных функциях индивидуальных для каждой характеристической точки

Де Кастелье и независимо от него Безье предложили аналогичный (2.5.2) подход для построения кривых. Эти кривые получили название кривых Безье. Кривая Безье описывается формулой

где — радиус-векторы точек, — число этих точек минус единица. Совокупность функций

(2.5.4)

называется базисом Бернштейна. Можно сказать, что кривая Безье является полиномом Бернштейна с векторными коэффициентами. Сначала Де Кастелье и Безье использовали частные случаи кривой (2.5.3) и только позже Форрест установил связь коэффициентов кривой с полиномами Бернштейна. Коэффициенты при в (2.5.4) равны коэффициентам бинома Ньютона: . Из этого следует, что базис Бернштейна представляет собой разложение единицы (сумма всех коэффициентов при любом t равна единице)

(2.5.5)

Функции Бернштейна удовлетворяют рекуррентному соотношению

Это соотношение доказывается непосредственной подстановкой:

Используя это рекуррентное соотношение, можно вычислить все функции Бернштейна. Вычисление начинается с функции

Далее получим . Все функции, один из индексов которых равен отрицательному числу, считаются равными нулю. Продолжив вычисления, получим все функции Бернштейна.

Алгоритм Де Кастелье.

Подставим рекуррентное соотношение в выражение (2.5.3), выделив крайние точки и учитывая, что получим

где

Продолжив описанный процессразложения для и в конце придем к равенствам

Обозначив через — через получим рекуррентное соотношение для вычисления точки кривой Безье

(2.5.6)

Алгоритм, описываемый соотношением (2.5.6), называется алгоритмом Де Кастелье. Алгоритм Де Кастелье позволяет вычислить любую точку кривой Безье по характеристическим точкам, ничего не зная о функциях Бернштейна. Величины () и t, на которые умножаются координаты точек являются барицентрическими координатами. Кривую Безье можно определить как линию, точки которой определяются рекуррентным соотношением (2.5.6).

Свойства кривых Безье.

На рис. 2.5.1 и 2.5.2 приведены полиномы Бернштейна третьей и четвертой степени соответственно.

Из полиномов Бернштейна только нулевой и последний принимают максимально возможные значения поэтому кривая Безье проходит только через начальную и конечную точки. Касательные к кривой Безье в начальной и конечной точках совпадают с направлением векторов

По вершинам строится характеристическая ломаная кривой Безье, которая касается кривой в крайних точках. Кривая Безье как бы сглаживает углы своей характеристической ломаной.

Рис. 2.5.1. Полиномы Бернштейна

Рис. 2.5.2. Полиномы Бернштейна

Достаточно гибкой и в то же время достаточно простой для практического применения является кубическая кривая Безье, радиус-вектор которой описывается зависимостью

Вид кубической кривой Безье и ее характеристической ломаной показаны на рис. 2.5.3 и 2.5.4.

Рис. 2.5.3. Кривая Безье

Рис. 2.5.4. Кривая Безье

Коэффициенты этой же кривой в форме полинома (2.5.1) связаны с вершинами соотношениями

На примере кубической кривой Безье видно, что ее модификация путем перемещения точек нагляднее, чем модификация путем изменения векторных коэффициентов а, так как в последнем случае трудно предугадать результат. Из-за того, что кривая не проходит через внутренние вершины своей характеристической ломаной, довольно сложно задать ей точное положение.

Кривые в форме Безье более удобны там, где важна форма линий, например, при проектировании конструкций типа кузова автомобиля.

Рис. 2.5.5. Кривая Безье шестой степени

Чем больше точек участвуют в построении кривой, тем она более гладкая. На рис. 2.5.5 приведена кривая Безье, построенная по 7 точкам.

Для построения кривой, проходящей через заданные точки, можно использовать составные кривые Безье. Кривая Безье всегда касается своей характеристической ломаной на концах. Если мы хотим, чтобы составная кривая была гладкой, необходимо следить за тем, чтобы в точках стыковки касательные к частям кривых совпадали. Но в общем случае в точках сочленения первая производная будет скачком менять свою длину, а все высшие производные будут претерпевать разрыв. Для непрерывности первой производной составной кривой Безье требуется касание и равенство длин крайних участков характеристических ломаных в месте стыковки. Параметрическая длина составной кривой Безье равна сумме параметрических длин частей, т. е. числу этих частей.

Рис. 2.5.6. Алгоритм Кастелье для квадратичной кривой Безье

Если вершины кривой Безье лежат на одной прямой, кривая обращается в отрезок прямой. Отрезком прямой линии является и кривая Безье первой степени

(2.5.7)

Радиус-вектор кривой Безье второй степени описывается зависимостью

(2.5.8)

Точка с произвольным параметром t квадратичной кривой Безье обладает тем свойством, что касательная в ней делит векторы в отношении . Это можно заметить, если записать равенство (2.5.8) в виде

В этом же отношении точкой кривой делится и часть касательной, заключенная внутри характеристической ломаной (рис. 2.5.6).

Рисунок 2.5.6 иллюстрирует алгоритм Кастелье. Точка А имеет радиус-вектор точка В имеет радиус-вектор , точка С имеет радиус-вектор

Мы продолжим исследовать кривую Безье второй степени, и это приведет нас к новым линиям, обладающим весьма полезными свойствами.

<< Предыдущий параграф Следующий параграф >>
Оглавление