Тема. Інтерполяція і апроксимація кривих 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Тема. Інтерполяція і апроксимація кривих



Завдання 1. Знайти векторний інтерполяційний поліном Лагранжа і створити додаток у середовищі програмування DELPHI для побудови цієї кривої.

Порядок виконання.

1. Для заданої таблиці вузлів (tk,xk,yk, tkÎ[a,b]) знайти елементарні поліноми Лагранжа Lk(t), tÎ[a,b], з вузлами tk , (k = 0,1,2,3).

2. За формулою Лагранжа знайти криву на площині (векторний поліном Лагранжа L (t), t Î[ a,b ]), що проходить через точки Mk(xk,yk), де k - номер вузла.

3. Створити додаток у середовищі програмування DELPHI знаходження точок інтерполяційної кривої для значень ti = a+ih, h = (b-a)/ 10, i =0,1,…10 і побудови кривої на екрані.

Варіанти завдань (значення координат вузлів (tk,xk,yk))

Вар. t0 x0 y0 t1 x1 y1 t2 x2 y2 t3 x3 y3
  -5       -6           -5  
  -3 -3 -2   -1 -1   -3     -2 -2
  -3 -5                 -5  
  -2             -3 -1      
  -5     -2 -1     -2 -4     -3
  -1 -2             -5   -3  
  -5 -2   -4   -4   -6 -2   -4  
  -5   -5 -1       -3       -1
  -4   -4     -4   -1     -4  
  -5 -2 -4 -4     -1   -4      

Методичні вказівки до виконання завдання 1.

Знайдемо, наприклад, векторний інтерполяційний поліном Лагранжа для наступних чотирьох точок:

 

Вар. t0 x0 y0 t1 x1 y1 t2 x2 y2 t3 x3 y3
  -3 -1   -2   -1 -1 -6     -1  

 

1. Знаходження елементарних поліномів Лагранжа

 

(Перевірка: L0(t0)=L0(-3)=1, L0(t1)=L0(-2)=0, L0(t2)=L0(-1)=0, L0(t3)=L0(1)=0)

 

(Перевірка: L1(t0)=L1(-3)=0, L1(t1)=L1(-2)=1, L1(t2)=L1(-1)=0, L1(t3)=L1(1)=0)

 

(Перевірка: L2(t0)=L2(-3)=0, L2(t1)=L2(-2)=0, L2(t2)=L2(-1)=1, L2(t3)=L2(1)=0)

 

(Перевірка: L3(t0)=L3(-3)=0, L3(t1)=L3(-2)=0, L3(t2)=L3(-1)=0, L3(t3)=L3(1)=1)

 

2. Знаходження векторної інтерполяційної кривої на площині.

 

L (t) ={x0,y0}L0(t)+{x1,y1}L1(t)+{x2,y2}L2(t)+{x3,y3}L3(t) =

= 1/24{46t3+168t2+14t-252, -37t3-114t2+13t+162}

(Перевірка: L (t0)= L (-3)={-1,4}={x0,y0}, L (t1)= L (-2)={1,-1}={x1,y1}, L (t2)= L (-1)={-6,3}={x2,y2}, L (t3)= L (1)={-1,1}={x3,y3})

 

3. Створення програми, яка розраховує точки інтерполяційної кривої для tk Î[-3,1] з кроком (1+3)/10 (для визначення кроку інтервал зміни параметра поділити на 10 частин), і будує на екрані осі координат та інтерполяційну криву із виділенням на ній заданих точок.

Завдання 2. Побудувати криву Без’є від параметра на площині.

 

Порядок виконання:

1) Для заданої таблиці вершин характеристичного (базового) багатокутника знайти відповідну криву Без’є у вигляді поліномів x=x(t), y=y(t), t Î[0;1].

2) Створити додаток у середовищі програмування DELPHI знаходження точок кривої Без’є для значень параметра t = i/ 10, і = 0,1,…,10, і побудови на екрані

а) осей координат,

б) базового багатокутника (вершини позначити),

в) кривої Без’є.

3) Графічно знайти напрямок дотичних до кривої Без’є в початковій і кінцевій точках. Провести порівняння з теоретичними результатами.

Варіанти завдань

 

Варіант Вершина 1 Вершина 2 Вершина 3 Вершина 4
  0 -1 2 -1 -4 3 -4 -1
  -2 -2 0 3 4 -4 3 4
  2 -1 4 4 -4 2 4 3
  1 2 4 -4 -1 -4 1 0
  -1 2 2 1 -4 -4 -1 4
  -2 -1 -3 -3 0 2 0 2
  -1 -2 3 2 -3 -3 -3 3
  2 0 -3 -2 -3 1 3 -3
  0 -2 -2 0 2 3 -3 -1
  -1 2 1 3 -2 -1 0 3

Приклад виконання завдання 2.

Побудуємо, наприклад, криву Без’є для наступних чотирьох точок:

Варіант Вершина 1 Вершина 2 Вершина 3 Вершина 4
  1 1 2 3 4 3 3 1

 

У нашому випадку n = 3, крок h = 0,1, тобто маємо чотирикутник з вершинами P0 = {1,1}, P1 = {2,3}, P2 = {4,3}, P3 = {3,1}.

Тоді

,

де .

З кроком складемо таблицю значень точок P(ti)={ xi,yi }, ti=i×h, i =0,1,…,10, скориставшись вищенаведеними формулами. Точки кривої для окремих значень з кроком наведені у таблиці 8

 

Таблиця 8 – Розраховані к оординати точок, що належать кривій Без’є

 

  0,0 1,000 1,000
  0,1 1,326 1,540
  0,2 1,688 1,960
  0,3 2,062 2,260
  0,4 2,614 2,494
  0,5 2,750 2,500
  0,6 3,066 2,440
  0,7 3,198 2,260
  0,8 3,232 1,960
  0,9 3,214 1,540
  1,0 3,000 1,000

 

Далі креслимо криву у системі координат (х,у).



Поделиться:


Последнее изменение этой страницы: 2017-02-07; просмотров: 100; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.149.213.209 (0.008 с.)