składa się z m + 1 uporządkowanych niemalejąco liczb nieujemnych. Pomiędzy p, n i m zachodzi następująca zależność:

Podobne dokumenty
Ćwiczenia nr 7. TEMATYKA: Krzywe Bézier a

Grafika komputerowa Wykład 8 Modelowanie obiektów graficznych cz. II

Grafika komputerowa Wykład 7 Modelowanie obiektów graficznych cz. I

Opis krzywych w przestrzeni 3D. Mirosław Głowacki Wydział Inżynierii Metali i Informatyki Przemysłowej AGH

Definicje i przykłady

VII. Elementy teorii stabilności. Funkcja Lapunowa. 1. Stabilność w sensie Lapunowa.

Modelowanie krzywych i powierzchni

Zadanie. Oczywiście masa sklejonych ciał jest sumą poszczególnych mas. Zasada zachowania pędu: pozwala obliczyć prędkość po zderzeniu

Twierdzenia Rolle'a i Lagrange'a

VI. FIGURY GEOMETRYCZNE i MODELE

Funkcja kwadratowa. f(x) = ax 2 + bx + c,

Matematyka stosowana i metody numeryczne

A,B M! v V ; A + v = B, (1.3) AB = v. (1.4)

Funkcja kwadratowa. f(x) = ax 2 + bx + c = a

Wstęp. Ruch po okręgu w kartezjańskim układzie współrzędnych

KINEMATYKA I DYNAMIKA CIAŁA STAŁEGO. dr inż. Janusz Zachwieja wykład opracowany na podstawie literatury

DEFINICJE: Punkt, prosta, płaszczyzna i przestrzeń są pojęciami pierwotnymi przyjmowanymi bez definicji,

Geometria. Rozwiązania niektórych zadań z listy 2

Arkusz maturalny nr 2 poziom podstawowy ZADANIA ZAMKNIĘTE. Rozwiązania. Wartość bezwzględna jest odległością na osi liczbowej.

Geometria analityczna

MECHANIKA 2. Prowadzący: dr Krzysztof Polko

II. Równania autonomiczne. 1. Podstawowe pojęcia.

INTERPOLACJA I APROKSYMACJA FUNKCJI

Zastosowanie MES do rozwiązania problemu ustalonego przepływu ciepła w obszarze 2D

Znaleźć wzór ogólny i zbadać istnienie granicy ciągu określonego rekurencyjnie:

RÓWNANIA RÓŻNICZKOWE WYKŁAD 15

Teoria. a, jeśli a < 0.

Pochodna funkcji odwrotnej

Zadania do samodzielnego rozwiązania

Wykład z równań różnicowych

Pochodne wyższych rzędów definicja i przykłady

Matematyka licea ogólnokształcące, technika

Elementy rachunku różniczkowego i całkowego

Podstawy analizy matematycznej II

Po zapoznaniu się z funkcją liniową możemy przyjśd do badania funkcji kwadratowej.

Rozdział 2. Krzywe stożkowe. 2.1 Elipsa. Krzywe stożkowe są zadane ogólnym równaniem kwadratowym na płaszczyźnie

Równania różniczkowe liniowe II rzędu

Zadania z analizy matematycznej - sem. I Pochodne funkcji, przebieg zmienności funkcji

Następnie przypominamy (dla części studentów wprowadzamy) podstawowe pojęcia opisujące funkcje na poziomie rysunków i objaśnień.

Podstawy programowania. Wykład: 13. Rekurencja. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Funkcje liniowe i wieloliniowe w praktyce szkolnej. Opracowanie : mgr inż. Renata Rzepińska

Aby opisać strukturę krystaliczną, konieczne jest określenie jej części składowych: sieci przestrzennej oraz bazy atomowej.

WYKŁAD 10. kodem pierwotnym krzywej jest ciąg par współrzędnych x, y kolejnych punktów krzywej: (x 1, y 1 ), (x 2, y 2 ),...

Funkcje wymierne. Funkcja homograficzna. Równania i nierówności wymierne.

Estymacja wektora stanu w prostym układzie elektroenergetycznym

Wykład 14. Elementy algebry macierzy

Układy równań i nierówności liniowych

Siły wewnętrzne - związki różniczkowe

5. Rozwiązywanie układów równań liniowych

VIII. Zastosowanie rachunku różniczkowego do badania funkcji. 1. Twierdzenia o wartości średniej. Monotoniczność funkcji.

Przestrzenie wektorowe

Przykładowe rozwiązania

Kryteria oceniania z matematyki dla klasy M+ (zakres rozszerzony) Klasa II

Zajęcia nr. 6: Równania i układy równań liniowych

METODY MATEMATYCZNE I STATYSTYCZNE W INŻYNIERII CHEMICZNEJ

CHARAKTERYSTYKI CZĘSTOTLIWOŚCIOWE

dr Mariusz Grządziel 15,29 kwietnia 2014 Przestrzeń R k R k = R R... R k razy Elementy R k wektory;

Analiza matematyczna dla informatyków 3 Zajęcia 14

Wektory, układ współrzędnych

