logo search
Компьютерная графика / МАШ_ГРАФИКА

5.2. Интерполирование по двукратным узлам

Рассмотрим интерполирование поверхностей по дву-кратным узлам. Допустим, на плоской прямоугольной сетке ( xi , уj ), (i = 0,1 ,..., n; j = 0,1 ,..., m) наряду со значениями координаты по оси z некоторой поверхности z (xi , уj ) = z i j заданы также значения её частных производных по x , у : zх (xi , уj ) = zхi j , zу (xi , уj ) = zуi j , а также смешанной производной zху (xi , уj ) = zхуi j .

Требуется построить квадратичную форму Н(x,у) мини-мально возможной степени, для которой:

Н( xi , уj ) = z i j ; Hх (xi , уj ) = zхi j , Hу (xi , уj ) = zуi j ,

Нху (xi , уj ) = zхуi j (i = 0,1 ,..., n; j = 0,1 ,..., m) ,

т.е. в узлах сетки помимо значений заданной функции двух переменных z (x , у ) совпадают величины её частных и смешанной производных по x , у .

В скалярном виде искомую квадратичную форму можно представить как:

где hi (x), hj (y), Нi (x), Нi (y), Нj (x), Нj (y) – те же cпециальные функции, что и у полиномов Эрмита для двукратных узлов.

В векторном виде данная форма Эрмита может быть представлена следующим образом:

Нn,m (x,у) =H(x)Т ZH(y); (2.25)

68

где :

H(x)= ( h0 (x), . . . , hn (x),Н0 (x) , . . . ,Нn (x));

H(y)= ( h0 (y), . . . , hm (y);Н0 (y) , . . . ,Н m (y)).

Рассмотрим интерполирование в безразмерных нормиро-ванных координатах поверхностей по двукратным узлам на прямоугольном участке сетки [x0,x1]0,y1]. В её граничных точках заданы значения функции z(x, у) , её первые и смешанная производные. Переходя к безраз-мерным переменным tх=(x-x0)/hх и tу =(у-y0)/hy (где hх = x1 - x0 , hy = y1 -y0 ), и используя матрицу МЭ , решение для S(tx, ty) можно представить в виде:

S(tx, ty) = (MЭТ3х)Т Z (MЭТ3y), (2.26)

Тх3 и Ту3 - степенные векторы переменных tх и tу .

69

Задачи.

1. Найти выражения для функций Лагранжа и построить квадратичные формы для следующих случаев интер-полирования поверхностей по однократным узлам:

а) n=1; х0 = 1 ; х1 = 2 ; m =2; y0 = 1 ; y1 = 2 ; y2 =3 ;

z0,0 = 1; z0,1 = 4 ; z0,2 = 5 ; z1,0 = 2 ; z1,1 = 3 ; z1,2 = 6 ;

б) n=2;х0 =-2 ; х1 = -1;х2 = 1; m =2; y0 = 1 ; y1 = 2 ; y2 =3 ;

z0,0 = -10; z0,1 = -6 ; z0,2 = z1,0 = -4 ; z1,1 = -2 ; z1,2 = 0 ; z2,0 = z2,1 = 1 ; z2,2 = 4.

2. Найти выражения для функций hi (x), Нi (x), hj(y), Нj (y) и построить квадратичные формы Эрмита для интерполирования поверхностей по двукратным узлам:

а) n=1; х0 = 0 ; х1 = 2 ; m =2; y0 = - 1 ; y1 = 0 ; y2 =1 ;

z0,0 = 5; z0,1 = 3 ; z0,2 = 6 ; z1,0 = 8 ; z1,1 = 5 ; z1,2 = 7 ;

zх0,0 = 2; zх0,1 = 1 ; zх0,2 = 0 ; zх1,0 = 1 ; zх1,1 = 2 ; zх1,2 = 0 ;

zу0,0 = - 1; zу0,1 = 2 ; zу0,2 = 3 ; zу1,0 = - 2 ; zу1,1 = 1 ; zу1,2 = 3 ;

б) n=2; х0 = -2; х1 = -1 ; х2 =1; m =2; y0 = 0; y1 = 1; y2 =2 ;

z0,0 = -8; z0,1 = -10 ; z0,2 = z1,0 = -7 ; z1,1 = -5 ; z1,2 = -2 ; z2,0 = -5 ; z2,1 = -2 ; z2,2 =1 ;

zх0,0 = 0; zх0,1 = 1 ; zх0,2 = 2 ; zх1,0 = 1 ; zх1,1 = 2 ; zх1,2 = zх2,0 = 1 ; zх2,1 = zх2,2 = 2 ;

zу0,0 = -1; zу0,1 =1 ; zу0,2 =3 ; zу1,0 = 0 ; zу1,1 =1 ; zу1,2 =0 ; zу2,0 = zу2,1 =1 ; zу2,2 =2.

70