Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ALL

.pdf
Скачиваний:
278
Добавлен:
12.02.2018
Размер:
15.74 Mб
Скачать

КУБИЧЕСКИЕ КРИВЫЕ БЕЗЬЕ

В конечной точке кубической кривой Безье первые производные по параметру (наклон) равны

P’(0) = 3(p1 - p0), P’(1) = 3(p3 - p2).

Вторые производные по параметру равны

P’’(0) = 6(p0 - 2p1 + p2), P’’(1) = 6(p1 - 2p2 + p3).

Чтобы построить сложные сплайновые кривые, можно применить ряд кубических участков Безье. Используя выражения для производных по параметру, можно приравнять касательные к кривым и получить непрерывность C1 между участками кривой. Кроме того, можно использовать выражения для вторых производных и получить непрерывность C2, хотя это жестко зафиксирует первые три контрольные точки.

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

где матрица Безье имеет такую форму.

Кроме того, можно ввести дополнительные параметры, позволяющие настраивать натяжение

и смещение кривой, как это делалось для интерполирующих сплайнов. Однако, если требуются эти возможности, обычно используются более гибкие бисплайны или -сплайны.

ПОВЕРХНОСТИ БЕЗЬЕ

Набор ортогональных кривых Безье можно использовать для проектирования поверхности объекта. Параметрическая векторная функция для поверхности Безье представляется декартовым произведением стыковочных функций Безье.

при pj,k, задает положение (m + 1) на (n + 1) контрольных точках.

На рис. 1 графики поверхностей Безье. Контрольные точки

соединяет пунктир, сплошные линии - кривые постоянных u и v. Каждая кривая постоянного u для v, {0, 1} причем фиксированное u {0, 1} также. Кривые v - аналогично.

Поверхности Безье имеют те же свойства, что и кривые Безье. Чтобы задать трехмерные координаты контрольных точек, вначале строит прямоугольную сетку на нижней(нулевой) плоскости. Затем в точках пересечения сетки выбирается высота над нулевым уровнем значение координат z контрольных точек. Участки поверхности можно представить многоугольниками и затененными областями.

На рис. 2 поверхность из двух участков Безье. гладкие переходы

от одного участка к другому - с помощью условий

непрерывности нулевого и первого порядка на линии границы.

Непрерывность нулевого порядка - согласование контрольных

 

точек на границе. Непрерывность первого порядка выбор

 

контрольных точек на прямой линии, идущей по границе, с

 

поддержанием фиксированного отношения сегментов

 

Рис. 1. Каркасная поверхность Безье, построенная по 9 контрольным точкам, выстроенным в сетку 3 на 3 (а), 16 контрольным точкам, в сетку 4 на 4 (б). Пунктир соединяет контрольные точки

Рис. 2. Сложная поверхность Безье, из двух участков Безье, соединенных по граничной линии. Пунктир соединяют контрольные точки. Непрерывность первого порядка – отношение длины L1 к длине L2 поддерживается постоянным для всех коллинеарных линий контрольных точек вдоль границы участков поверхности

коллинеарных отрезков на границе участков.

БИ-СПЛАЙНЫ

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

УРАВНЕНИЕ БИ-СПЛАЙНА

Общее выражение для расчета координат точек би-сплайна, используя концепцию стыковочной функции.

, umin u umax, 2 d n + 1,

где pk входной набор из n + 1 контрольных точек.

Существует несколько отличий данной формулировки би-сплайна от сплайна Безье.

1.Диапазон параметра u зависит от того, как выбираются другие параметры би-сплайна. Стыковочные функции би-сплайна Bk,d это полиномы степени d – 1, где d параметр степени.

2.Параметр степени d может принимать любое целое значение из диапазона от 2 до числа контрольных точек (n+1).

3.В действительности значение параметра степени можно также положить равным 1, но тогда кривая будет точечным графиком контрольных точек.

4.Локальный контроль за формой би-сплайна достигается определением стыковочных функций на подынтервалах из всего диапазона u.

БИ-СПЛАЙНЫ

Стыковочные функции для би-сплайнов определяются рекурсивными формулами Коксаде Бура

(CoxdeBoor).

где каждая стыковочная функция определена на своем подынтервале uj (общее число d) общего

диапазона u. Конечная точка uj называется узлом (knot), а весь набор конечных точек - вектором узлов (knot vector). Значения конечных точек можно выбирать любыми при условии, что uj uj+1.

Значения umin и umax зависят от числа выбранных контрольных точек, параметра степени d и выбора подынтервалов (вектора узлов). (при практическом расчете предполагается, что любой член вида 0/0 имеет значение 0).

Возможности би-сплайнов по локальному контролю. рис.

би-сплайны позволяют варьировать число контрольных точек без изменения степени полинома. Можно увеличить число значений в векторе узлов - облегчает проектирование кривых. Но придется добавить контрольных точек, (размер вектора узлов зависит от n).

Рис. Локальная модификация би-сплайна. Изменение одной контрольной точки (а) дает кривую (б), которая отличается от предыдущей только в окрестности измененной контрольной точки

БИ-СПЛАЙНЫ

Би-сплайны имеют следующие свойства.

1.Полиномиальная кривая имеет степень d-1 и непрерывность Cd-2 в диапазоне изменения u.

2.При n+1 контрольных точек кривая описывается n+1 стыковочными функциями.

3.Каждая стыковочная функция Bk,d определена на d подынтервалах общего диапазона u, начиная со значения узла uk.

4.Диапазон параметра u делится на n + d подынтервалов n + d + 1 значениями, заданными в векторе узлов.