Z52: Algebra liniowa Zagadnienie: Zastosowania algebry liniowej Zadanie: Operatory różniczkowania, zagadnienie brzegowe.

Aproksymacja. funkcji: ,a 2. ,...,a m. - są funkcjami bazowymi m+1 wymiarowej podprzestrzeni liniowej X m+1

Obliczenia iteracyjne

Wykład 2. Kinematyka. Podstawowe wielkości opisujące ruch. W tekście tym przedstawię podstawowe pojecia niezbędne do opiosu ruchu:

Rachunek wektorowy - wprowadzenie. dr inż. Romuald Kędzierski

3. FUNKCJA LINIOWA. gdzie ; ół,.

166 Wstęp do statystyki matematycznej

W naukach technicznych większość rozpatrywanych wielkości możemy zapisać w jednej z trzech postaci: skalara, wektora oraz tensora.

1 + x 1 x 1 + x + 1 x. dla x 0.. Korzystając z otrzymanego wykresu wyznaczyć funkcję g(m) wyrażającą liczbę pierwiastków równania.

27. RÓWNANIA RÓŻNICZKOWE CZĄSTKOWE

Metody numeryczne. materiały do wykładu dla studentów

jest rozwiązaniem równania jednorodnego oraz dla pewnego to jest toŝsamościowo równe zeru.

Mathcad c.d. - Macierze, wykresy 3D, rozwiązywanie równań, pochodne i całki, animacje

Wymagania edukacyjne z matematyki klasa II technikum

Pochodną funkcji w punkcie (ozn. ) nazywamy granicę ilorazu różnicowego:

Geometria w R 3. Iloczyn skalarny wektorów

Opis systemów dynamicznych w przestrzeni stanu. Wojciech Kurek , Gdańsk

Liczby zespolone. x + 2 = 0.

Zagadnienia brzegowe dla równań eliptycznych

Baza w jądrze i baza obrazu ( )

Wydział Inżynierii Środowiska; kierunek Inż. Środowiska. Lista 2. do kursu Fizyka. Rok. ak. 2012/13 sem. letni

Przykładowe rozwiązania zadań. Próbnej Matury 2014 z matematyki na poziomie rozszerzonym

FUNKCJE ELEMENTARNE I ICH WŁASNOŚCI

W efekcie złożenia tych dwóch ruchów ciało porusza się ruchem złożonym po torze, który w tym przypadku jest łukiem paraboli.

Mechanika i Budowa Maszyn

Egzamin z Metod Numerycznych ZSI, Egzamin, Gr. A

22. CAŁKA KRZYWOLINIOWA SKIEROWANA

RACHUNEK RÓŻNICZKOWY FUNKCJI JEDNEJ ZMIENNEJ. Wykorzystano: M A T E M A T Y K A Wykład dla studentów Część 1 Krzysztof KOŁOWROCKI

Zaawansowane metody numeryczne

Ruch jednowymiarowy. Autorzy: Zbigniew Kąkol Kamil Kutorasiński

Wstęp do równań różniczkowych

Równanie przewodnictwa cieplnego (I)

n=0 (n + r)a n x n+r 1 (n + r)(n + r 1)a n x n+r 2. Wykorzystując te obliczenia otrzymujemy, że lewa strona równania (1) jest równa

Matematyka A kolokwium: godz. 18:05 20:00, 24 maja 2017 r. rozwiązania. ) zachodzi równość: x (t) ( 1 + x(t) 2)

Wykład 4 Przebieg zmienności funkcji. Badanie dziedziny oraz wyznaczanie granic funkcji poznaliśmy na poprzednich wykładach.

Programowanie celowe #1

FUNKCJA LINIOWA. Zadanie 1. (1 pkt) Na rysunku przedstawiony jest fragment wykresu pewnej funkcji liniowej y = ax + b.

Algebra liniowa z geometrią

Przykładowe zadania z teorii liczb

Geometria analityczna - przykłady

Transkrypt:

