Кубические сплайны. Кривые Безье. В-сплайны.

КУБИЧЕСКИЕ СПЛАЙНЫ.

Математически сплайн описывается полиномом k - той степени. Чаще всего используют полиномы третьей степени - кубические сплайны. Конкретный вид кубического сплайна определяется координатами точек, через которые его надо провести (концевых точек) и наклоном в этих точках.

Если требуется провести гладкую кривую между Кубические сплайны. Кривые Безье. В-сплайны. - student2.ru точками, то используется совокупность Кубические сплайны. Кривые Безье. В-сплайны. - student2.ru сплайнов - так называемые сплайновые сегменты. При этом предъявляется требование непрерывности второго порядка в местах соединений.

Уравнение единственного кубического сплайнового сегмента в параметрической форме выглядит следующим образом:

Кубические сплайны. Кривые Безье. В-сплайны. - student2.ru , где Кубические сплайны. Кривые Безье. В-сплайны. - student2.ru - вектор положения произвольной точки на сплайне.

Кубические сплайны. Кривые Безье. В-сплайны. - student2.ru

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

Внутри сплайнового сегмента параметр Кубические сплайны. Кривые Безье. В-сплайны. - student2.ru меняется от Кубические сплайны. Кривые Безье. В-сплайны. - student2.ru до Кубические сплайны. Кривые Безье. В-сплайны. - student2.ru ( Кубические сплайны. Кривые Безье. В-сплайны. - student2.ru соответствует Кубические сплайны. Кривые Безье. В-сплайны. - student2.ru ).

Обычно полагают Кубические сплайны. Кривые Безье. В-сплайны. - student2.ru . Тогда

Кубические сплайны. Кривые Безье. В-сплайны. - student2.ru

Кубические сплайны. Кривые Безье. В-сплайны. - student2.ru

Кубические сплайны. Кривые Безье. В-сплайны. - student2.ru

Отсюда получим

Кубические сплайны. Кривые Безье. В-сплайны. - student2.ru

Кубические сплайны. Кривые Безье. В-сплайны. - student2.ru Кубические сплайны. Кривые Безье. В-сплайны. - student2.ru

Кубические сплайны. Кривые Безье. В-сплайны. - student2.ru

Окончательно имеем

Кубические сплайны. Кривые Безье. В-сплайны. - student2.ru , Кубические сплайны. Кривые Безье. В-сплайны. - student2.ru

Кубические сплайны. Кривые Безье. В-сплайны. - student2.ru

Кубические сплайны. Кривые Безье. В-сплайны. - student2.ru

Отсюда уравнение одного кубического сплайнового сегмента:

Кубические сплайны. Кривые Безье. В-сплайны. - student2.ru Кубические сплайновые кривые широко распространены, однако имеют ряд недостатков. Например, с их помощью нельзя точно передать дугу окружности, а только приближенно. Примеры:

Кубические сплайны. Кривые Безье. В-сплайны. - student2.ru

КРИВЫЕ БЕЗЬЕ

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

Кубические сплайны. Кривые Безье. В-сплайны. - student2.ru

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

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

Кубические сплайны. Кривые Безье. В-сплайны. - student2.ru , где Кубические сплайны. Кривые Безье. В-сплайны. - student2.ru , Кубические сплайны. Кривые Безье. В-сплайны. - student2.ru

Здесь Кубические сплайны. Кривые Безье. В-сплайны. - student2.ru - степень полинома; Кубические сплайны. Кривые Безье. В-сплайны. - student2.ru – порядковый номер отдельной вершины.

Точки кривой в базисе Бернштейна задаются как

Кубические сплайны. Кривые Безье. В-сплайны. - student2.ru , Кубические сплайны. Кривые Безье. В-сплайны. - student2.ru

то есть Кубические сплайны. Кривые Безье. В-сплайны. - student2.ru -й порядок полинома характеризуется Кубические сплайны. Кривые Безье. В-сплайны. - student2.ru – й вершиной.

В начальной точке Кубические сплайны. Кривые Безье. В-сплайны. - student2.ru

Кубические сплайны. Кривые Безье. В-сплайны. - student2.ru

Кубические сплайны. Кривые Безье. В-сплайны. - student2.ru , Кубические сплайны. Кривые Безье. В-сплайны. - student2.ru

В конечной точке Кубические сплайны. Кривые Безье. В-сплайны. - student2.ru

Кубические сплайны. Кривые Безье. В-сплайны. - student2.ru

Кубические сплайны. Кривые Безье. В-сплайны. - student2.ru

То есть Кубические сплайны. Кривые Безье. В-сплайны. - student2.ru и Кубические сплайны. Кривые Безье. В-сплайны. - student2.ru , вершины Кубические сплайны. Кривые Безье. В-сплайны. - student2.ru и Кубические сплайны. Кривые Безье. В-сплайны. - student2.ru действительно являются началом и концом криволинейного сегмента.

В-СПЛАЙНЫ

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

Здесь Кубические сплайны. Кривые Безье. В-сплайны. - student2.ru - вершины характеристического многоугольника, Кубические сплайны. Кривые Безье. В-сплайны. - student2.ru ; Кубические сплайны. Кривые Безье. В-сплайны. - student2.ru – базисные функции; Кубические сплайны. Кривые Безье. В-сплайны. - student2.ru - порядок кривой; Кубические сплайны. Кривые Безье. В-сплайны. - student2.ru – параметр, изменяющийся в диапазоне от 0 до Кубические сплайны. Кривые Безье. В-сплайны. - student2.ru В отличие от метода кривых Безье, где Кубические сплайны. Кривые Безье. В-сплайны. - student2.ru в методе В-сплайнов величина Кубические сплайны. Кривые Безье. В-сплайны. - student2.ru и определяется порядком кривой, а также наличием так называемых кратных вершин

