|
Макеты страниц
2.5. Кривые БезьеКоординаты сплайнов являются полиномами параметра кривой. В общем случае сегменты таких кривых описываются векторными функциями вида
Смысл векторов а, заключается только в том, что их компоненты являются коэффициентами полиномов для компонент результирующего вектора. Другими словами, векторы а, не несут геометрической информации каждый по отдельности. Но если перегруппировать правую часть (2.5.1), то можно получить выражение, в котором векторные величины имеют определенный геометрический смысл. Это можно наблюдать на примере интерполяционной формулы Лагранжа, где радиус вектор кривой представлен в виде
векторные коэффициенты Де Кастелье и независимо от него Безье предложили аналогичный (2.5.2) подход для построения кривых. Эти кривые получили название кривых Безье. Кривая Безье описывается формулой
где
называется базисом Бернштейна. Можно сказать, что кривая Безье является полиномом Бернштейна с векторными коэффициентами. Сначала Де Кастелье и Безье использовали частные случаи кривой (2.5.3) и только позже Форрест установил связь коэффициентов кривой с полиномами Бернштейна. Коэффициенты при
Функции Бернштейна удовлетворяют рекуррентному соотношению
Это соотношение доказывается непосредственной подстановкой:
Используя это рекуррентное соотношение, можно вычислить все функции Бернштейна. Вычисление начинается с функции
Далее получим Алгоритм Де Кастелье.Подставим рекуррентное соотношение в выражение (2.5.3), выделив крайние точки и учитывая, что
где
Продолжив описанный процессразложения для и
Обозначив
Алгоритм, описываемый соотношением (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.5. Кривая Безье шестой степени Чем больше точек участвуют в построении кривой, тем она более гладкая. На рис. 2.5.5 приведена кривая Безье, построенная по 7 точкам. Для построения кривой, проходящей через заданные точки, можно использовать составные кривые Безье. Кривая Безье всегда касается своей характеристической ломаной на концах. Если мы хотим, чтобы составная кривая была гладкой, необходимо следить за тем, чтобы в точках стыковки касательные к частям кривых совпадали. Но в общем случае в точках сочленения первая производная будет скачком менять свою длину, а все высшие производные будут претерпевать разрыв. Для непрерывности первой производной составной кривой Безье требуется касание и равенство длин крайних участков характеристических ломаных в месте стыковки. Параметрическая длина составной кривой Безье равна сумме параметрических длин частей, т. е. числу этих частей.
Рис. 2.5.6. Алгоритм Кастелье для квадратичной кривой Безье Если вершины кривой Безье лежат на одной прямой, кривая обращается в отрезок прямой. Отрезком прямой линии является и кривая Безье первой степени
Радиус-вектор кривой Безье второй степени описывается зависимостью
Точка с произвольным параметром t квадратичной кривой Безье обладает тем свойством, что касательная в ней делит векторы
В этом же отношении точкой кривой делится и часть касательной, заключенная внутри характеристической ломаной (рис. 2.5.6). Рисунок 2.5.6 иллюстрирует алгоритм Кастелье. Точка А имеет радиус-вектор точка В имеет радиус-вектор Мы продолжим исследовать кривую Безье второй степени, и это приведет нас к новым линиям, обладающим весьма полезными свойствами.
|
Оглавление
|