TEMATYKA: Krzywe typu Splajn (Krzywe B sklejane) Ćwiczenia nr 8 Krzywe Bezier a mają istotne ograniczenie. Aby uzyskać kształt zawierający wiele punktów przegięcia niezbędna jest krzywa wysokiego stopnia. Takie krzywe są trudne do kształtowania. Z kolei najczęściej stosowane krzywe Bezier a 2-go i 3-go stopnia trzeba łączyć, aby uzyskać bardziej skomplikowany kształt. Kontrolowanie kształtu w miejscach łączenia także jest trudne. Dlatego zaproponowano krzywe sklejane krzywe typu splajn. Kształt takiej krzywej jest ustalany przez łamaną składającą się z punktów kontrolnych. Definicja krzywej typu splajn musi zawierać dodatkową strukturę, nazwaną wektorem węzłów, która określa miejsca łączenia segmentów Bezier a. Węzeł to wartość parametru, w którym następuje łączenie sąsiednich segmentów Bezier a. Liczba węzłów zależy od stopnia krzywej splajn i liczby punktów kontrolnych. Ze względów obliczeniowych wektor węzłów zawiera na początku i końcu powtarzające się wartości. DEFINICJE: Krzywa splajn: Krzywa stopnia p 1 jest opisana następującym równaniem parametrycznym: n C p (u) = N i,p (u) P i i= dla a u b, gdzie P i to zbiór n + 1 punktów kontrolnych, a N i,p (u) jest funkcją bazową splajnu określoną na wektorze węzłów U = {u,, u p, u p+1,, u m p, u m p+1,, u m }, który składa się z m + 1 uporządkowanych niemalejąco liczb nieujemnych. Pomiędzy p, n i m zachodzi następująca zależność: m = n + p + 1 Funkcja bazowa splajnu jest określona rekurencyjnie: N i,p (u) = N i, (u) = { 1 dla u i u < u i+1 u u i u i+p u i,p 1 (u) + u i+p+1 u i u i+p+1 u i+1,p 1 (u) i+1 Krzywa splajn jest krzywą sklejaną składającą się z segmentów Bezier a. Jeśli n = p, to splajn składa się z jednego segmentu Bezier a stopnia p. Jeżeli n > p, to splajn składa się z n p + 1 segmentów Beziera a stopnia p. Funkcja bazowa splajnu jest odpowiednikiem wielomianu Bernstein a stosowanego w krzywych Bezier a. W przypadku jednosegmentowych splajnów określonych na parametrze w zakresie od do 1, funkcje bazowe zmieniają się w wielomiany Bernstein a. 1

ZADANIA: 1. Pokaż, że jednosegmentowy splajn 2 go stopnia to krzywa Bezier a. 2. Oblicz C 2 (u = 1.4) i C 2 (u = 3.7) dla splajnu 2 go stopnia (p = 2) określonego dla ośmiu punktów kontrolnych P, P 1, P 2, P 3, P 4, P 5, P 6, P 7 (n = 7) i wektora węzłów: U={,,, 1, 2, 3, 4, 4, 5, 5, 5}. 2

ROZWIĄZANIA ZADAŃ: 1. Pokaż, że jednosegmentowy splajn 2 go stopnia to krzywa Bezier a. Rys. 8.1 Aby to zrobić, należy obliczyć funkcje bazowe dla splajnu 2 go stopnia (p = 2) określonego na trzech punktach kontrolnych P, P 1, P 2 (n = 2) dla u 1. W takim przypadku wektor węzłów będzie miał 6 elementów. Ostatni element wektora węzłów będzie miał indeks m = 5 p = 2 stopień krzywej typu splajn, n = 2 (n + 1) liczba punktów kontrolnych m = n + p + 1 = 2 + 2 + 1 = 5 indeks ostatniego elementu w wektorze U Definicja wektora węzłów: U = {u,, u p, u p+1,, u m p, u m p+1,, u m } U = {u =, u 1 =, u 2 =, u 3 = 1, u 4 = 1, u 5 = 1} (1) p + 1 = 2 + 1 = 3 p + 1 = 2 + 1 = 3 To jest definicja i zależność do nauczenia się lub zapamiętania. 3

Stąd można obliczyć: u 1 (2) N i, (u) = { 1 dla u i u < u i+1 (3) N i,p (u) = u u i u i+p u i,p 1 (u) + u i+p+1 u i u i+p+1 u i+1,p 1 (u) i+1 (4) Dla i = i p = (1), (2) i (3): N i=,p= (u) = { 1 dla u = u < u +1=1 = N, = dla < u < + Dla i = 1 i p = (1), (2) i (3) N i=1,p= (u) = { 1 dla u 1 = u < u 1+1=2 = N 1, = dla < u < + Dla i = 2 i p = (1), (2) i (3): N i=2,p= (u) = { 1 dla u 2 = u < u 2+1=3 = 1 N 2, = { 1 dla u < 1 pozostałych "u" Dla i = 3 i p = (1), (2) i (3): N i=3,p= (u) = { 1 dla u 3 = 1 u < u 3+1=4 = 1 N 3, = dla < u < + Dla i = 4 i p = (1), (2) i (3): N i=4,p= (u) = { 1 dla u 4 = 1 u < u 4+1=5 = 1 N 4, = dla < u < + UWAGA: Symbol: jest nieoznaczony. Należy przyjąć, że nie istnieje, czyli w ujęciu komputerowym =. 4

Dla i = i p = 1 (1), (2) i (4): N i=,p=1 (u) = u u u +1=1 u,1 1= (u) + u +1+1=2 u u +1+1=2 u +1=1,1 1= (u) +1=1 N,1 = u u, + 1, = dla < u < + (ponieważ wyznaczone na podstawie N, i N 1, ) Dla i = 1 i p = 1 (1), (2) i (4): N i=1,p=1 (u) = u u 1 u 1+1=2 u 1,1 1= (u) + u 1+1+1=3 u 1 u 1+1+1=3 u 1+1=2,1 1= (u) 1+1=2 N 1,1 = u 1, + 1 u 1 u 1 2, = { u < 1 (ponieważ wyznaczone na podstawie N 1, i N 2, ) Dla i = 2 i p = 1 (1), (2) i (4): N i=2,p=1 (u) = u u 2 u 2+1=3 u 2,1 1= (u) + u 2+1+1=4 u 2 u 2+1+1=4 u 2+1=3,1 1= (u) 2+1=3 N 2,1 = u 1 2, + 1 u 1 1 3, = { u u < 1 (ponieważ wyznaczone na podstawie N 2, i N 3, ) Dla i = 3 i p = 1 (1), (2) i (4): N i=3,p=1 (u) = u u 3 u 3+1=4 u 3,1 1= (u) + u 3+1+1=5 u 3 u 3+1+1=5 u 3+1=4,1 1= (u) 3+1=4 N 3,1 = u 1 1 1 1 u 3, + 1 1 4, = dla < u < + (ponieważ wyznaczone na podstawie N 3, i N 4, ) 5

Dla i = i p = 2 (1), (2) i (4): N i=,p=2 (u) = u u u +2=2 u,2 1=1 (u) + u +2+1=3 u u +2+1=3 u +1=1,2 1=1 (u) +1=1 N,2 = u,1 + 1 u (1 1 1,1 = { u) (1 u) u < 1 (ponieważ wyznaczone na podstawie N,1 i N 1,1 ) Dla i = 1 i p = 2 (1), (2) i (4): N i=1,p=2 (u) = u u 1 u 1+2=3 u 1,2 1=1 (u) + u 1+2+1=4 u 1 u 1+2+1=4 u 1+1=2,2 1=1 (u) 1+1=2 N 1,2 = u 1 1 u 1,1 + 1 2,1 = u 1,1 + (1 u) 2,1 = 1 u = u { + (1 u) {u = { u u2 + u u 2 u + (1 u) = {2u (1 u) (ponieważ wyznaczone na podstawie N 1,1 i N 2,1 ) u < 1 Dla i = 2 i p = 2 (1), (2) i (4): N i=2,p=2 (u) = u u 2 u 2+2=4 u 2,2 1=1 (u) + u 2+2+1=5 u 2 u 2+2+1=5 u 2+1=3,2 1=1 (u) 2+1=3 N 2,2 = u 1 2,1 + 1 u 1 1 3,1 = { u u = u2 u < 1 (ponieważ wyznaczone na podstawie N 2,1 i N 3,1 ) Funkcje N,2, N 1,2 i N 2,2 to wielomiany Bernstein a 2 go stopnia określone dla u 1. Zatem dowolny punkt splajnu będzie określony wzorem: n C p (u) = N i,p (u) P i i= dla a u b, C p=2 (u) = N i=,p=2 P i= + N i=1,p=2 P i=1 + N i=2,p=2 P i=2 C p=2 (u) = (1 u) 2 P + 2 u (1 u) P 1 + u 2 P 2 jak dla krzywej Bezier a. 6

Pytanie: O co w tym wszystkim chodzi? I czemu służą takie karkołomne obliczenia? Odp.: Wyznaczeniu współrzędnych dowolnego punktu należącego do splajnu, który jak się okazuje, jest zbiorem krzywych Bezier a. p = 2 stopień krzywej typu splajn, n = 2 (n + 1) liczba punktów kontrolnych m = n + p + 1 = 2 + 2 + 1 = 5 indeks ostatniego elementu w wektorze U u = 1 ilość segmentów P x = ; y = ; P 1 x 1 = 2.62; y 1 = 24.61; P 2 x 2 = 61.14; y 2 = -1.66; Wykorzystując wzór: C p=2 (u) = (1 u) 2 P + 2 u (1 u) P 1 + u 2 P 2 możemy zapisać: x p=2 (u = 1 2 ) = (1 1 2 2 ) (x = ) + 2 1 2 (1 1 2 ) (x 1 = 2. 62) + ( 1 2 2 ) (x 2 = 61. 14) =. 25 + 1. 5 2. 62 +. 25 61. 14 = 1. 31 + 15. 285 = 25. 595 y p=2 (u = 1 2 ) = (1 1 2 2 ) (y = ) + 2 1 2 (1 1 2 ) (y 1 = 24. 61) + ( 1 2 2 ) (y 2 = 1. 66) =. 25 + 1. 5 24. 61 +. 25 ( 1. 66) = 12. 35. 415 = 11. 89 Wniosek: Jeśli n = p, to splajn składa się z jednego segmentu Bezier a stopnia p. 7

Dowód (wyprowadzenie wzoru na krzywą Bezier a drugiego stopnia n = 2): W tym zadaniu krzywa Bézier a to wielomian drugiego stopnia. Jak wszystkie wielomiany drugiego stopnia, krzywą Bézier a jednoznacznie określają trzy punkty, które nazwano p (punkt początkowy), p 1 (punkt kontrolny) i p 2 (punkt końcowy). Te trzy punkty można również oznaczyć, jako (x, y, z ), (x 1, y 1, z 1 ), (x 2, y 2, z 2 ). Ogólna, parametryczna postać wielomianu drugiego stopnia trzech zmiennych to: x(t) = a x t 2 + b x t + c x y(t) = a y t 2 + b y t + c y a x, b x, c x, a y, b y, c y, a z, b z, c z, wielkości stałe t przybiera wartości od do 1 z(t) = a z t 2 + b z t + c z Krzywa Bézier a jest jednoznacznie określona przez te dziewięć stałych. Wartości stałych zależą od trzech punktów definiujących krzywą. Pierwsze założenie jest takie, że krzywa Bézier a zaczyna się w punkcie (x, y, z ), gdy t jest równe : x(t = ) = a x t 2 + b x t + c x = c x = x y(t = ) = a y t 2 + b y t + c y = c y = y z(t = ) = a z t 2 + b z t + c z = c z = z Drugie założenie związane z krzywą Bézier a jest takie, że kończy się ona w punkcie (x 2, y 2, z 2 ), gdy t jest równe 1: x(t = 1) = a x 1 2 + b x 1 + c x = a x + b x + c x = x 2 y(t = 1) = a y 1 2 + b y 1 + c y = a y + b y + c y = y 2 z(t = 1) = a z 1 2 + b z 1 + c z = a z + b z + c z = z 2 Pozostałe dwa założenia dotyczą pierwszych pochodnych równań parametrycznych, które opisują nachylenie krzywej. Pierwsze pochodne uogólnionych równań parametrycznych wielomianu drugiego stopnia liczone względem t to: x (t) = 2 a x t + 1 b x y (t) = 2 a y t + 1 b y z (t) = 2 a z t + 1 b z 8

W punkcie początkowym krzywa Bézier a jest styczna do linii biegnącej od punktu początkowego do pierwszego punktu kontrolnego i ma ten sam kierunek. Tę linię prostą zwykle definiowałoby równanie parametryczne: x(t) = (x 1 x ) t + x y(t) = (y 1 y ) t + y z(t) = (z 1 z ) t + z Dla t z zakresu od do 1. Jednakże inną reprezentacją tej linii prostej mogą być poniższe równania parametryczne: x(t) = 2 (x 1 x ) t + x y(t) = 2 (y 1 y ) t + y z(t) = 2 (z 1 z ) t + z gdzie t przybiera wartości od do 1/2. Dlaczego 1/2? Ponieważ fragment krzywej Bézier a, który jest styczny do linii prostej od p do p 1 i ma ten sam kierunek, to mniej więcej 1/2 całej krzywej. Oto pierwsze pochodne tych zmodyfikowanych równań parametrycznych: x (t) = 2 (x 1 x ) y (t) = 2 (y 1 y ) z (t) = 2 (z 1 z ) Równania te reprezentują nachylenie krzywej Bézier a, gdy t jest równe zeru, a zatem: x (t = ) = 2 a x + 1 b x = b x = 2 (x 1 x ) y (t = ) = 2 a y + 1 b y = b y = 2 (y 1 y ) z (t = ) = 2 a z + 1 b z = b z = 2 (z 1 z ) Ostatnie założenie jest takie, że w punkcie końcowym krzywa Bézier a jest styczna do linii prostej biegnącej od pierwszego punktu kontrolnego do punktu końcowego i ma taki sam kierunek: x (t = 1) = 2 a x 1 2 + 1 b x = 2 a x + 1 b x = 2 (x 1 x ) y (t = 1) = 2 a y 1 2 + 1 b y = 2 a y + 1 b y = 2 (y 1 y ) z (t = 1) = 2 a z 1 2 + 1 b z = 2 a z + 1 b z = 2 (z 1 z ) 9

Powstał układ czterech równań z trzema niewiadomymi: c x = x a x = x 2 2 x 1 + x a x + b x + c x = x 2 b { b x = 2 (x 1 x ) { x = 2 x 1 2 x c x = x 2 a x + 1 b x = 2 (x 2 x 1 ) a x = x 2 2 x 1 + x c y = y a y = y 2 2 y 1 + y a y + b y + c y = y 2 b b y = 2 (y 1 y ) y = 2 y 1 2 y c y = y { 2 a y + 1 b y = 2 (y 2 y 1 ) { a y = y 2 2 y 1 + y c z = z a z = z 2 2 z 1 + z a z + b z + c z = z 2 b b z = 2 (z 1 z ) { z = 2 z 1 2 z c z = z 2 a z + 1 b z = 2 (z 2 z 1 ) a z = z 2 2 z 1 + z Podstawiając stałe do uogólnionych równań parametrycznych drugiego stopnia otrzymano: x(t) = (x 2 2 x 1 + x ) t 2 + (2 x 1 2 x ) t + x y(t) = (y 2 2 y 1 + y ) t 2 + (2 y 1 2 y ) t + y z(t) = (z 2 2 z 1 + z ) t 2 + (2 z 1 2 z ) t + z Po uporządkowaniu zapis wielomianowy: x(t) = (t 1) 2 x + 2 t (1 t) x 1 + t 2 x 2 y(t) = (t 1) 2 y + 2 t (1 t) y 1 + t 2 y 2 z(t) = (t 1) 2 z + 2 t (1 t) z 1 + t 2 z 2 W postaci macierzowej: 1 2 1 x(t) = [x x 1 x 2 ] [ 2 2 ] [t 2 t ] 1 1 1 2 1 y(t) = [y y 1 y 2 ] [ 2 2 ] [t 2 t ] 1 1 1 2 1 x(t) = [z z 1 z 2 ] [ 2 2 ] [t 2 t ] 1 1 { t 1 1

P x = ; y = ; P 1 x 1 = 2.62; y 1 = 24.61; P 2 x 2 = 61.14; y 2 = -1.66; x (u = 1 2 ) = [ 2. 62 1 2 1 (. 5) 2 61. 14] [ 2 2 ] [. 5 ] 1 1 1. 25 2. 5 + 1 1 =. 5 = [ 2. 62 2. 25 + 2. 5 + 1 =. 5] 1. 25 +. 5 + 1 =. 25 61. 14] [ = [. 5 + 2. 62. 5 + 61. 14. 25] = 25. 595 x (u = 1 2 ) = [ 24. 61 1 2 1 (. 5) 2 1. 66] [ 2 2 ] [. 5 ] 1 1 1. 25 2. 5 + 1 1 =. 5 = [ 24. 61 1. 66] [ 2. 25 + 2. 5 + 1 =. 5] 1. 25 +. 5 + 1 =. 25 = [. 5 + 24. 61. 5 1. 66. 25] = 11. 89 11

2. Oblicz C 2 (u = 1.4) i C 2 (u = 3.7) dla splajnu 2 go stopnia (p = 2) określonego dla ośmiu punktów kontrolnych P, P 1, P 2, P 3, P 4, P 5, P 6, P 7 (n = 7) dla u 5. Rys. 8.2 W takim przypadku wektor węzłów będzie miał 11 elementów. Ostatni element wektora węzłów będzie miał indeks m = n + p + 1 = 7 + 2 + 1 = 1. Definicja wektora węzłów: U = {u,, u p, u p+1,, u m p, u m p+1,, u m } U = {u =, u 1 =, u 2 =, u 3 = 1, u 4 = 2, u 5 = 3, u 6 = 4, u 7 = 4, u 8 = 5, u 9 = 5, u 1 = 5} p + 1 = 2 + 1 = 3 p + 1 = 2 + 1 = 3 (te składowe wynikają z definicji) (te składowe wynikają z definicji) u 6 = u 7 = 4 ponieważ jest węzeł, w którym kończy się segment 4 i zaczyna się segment 5. Ponadto wiadomo, iż stopień krzywej jest p = 2 (czyli jest to zbiór parabol). 12

W punkcie P 5 pierwsza pochodna takiej paraboli jest ciągła, natomiast druga pochodna już nie. Występuje tzw. szpic. Inne przykłady krzywych i budowania wektora węzłów (aby zrozumieć jak to działa ): Jest to krzywa Bezier a, dla której p = 3 (ponieważ są określone 4 punkty kontrolne). W takim przypadku wektor węzłowy przyjmuje postać: u 1 p = 3 stopień krzywej n = 3 ilość punktów kontrolnych pomniejszona o 1 m = n + p + 1 = 3 + 3 + 1 = 7 indeks ostatniego elementu, których będzie m + 1 = 8 U = {u =, u 1 =, u 2 =, u 3 =, u 4 = 1, u 5 = 1, u 6 = 1, u 7 = 1} p + 1 = 3 + 1 = 4 p + 1 = 3 + 1 = 4 13

Jest to krzywa typu splajn, dla której p = 3 (ponieważ są określone 4 punkty kontrolne dla każdego segmentu. Segment 1 to punkty: P, P 1, P 2, i P 3 ; Segment 2 to punkty: P 3, P 4, P 5, P 6 ). W takim przypadku wektor węzłowy przyjmuje postać: u 1 p = 3 stopień krzywej n = 6 ilość punktów kontrolnych pomniejszona o 1 m = n + p + 1 = 6 + 3 + 1 = 1 indeks ostatniego elementu, których będzie m + 1 = 11 U = {u =, u 1 =, u 2 =, u 3 =, u 4 = 1 4, u 5 = 1 2, u 6 = 3 4, u 7 = 1, u 8 = 1, u 9 = 1, u 1 = 1} p + 1 = 3 + 1 = 4 p + 1 = 3 + 1 = 4 Czarne punkty (węzły) dzielą krzywą na 4 części. Stąd właśnie wzięły się składowe wektora U po 1/4; 1/2; 3/4. 14

Jest to krzywa typu splajn, dla której p = 2 (ponieważ są określone 3 punkty kontrolne dla każdego segmentu. W takim przypadku wektor węzłowy przyjmuje postać: u 1 p = 2 stopień krzywej n = 6 ilość punktów kontrolnych pomniejszona o 1 m = n + p + 1 = 6 + 2 + 1 = 9 indeks ostatniego elementu, których będzie m + 1 = 1 U = {u =, u 1 =, u 2 =, u 3 = 1 5, u 4 = 2 5, u 5 = 3 5, u 6 = 4 5, u 7 = 1, u 8 = 1, u 9 = 1} p + 1 = 2 + 1 = 3 p + 1 = 2 + 1 = 3 Czarne punkty (węzły) dzielą krzywą na 5 części. Stąd właśnie wzięły się składowe wektora U po 1/5; 2/5; 3/5 i 4/5. 15

Jest to krzywa typu splajn, dla której p = 3 (ponieważ są określone 4 punkty kontrolne dla każdego segmentu. W takim przypadku wektor węzłowy przyjmuje postać: u 1 p = 3 stopień krzywej n = 6 ilość punktów kontrolnych pomniejszona o 1 m = n + p + 1 = 6 + 3 + 1 = 1 indeks ostatniego elementu, których będzie m + 1 = 11 U = {u =, u 1 =, u 2 =, u 3 =, u 4 = 1 4, u 5 = 1 2, u 6 = 3 4, u 7 = 1, u 8 = 1, u 9 = 1, u 1 = 1} p + 1 = 3 + 1 = 4 p + 1 = 3 + 1 = 4 Czarne punkty (węzły) dzielą krzywą na 4 części. Stąd właśnie wzięły się składowe wektora U po 1/4; 1/2; 3/4. 16

Jest to krzywa typu splajn, dla której p = 2 (ponieważ są określone 3 punkty kontrolne dla każdego segmentu. W takim przypadku wektor węzłowy przyjmuje postać: u 1 p = 2 stopień krzywej n = 9 ilość punktów kontrolnych pomniejszona o 1 m = n + p + 1 = 9 + 2 + 1 = 12 indeks ostatniego elementu, których będzie m + 1 = 13 U = {u =, u 1 =, u 2 =, u 3 = 1 8, u 4 = 2 8, u 5 = 3 8, u 6 = 4 8, u 7 = 5 8, u 8 = 6 8, u 9 = 7 8, u 1 = 1, u 11 = 1, u 12 = 1} p + 1 = 2 + 1 = 3 p + 1 = 2 + 1 = 3 Czarne punkty (węzły znajdują się między punktami P 1 i P 2 ; P 2 i P 3 ; P 3 i P 4 ; P 4 i P 5 ; P 5 i P 6 ; P 6 i P 7 oraz P 7 i P 8 ) dzielą krzywą na 8 części. Stąd właśnie wzięły się składowe wektora U po 1/8; 2/8; 3/8; 4/8; 5/8; 6/8; 7/8. 17

Jest to krzywa typu splajn, dla której p = 2 (ponieważ są określone 3 punkty kontrolne dla każdego segmentu. W takim przypadku wektor węzłowy przyjmuje postać: u 1 p = 2 stopień krzywej n = 5 ilość punktów kontrolnych pomniejszona o 1 m = n + p + 1 = 5 + 2 + 1 = 8 indeks ostatniego elementu, których będzie m + 1 = 9 U = {u =, u 1 =, u 2 =, u 3 = 1 4, u 4 = 1 2, u 5 = 3 4, u 6 = 1, u 7 = 1, u 8 = 1} p + 1 = 2 + 1 = 3 p + 1 = 2 + 1 = 3 Czarne punkty (węzły) dzielą krzywą na 4 części. Stąd właśnie wzięły się składowe wektora U po 1/4; 1/2; 3/4. 18

Jest to krzywa typu splajn, dla której p = 3 (ponieważ są określone 4 punkty kontrolne dla każdego segmentu. W takim przypadku wektor węzłowy przyjmuje postać: u 1 p = 3 stopień krzywej n = 5 ilość punktów kontrolnych pomniejszona o 1 m = n + p + 1 = 5 + 3 + 1 = 9 indeks ostatniego elementu, których będzie m + 1 = 1 U = {u =, u 1 =, u 2 =, u 3 =, u 4 = 1 2, u 5 = 1 2, u 6 = 1, u 7 = 1, u 8 = 1, u 9 = 1} p + 1 = 3 + 1 = 4 p + 1 = 3 + 1 = 4 Czarny punkt (węzeł) dzieli krzywą na 2 części. Stąd właśnie wzięły się składowe wektora U po 1/2 podwójnie ponieważ jest to część wspólna dla obu segmentów. Wracając do rozwiązania: W zadaniu nr 1 pokazano szczegółowo, skąd biorą się odpowiednie symbole N i,p. Dlatego w dalszej część rozwiązania będą już podane tylko wynikowe wzory, które bazują na definicji: n C p (u) = N i,p (u) P i i= dla a u b, N i,p (u) = N i, (u) = { 1 dla u i u < u i+1 u u i u i+p u i,p 1 (u) + u i+p+1 u i u i+p+1 u i+1,p 1 (u) i+1 19

Uwaga: p zmienia się (, 1, 2) oraz i zmienia się właściwie (od do 9) ponieważ, żeby wyznaczyć N 7,2 trzeba znać N 8,1, a żeby wyznaczyć N 8,1, trzeba wcześniej wyliczyć N 8, i N 9,. Chociaż generalnie i zmienia się od do n, a więc: N, = N 1, = < u < + N 2, = { 1 N 3, = { 1 N 4, = { 1 N 5, = { 1 u < 1 1 u < 2 2 u < 3 3 u < 4 N 6, = < u < + N 7, = { 1 4 u < 5 N 8, = N 9, = < u < + N,1 = u, + u 1, = < u < + N 1,1 = u 1, + 1 u 1 u 1 2, = { u N 2,1 = u 1 2, + 2 u 2 1 3, = { 2 u u 1 N 3,1 = u 1 2 1 3, + 3 u 3 2 4, = { 3 u u 2 N 4,1 = u 2 3 2 4, + 4 u 4 3 5, = { 4 u N 5,1 = u 3 4 3 5, + 4 u u 3 4 4 6, = { N 6,1 = u 4 4 4 6, + 5 u 5 u 5 4 7, = { u < 1 u < 1 1 u < 2 1 u < 2 2 u < 3 2 u < 3 3 u < 4 3 u < 4 4 u < 5 2

N 7,1 = u 4 5 4 7, + 5 u u 4 5 5 8, = { 4 u < 5 N 8,1 = u 5 5 5 8, + 5 u 5 5 9, = < u < + N,2 = u,1 + 1 u 1 1,1 = (1 u) 2 N 1,2 = u 1 1,1 + 2 u 2 2,1 = { N 2,2 = u 2 2,1 + 3 u 3 1 3,1 = N 3,2 = u 1 3 1 3,1 + 4 u 4 2 4,1 = { { 3 2 1 2 2 u 1 2 1 2 11 2 1 2 3 2 u2 (2 u)2 1 2 u2 + 3 u u2 (3 u)2 (u 1)2 + 5 u u2 (4 u)2 u < 1 u < 1 1 u < 2 u < 1 1 u < 2 2 u < 3 1 u < 2 2 u < 3 3 u < 4 N 4,2 = u 2 4 2 4,1 + 4 u (u 2)2 2 4 3 5,1 = { 16 + 1 u 3 2 u2 1 2 u < 3 3 u < 4 N 5,2 = u 3 4 3 5,1 + 5 u (u 3)2 5 4 6,1 = { (5 u) 2 N 6,2 = u 4 5 4 6,1 + 5 u 5 4 7,1 = 2 (u 4) (5 u) 3 u < 4 4 u < 5 4 u < 5 n C 2 (1. 4) = N i,2 (1. 4) P i C 2 (1. 4) i= N 7,2 = u 4 5 4 7,1 + 5 u 5 5 8,1 = (u 4) 2 4 u < 5 = N,2 (1. 4) P + N 1,2 (1. 4) P 1 + N 2,2 (1. 4) P 2 + N 3,2 (1. 4) P 3 + N 4,2 (1. 4) P 4 + N 5,2 (1. 4) P 5 + N 6,2 (1. 4) P 6 + N 7,2 (1. 4) P 7 N,2 (1. 4) = N 4,2 (1. 4) = N 5,2 (1. 4) = N(1. 4) 6,2 = N 7,2 (1. 4) = C 2 (1. 4) = N 1,2 (1. 4) P 1 + N 2,2 (1. 4) P 2 + N 3,2 (1. 4) P 3 C 2 (1. 4) = 1 2 (2 1. 4)2 P 1 + ( 3 2 + 3 (1. 4) (1. 4)2 ) P 2 + 1 2 (1. 4 1)2 P 3 C 2 (1. 4) =. 18 P 1 +. 74 P 2 +. 8 P 3 21

n C 2 (3. 7) = N i,2 (3. 7) P i i= C 2 (3. 7) = N,2 (3. 7) P + N 1,2 (3. 7) P 1 + N 2,2 (3. 7) P 2 + N 3,2 (3. 7) P 3 + N 4,2 (3. 7) P 4 + N 5,2 (3. 7) P 5 + N 6,2 (3. 7) P 6 + N 7,2 (3. 7) P 7 N,2 (3. 7) = N 1,2 (3. 7) = N 2,2 (3. 7) = N(3. 7) 6,2 = N 7,2 (3. 7) = C 2 (3. 7) = N 3,2 (3. 7) P 3 + N 4,2 (3. 7) P 4 + N 5,2 (3. 7) P 5 C 2 (3. 7) = 1 2 (4 3. 7)2 P 3 + ( 16 + 1 (3. 7) 3 2 (3. 7)2 ) P 4 + (3. 7 3) 2 P 5 C 2 (3. 7) =. 45 P 3 +. 465 P 4 +. 49 P 5 Rys. 8.3 Sens fizyczny i matematyczny powyższych obliczeń został przedstawiony w zadaniu nr 1. Dla przypomnienia: Krzywe typu splajn to sklejone krzywe Bezier a. A punkty należące do takich splajnów liczy się w dość skomplikowany sposób. Największe trudności to: 1. Zbudowanie wektora węzłów U, 2. Przyjęcie założenia, że / =, 3. Uniknięcie pomyłki w indeksach i oraz p w wielomianach Bernstein a. Na przykładzie zadania nr 2 okazuje się, że na współrzędne punktu (pierwszy czerwony z rys. 8.3) dla u = 1.4 mają pływ tylko najbliższe punkty P 1, P 2 oraz P 3. To, co się dzieje z tą krzywą w innych segmentach, nie wpływa na ten punkt. Analogiczna sytuacja występuje w przypadku kolejnego czerwonego punktu z rys. 8.3 dla u = 3.7, który zależy tylko od P 3, P 4, i P 5. Reszta punktów nie ma znaczenia dla jego położenia. 22