Для определения базисных функций Кубические сплайны. Кривые Безье. В-сплайны. - student2.ru введем понятие узлового вектора. Узловой вектор или вектор параметрических узлов представляет собой последовательность целых положительных чисел Кубические сплайны. Кривые Безье. В-сплайны. - student2.ru

Кубические сплайны. Кривые Безье. В-сплайны. - student2.ru

в которой Кубические сплайны. Кривые Безье. В-сплайны. - student2.ru . Примерами узлового вектора является Кубические сплайны. Кривые Безье. В-сплайны. - student2.ru или Кубические сплайны. Кривые Безье. В-сплайны. - student2.ru и т. д. Значения Кубические сплайны. Кривые Безье. В-сплайны. - student2.ru рассматриваются как параметрические узлы, характеризующие различные интервалы изменения параметра Кубические сплайны. Кривые Безье. В-сплайны. - student2.ru . Размерность узлового вектора и конкретные значения узлов зависят от числа вершин задающего многоугольника, то есть от Кубические сплайны. Кривые Безье. В-сплайны. - student2.ru , порядка кривой Кубические сплайны. Кривые Безье. В-сплайны. - student2.ru и сложности вершин.

Сложная (или кратная) вершина это две или более вершины с одинаковыми координатами. В узловом векторе сложным вершинам соответствует последовательность одинаковых по величине компонент Кубические сплайны. Кривые Безье. В-сплайны. - student2.ru , где Кубические сплайны. Кривые Безье. В-сплайны. - student2.ru – кратность вершины.

Алгоритм формирования узлового вектора следующий. Входными параметрами являются:

1) массив вершин задающего многоугольника, в котором Кубические сплайны. Кривые Безье. В-сплайны. - student2.ru - кратная вершина представлена как Кубические сплайны. Кривые Безье. В-сплайны. - student2.ru - простых вершин с совпадающими координатами - массив Кубические сплайны. Кривые Безье. В-сплайны. - student2.ru ;

2) Кубические сплайны. Кривые Безье. В-сплайны. - student2.ru – число вершин без l;

3) Кубические сплайны. Кривые Безье. В-сплайны. - student2.ru – порядок кривой.

На выходе формируется вектор Кубические сплайны. Кривые Безье. В-сплайны. - student2.ru . Размерность вектора Кубические сплайны. Кривые Безье. В-сплайны. - student2.ru определяется, как Кубические сплайны. Кривые Безье. В-сплайны. - student2.ru , то есть

Кубические сплайны. Кривые Безье. В-сплайны. - student2.ru

1) Для Кубические сплайны. Кривые Безье. В-сплайны. - student2.ru Кубические сплайны. Кривые Безье. В-сплайны. - student2.ru ;

2) Для Кубические сплайны. Кривые Безье. В-сплайны. - student2.ru , если Кубические сплайны. Кривые Безье. В-сплайны. - student2.ru , то Кубические сплайны. Кривые Безье. В-сплайны. - student2.ru если Кубические сплайны. Кривые Безье. В-сплайны. - student2.ru , то Кубические сплайны. Кривые Безье. В-сплайны. - student2.ru

3) Для Кубические сплайны. Кривые Безье. В-сплайны. - student2.ru Кубические сплайны. Кривые Безье. В-сплайны. - student2.ru

Отметим одно общее правило: начальные и конечные вершины условно считываются Кубические сплайны. Кривые Безье. В-сплайны. - student2.ru - кратными, однако, в отличии от кратных промежуточных вершин, это не приводит к увеличению Кубические сплайны. Кривые Безье. В-сплайны. - student2.ru , а лишь отражается в узловом векторе.

Кубические сплайны. Кривые Безье. В-сплайны. - student2.ru

Теперь определим базисные функции Кубические сплайны. Кривые Безье. В-сплайны. - student2.ru . Они задаются рекуррентным соотношением

Кубические сплайны. Кривые Безье. В-сплайны. - student2.ru

Кубические сплайны. Кривые Безье. В-сплайны. - student2.ru

отсюда видно, что если порядок кривой равен Кубические сплайны. Кривые Безье. В-сплайны. - student2.ru , то функция Кубические сплайны. Кривые Безье. В-сплайны. - student2.ru , соответствующая i- вершине Кубические сплайны. Кривые Безье. В-сплайны. - student2.ru , не равна нулю только на промежутке Кубические сплайны. Кривые Безье. В-сплайны. - student2.ru то есть каждая вершина Кубические сплайны. Кривые Безье. В-сплайны. - student2.ru имеет ограниченное (локальное) влияние на форму кривой. Если порядок кривой Кубические сплайны. Кривые Безье. В-сплайны. - student2.ru равен числу вершин и отсутствуют сложные вершины, то В-сплайн кривая совпадает с кривой Безье; с уменьшением порядка форма кривой приближается к форме описывающего ее многоугольника.

При Кубические сплайны. Кривые Безье. В-сплайны. - student2.ru кривая полностью совпадает с многоугольником. При k = 4 – это кривая Безье; при k = 3 – промежуточное положение.

Кубические сплайны. Кривые Безье. В-сплайны. - student2.ru

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

Наши рекомендации