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

ALL

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

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

Периодические сплайны особенно полезны при генерации определенных замкнутых кривых. Замкнутую кривую можно получить циклически задав 4 из 6 контрольных точек для каждого участка. Если координаты 3 последовательных контрольных точек равны, кривая проходит через эту точку.

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

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

и рекуррентные соотношения, из которых находятся периодические стыковочные функции, как для квадратных периодических би-сплайнов. Чтобы вывести уравнение кривой

Граничные условия на периодические кубические би-сплайны для 4 контрольных точек, обозначенных p0, p1, p2 и p3, имеют вид.

P(0) = 1/6(p0 + 4p1 + p2),

P(1) = 1/6(p1 + 4p2 + p3),

P’(0) = 1/2(p2 – p0),

P’(1) = 1/2(p3 – p1).

граничные условия подобны условиям для фундаментальных сплайнов.

Участки кривой определены 4 контрольными точками,

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

Участок би-сплайна начинается в точке возле p1 и заканчивается в точке вблизи p2.

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

Матричная формулировка кубического периодического би-сплайна с четырьмя контрольными точками

где матрица би-сплайна для периодических кубических полиномов

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

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

и она сводится к MB при t = 1.

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

Например, t = 1, получаем

• B (u) = 1/6(1 – u)3

, 0 u 1,

0,3

 

B1,3(u) = 1/6(3u3 – 6u2 + 4),

B2,3(u) = 1/6(-3u

3 + 3u2 + 3u + 1),

B3,3(u) = 1/6(u3).

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

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

два примера открытых равномерных целочисленных вектора узлов с начальным значением 0.

{0, 0, 1, 2, 3, 3} для d = 2 и n = 3; {0, 0, 0, 0, 1, 2, 2, 2, 2} для d = 4 и n = 4.

Данные вектора можно нормировать в единичный интервал от 0 до 1.

• {0, 0, 0.33, 0.67, 1, 1} для d = 2 и n = 3;

{0, 0, 0, 0, 0.5, 1, 1, 1, 1} для d = 4 и n = 4.

Для любых значений параметров d и n открытый равномерный вектор узлов

для значений j из диапазона от 0 до n + d

Первым d узлам присваивается значение 0, а последние d узлов имеют значение n – d + 2.

При d = n+1 (степень полинома n) открытые би-сплайны сводятся к сплайнам Безье, все значения узлов равны 0 или 1. Например, при кубическом открытом би-сплайне (d = 4) и 4 контрольных точках вектор узлов равен. {0, 0, 0, 0, 1, 1, 1, 1}.

Полиномиальная кривая для открытого би-сплайна соединяет первую и последнюю точку.

Параметрическая касательная кривой в 1 контрольной точке параллельна прямой, сформированной первыми двумя контрольными точками,

параметрическая касательная в последней точке параллельна линии, определенной двумя последними контрольными точками. Т.е. геометрические условия как для кривых Безье.

Несколько совпадающих контрольных точек притягивает би-сплайн к данной точке.

Замкнутую кривую можно определить, задав первую и последнюю контрольную точку с одинаковыми координатами.

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

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

Из условий (uj) при d = 3 и n = 4 (5 к. точек) получаем восемь значений вектора узлов.

{0, 0, 0, 1, 2, 3, 3, 3}.

Диапазон u делится на 7 подынтервалов, и каждая из 5 стыковочных функций Bk,3 определяется на 3 подынтервалах, начиная с узла uk. B0,3 определена от u0 = 0 до u3 = 1, B1,3 - от u1 = 0 до u4 = 2 и B4,3 - от u4 = 2 до u7 = 3. Явные полиномиальные выражения для стыковочных функций находятся из рекуррентных соотношений.

B0,3(u) = (1 – u)2 0 u < 1,

• B (u) = (u – 2)2

2 u < 3.

4,3

 

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

На рис. показана форма данных пяти стыковочных функций.

Снова видны локальные особенность би-сплайнов.

Стыковочная функция B0,3 не равна нулю только в подынтервале от 0 до 1, так что первая контрольная точка влияет на кривую только в этом интервале.

функция B4,3 равна 0 вне интервала от 2 до 3, и положение последней контрольной точки не влияет на форму кривой в начале и середине кривой.

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

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

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

