Ремонт принтеров, сканнеров, факсов и остальной офисной техники


назад Оглавление вперед




[18]

Задача построения полинома сводится к нахождению коэффициентов a у . Поскольку для каждого из отрезков [xi, xi+1 ] необходимо найти 4

коэффициента aiJ-, то всего количество искомых коэффициентов будет 4m.

Для нахождения всех коэффициентов определим соответствующее количество уравнений. Первые (m -1) уравнений получаем из условий

совпадения значений функции во внутренних узлах xi, i = 1, m -1. Следующие 2(m -1) уравнений получаем аналогично из условий совпадения значений первых и вторых производных во внутренних узлах. Вместе с первым условием получаем m -1 + m -1 + m -1 + m +1 = 4m - 2 уравнений. Недостающие два уравнения можно получить заданием значений первых производных в концевых точках отрезка [x0, xm ]. Так могут быть заданы

граничные условия.

Перейдем к более сложному случаю - заданию кривых в трехмерном

Г y = f (x)

пространстве. В случае функционального задания кривой < , ч

Iz = f (x)

возможны многозначности в случае самопересечений и неудобства при значениях производных равных да. Ввиду этого будем искать функцию в параметрическом виде. Пусть t - независимый параметр, такой что 0 < t < 1. Кубическим параметрическим сплайном назовем следующую систему уравнений:


[ x(t )= axt3 + bxt2 + cxt + dx \y(t)= ayt t + byt2 + cyt + dy z(t )= azt3 + bzt2 + czt + dz

Координаты точек на кривой описываются вектором (x((),У((),z(t)), а

три производные задают координаты соответствующего касательного вектора в точке. Например, для координаты x:

dx 2

- = 3axt + 2bxt + cx . dt

Одним из способов задания параметрического кубического сплайна является указание координат начальной и конечной точек, а также векторов касательных в них. Такой способ задания называется формой Эрмита. Обозначим концевые точки P1 и P4, а касательные векторы в них R1 и R4.

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

Будем решать задачу нахождения четверки коэффициентов ax, bx, cx, dx, так как для оставшихся двух уравнений коэффициенты

находятся аналогично. Запишем условие для построения сплайна:

x(0)= Pix, x(l) = P4x, x(0)= , x(l)= R4x Перепишем выражение для x в векторном виде:

Г a 1

(*)

tt)

t3 ,t2, t,1

Обозначим

коэффициентов Cx

вектор Г a 1 b

c d

строку

T

t3, t2, t ,1

и

вектор столбец

тогда

Из (*) следует, что касательных x (t)

ci, чти x(0)= 3t 2,2t ,1,0]Cx, =>

[0,0,0,l]Cx, x(l) = P4x =[l,1,1,l]Cx. Для

x

x


x(0 )= Rb = [0,0,1,0]Cx ,

x(1)= R4 x =[3,2,1,0]Cx уравнение:

Отсюда получаем векторно-матричное

" "

"0

0

0

P4 x

1

1

1

R1x

0

0

1

R4 x

3

2

1

1

1

0 0

Эта система решается относительно Cx нахождением обратной матрицы размером 4 х 4.

Г 2 - 2 1 1 Т

Cx

3

0 1

3 0 0

2

1

1 0

4x

0 R

0

1x

R

4x

MhGhx

Здесь Mh - эрмитова матрица, Gh - геометрический вектор Эрмита. Подставим выражение Cx для нахождения x(t): x(t)= TMhGhx. Аналогично для остальных координат: y(t)= TMhGhy, z(t)= TMhGhz .

Выпишем в явном виде формулы для вычисления координат точек сплайна. Так как TMh = [(2t3 - 3t2 +1)(- 2t3 + 3t2),(t3 - 2t2 +1)(t3 -12)], то умножая справа на Ghx, получаем:

x(t)=TMhGhx=

= (2t3 - 3t2 +1)+ P4x (- 2t3 + 3t2)+ (t3 - 2t2 +1)+ R4x(t3 -12).

Четыре функции в скобках называются функциями сопряжения.

Форму кривой, заданной в форме Эрмита, легко изменять если учитывать, что направление вектора касательной задает начальное направление, а модуль вектора касательной задает степень вытянутости кривой в направлении этого вектора, как показано на рис. 41.



[стр.Начало] [стр.1] [стр.2] [стр.3] [стр.4] [стр.5] [стр.6] [стр.7] [стр.8] [стр.9] [стр.10] [стр.11] [стр.12] [стр.13] [стр.14] [стр.15] [стр.16] [стр.17] [стр.18] [стр.19]