Если значения узлов обозначить {u0, u1, . . . , un+d}, получающийся би-сплайн определяется только в интервале от значения узла ud-1 до значения un+1. (Некоторые стыковочные функции вне этого интервала не определены.)

Каждый участок сплайна (между двумя последовательными значениями узлов) определяется d контрольными точками.

Любая контрольная точка может влиять на форму максимум d участков кривой.

Для любого значения u в интервале от узлового значения ud-1 до un+1 сумма всех базисных функций равна 1.

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

Существует три общие классификации векторов узлов: равномерная, открытая равномерная и неравномерная.

Би-сплайны описываются согласно классу выбранного вектора узлов.

РАВНОМЕРНЫЕ ПЕРИОДИЧЕСКИЕ БИ-СПЛАЙНЫ

Если расстояние между значениями в узлах постоянно, получающаяся в результате кривая - равномерный би-сплайн. Например, можно задать следующий равномерный вектор узлов.

{-1, 5; -1, 0; -0, 5; 0, 0; 0, 5; 1, 0; 1, 5; 2, 0}.

значения узлов нормируются в диапазон от 0 до 1, как, например, в следующем примере.

{0, 0; 0, 2; 0, 4; 0, 6; 0, 8; 1, 0}.

удобно задать равномерные значения узлов с шагом 1 и начальным значением 0.

{0, 1, 2, 3, 4, 5, 6, 7}.

Равномерные би-сплайны имеют периодические стыковочные функции. Для данных значений

n и d все стыковочные функции имеют одинаковую форму. Каждая последующая стыковочная функция является просто смещенной версией предыдущей.

Bk,d(u) = Bk+1,d(u + u) = Bk+2,d(u + 2u),

где u интервал между соседними значениями узлов.

На рис. показана квадратная равномерная стыковочная функция би-сплайна, сгенерированная в примере (след.слайд) по кривой с четырьмя контрольными точками.

• Рис.. Периодические стыковочные функции би-сплайна для n = d = 3 и равномерный целый вектор узлов

РАВНОМЕРНЫЕ ПЕРИОДИЧЕСКИЕ БИ-СПЛАЙНЫ

ПРИМЕР. Равномерные квадратные би-сплайны

Чтобы проиллюстрировать формулировку стыковочных функций би-сплайнов для равномерного целого вектора узлов, выберем значения параметров d = n = 3. В таком случае вектор узлов должен содержать n + d + 1 = 7 значений узлов.

{0, 1, 2, 3, 4, 5, 6},

параметр u изменяется от 0 до 6, число подынтервалов равно n + d = 6.

Каждая из четырех стыковочных функций захватывает d = 3 подынтервала общего диапазона u. Используя рекуррентные формулы, получаем первую стыковочную функцию.

Следующая периодическая стыковочная функция получается при подстановке u - 1 вместо u в B0,3 и смещении начального положения на 1 в сторону увеличения.

РАВНОМЕРНЫЕ ПЕРИОДИЧЕСКИЕ БИ-СПЛАЙНЫ

Оставшиеся две периодические функции получаются последовательным смещением B1,3 вправо.

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

особенность би-сплайна. 1 контрольная точка умножается на стыковочную функцию B0,3(u). Изменение положения 1 контрольной точки влияет только на форму кривой до u = 3. Аналогично последняя влияет на форму сплайновой кривой в интервале, где определено B3,3.

РАВНОМЕРНЫЕ ПЕРИОДИЧЕСКИЕ БИ-СПЛАЙНЫ

На рис. также иллюстрируются ограничения би-сплайнов. Все стыковочные функции

представлены в интервале от ud-1 = 2 до un+1 = 4. Ниже 2 и выше 4 представлены не все стыковочные функции.

интервал от 2 до 4 - диапазон полиномиальной кривой и интервалом, в котором справедливо уравнение. Сумма всех стыковочных функций на этом интервале равна 1. Вне данного интервала суммировать все стыковочные функции нельзя, поскольку не все они определены ниже 2 и выше 4. начальную и конечную позицию кривой можно определить, вычислив стыковочные функции в этих точках.

• Pstart = 1/2(p0 + p1),

Pend = 1/2(p2 + p3).

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

• P’start = p1 – p0,

P’end = p3 – p2.

РАВНОМЕРНЫЕ ПЕРИОДИЧЕСКИЕ БИ-СПЛАЙНЫ

Параметрическая касательная кривой в начале параллельна линии, соединяющей первые две контрольные точки, а параметрическая касательная в конце кривой параллельна линии, соединяющей последние две контрольные точки. На рис. 2 приведен график квадратного периодического би-сплайна для четырех контрольных точек, выбранных на плоскости xy.

Квадратная кривая начинается между первыми двумя и заканчивается между двумя последними контрольными точками. Полученный результат справедлив для квадратных периодических би-сплайнов, подобранных по любому числу различных контрольных точек. Вообще, для полиномов высокого порядка начальная и конечная точки являются взвешенным средним d – 1 контрольных точек. Кроме того, сплайновую кривую можно поместить ближе к любой контрольной точке, введя эту точку несколько раз.

Общие выражения для граничных условий на периодические би-сплайны можно получить, перепараметризовав стыковочные функции, чтобы параметр u отображался в единичный интервал от 0 до 1. Затем начальное и конечное условие находится при u = 0 и u = 1.

Рис. 1. Квадратный периодический би-сплайн, подобранный по четырем контрольным точкам на плоскости xy

Рис. 2. Замкнутый периодический кусочно-гладкий бисплайн, построенный с использованием циклической спецификации четырех контрольных точек для каждого участка кривой

Соседние файлы в предмете Компьютерная Графика