Вектор узлов может принимать любые значения из любых интервалов. При неравномерных би-сплайнах можно выбирать несколько внутренних значений узлов и неравномерное

 

размещение значений узлов. Например.

 

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

{0, 2, 2, 3, 3, 6},

{0, 0, 0, 1, 1, 3, 3, 3},

{0, 0, 2, 0, 6, 0, 9, 1, 0}.

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

Стыковочные функции неравномерного би-сплайна получаются аналогично как для равномерных и открытых би-сплайнов. Для набора n+1 контрольных точек задается степень полинома и выбираются значения узла. Затем, используя рекуррентные соотношения, можно либо получить набор стыковочных функций, либо вычислить непосредственно точки кривой. Интервалы между узлами часто ограничены значениями 0 или 1

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

БИ-СПЛАЙНОВЫЕ ПОВЕРХНОСТИ

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

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

где векторные значения задают положения (nu + 1) на (nv + 1) контрольных точках.

Би-сплайновые поверхности имеют те же свойства, что и составляющие их би-сплайны.

Поверхность можно построить по выбранным значениями параметров степени du и dv, которые задают степени ортогональных полиномов поверхности равными du – 1 и dv – 1.

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

БЕТА-СПЛАЙНЫ

Бета-сплайны ( -сплайны) - обобщение би-сплайнов , наложение условия геометрической

непрерывности на первую и вторую производные по параметру. Параметры непрерывности бетасплайнов называются параметрами .

УСЛОВИЯ НЕПРЕРЫВНОСТИ БЕТА-СПЛАЙНОВ

Для вектора узлов слева и справа от узла uj задаются участки

Рис. Радиус-векторы вдоль участков кривой

сплайна с радиус-векторами Pj-1(u) и Pj(u) (рис.).

слева и справа узла uj

1.

Непрерывность нулевого порядка (позиционная непрерывность) G0 в u - при выполнении требования.

 

 

j

 

Pj-1(uj) = Pj(uj).

 

 

2.

Непрерывность 1-го порядка (непрерывность единичной касательной) G1 - выполнение требования -

 

касательные векторы должны быть пропорциональны. 1P’j-1(uj) = P’j(uj),

1 > 0.

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

21P’’j-1(uj) + 2P’j-1(uj) = P’’j (uj),

Где 2 любое действительное значение, а 1 >0. Вектор кривизны дает меру величины изгиба кривой в точке uj . Если 1 = 1 и 2 = 0, бета-сплайны сводятся к би-сплайнам.

Параметр 1 - параметр смещения, управляет асимметрией кривой. 1 > 1 кривая придавлена справа в направлениях единичных касательных векторов, выходящих из узлов. 0 < 1 < 1 кривая сглажена слева. Влияние 1 - рис.

Рис. Влияние параметра 1 на форму бетасплайна

Рис. 2. Влияние параметра 2 на форму бетасплайна

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

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

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

где

Матрица би-сплайна MB получается при 1 = 1 и 2 = 0. Матрица натяжения би-сплайна MBt (уравнение) получается при 1 = 1, 2 = 12/t (1 – t).

РАЦИОНАЛЬНЫЕ СПЛАЙНЫ

Рациональная функция представляет собой просто отношение двух полиномов. Следовательно, рациональный сплайн это отношение двух сплайновых функций. Например, рациональный бисплайн можно описать радиус-вектором

где pk набор из n+1 положений контрольных точек. Параметры ωk весовые коэффициенты контрольных точек. Чем больше значение определенного ωk, тем ближе кривая притягивается к контрольной точке pk, взвешенной этим параметром. Когда всем весовым коэффициентам будут присвоены значения 1, получим стандартный би-сплайн, поскольку в таком случае знаменатель в уравнении это просто сумма стыковочных функций, которая равна 1.

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

Рациональные сплайны имеют два важных преимущества перед нерациональными.

1.Во-первых, они точно представляют кривые второго порядка (конические сечения), такие как окружности и эллипсы.

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

2.Второе преимущество рациональных сплайнов заключается в том, что они инвариантны относительно перспективной проекции.

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

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

Данные сплайны называются NURBS (Nonuniform Rational B-splines неравномерные рациональные би-сплайны).

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

рациональный сплайн можно расценивать как проекцию четырехмерного нерационального сплайна в трехмерное пространство.

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