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



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

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

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

VI. FIGURY GEOMETRYCZNE i MODELE

Metody numeryczne. Sformułowanie zagadnienia interpolacji

Modelowanie krzywych i powierzchni

Interpolacja. Marcin Orchel. Drugi przypadek szczególny to interpolacja trygonometryczna

Metody numeryczne. Sformułowanie zagadnienia interpolacji

INTERPOLACJA I APROKSYMACJA FUNKCJI

Interpolacja, aproksymacja całkowanie. Interpolacja Krzywa przechodzi przez punkty kontrolne

Interpolacja i modelowanie krzywych 2D i 3D

Obliczenia naukowe Wykład nr 6

Metody numeryczne I Równania nieliniowe

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

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

Interpolacja funkcji

Matematyka stosowana i metody numeryczne

SIMR 2016/2017, Analiza 2, wykład 1, Przestrzeń wektorowa

ELEMENTY ANALIZY NUMERYCZNEJ ELEMENTY ANALIZY NUMERYCZNEJ. Egzamin pisemny zestaw 1 26 czerwca 2017 roku

Pochodna i różniczka funkcji oraz jej zastosowanie do obliczania niepewności pomiarowych

Grafika komputerowa Wykład 6 Krzywe, powierzchnie, bryły

ELEMENTY ANALIZY NUMERYCZNEJ ELEMENTY ANALIZY NUMERYCZNEJ. Egzamin pisemny zestaw 1 24 czerwca 2019 roku

METODY NUMERYCZNE. Wykład 3. Plan. Aproksymacja Interpolacja wielomianowa Przykłady. dr hab.inż. Katarzyna Zakrzewska, prof.agh. Met.Numer.

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

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

INFORMATYKA ELEMENTY METOD NUMERYCZNYCH.

Definicje i przykłady

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

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

RÓWNANIA RÓŻNICZKOWE WYKŁAD 15

3. Interpolacja. Interpolacja w sensie Lagrange'a (3.1) Dana jest funkcja y= f x określona i ciągła w przedziale [a ;b], która

Analiza numeryczna Kurs INP002009W. Wykład 8 Interpolacja wielomianowa. Karol Tarnowski A-1 p.223

VII. WYKRESY Wprowadzenie

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

Metody Numeryczne Wykład 4 Wykład 5. Interpolacja wielomianowa

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

Wykład Matematyka A, I rok, egzamin ustny w sem. letnim r. ak. 2002/2003. Każdy zdający losuje jedno pytanie teoretyczne i jedno praktyczne.

Wektor, prosta, płaszczyzna; liniowa niezależność, rząd macierzy

Całkowanie numeryczne przy użyciu kwadratur

Analiza matematyczna dla informatyków 3 Zajęcia 14

Analiza numeryczna kolokwium2a-15grudnia2005

Metody numeryczne w przykładach

2) R stosuje w obliczeniach wzór na logarytm potęgi oraz wzór na zamianę podstawy logarytmu.

Zagadnienia do małej matury z matematyki klasa II Poziom podstawowy i rozszerzony

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

PODSTAWY AUTOMATYKI. MATLAB - komputerowe środowisko obliczeń naukowoinżynierskich - podstawowe operacje na liczbach i macierzach.

Rozwiązywanie równań nieliniowych

II. RÓŻNICZKOWANIE I CAŁKOWANIE NUMERYCZNE Janusz Adamowski

IX. Rachunek różniczkowy funkcji wielu zmiennych. 1. Funkcja dwóch i trzech zmiennych - pojęcia podstawowe. - funkcja dwóch zmiennych,

Próbny egzamin z matematyki dla uczniów klas II LO i III Technikum. w roku szkolnym 2012/2013

DOPASOWYWANIE KRZYWYCH

Całkowanie numeryczne

Egzamin z Metod Numerycznych ZSI, Grupa: A

ZAGADNIENIA PROGRAMOWE I WYMAGANIA EDUKACYJNE DO TESTU PRZYROSTU KOMPETENCJI Z MATEMATYKI DLA UCZNIA KLASY II

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

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

ECTS (Część 2. Metody numeryczne) Nazwa w języku angielskim: Algorithms and data structures.

Obliczenia Naukowe. Wykład 12: Zagadnienia na egzamin. Bartek Wilczyński

Program zajęć pozalekcyjnych z matematyki poziom rozszerzony- realizowanych w ramach projektu Przez naukę i praktykę na Politechnikę

Egzamin z Metod Numerycznych ZSI, Egzamin, Gr. A

Matematyka z el. statystyki, # 4 /Geodezja i kartografia I/

Elementy metod numerycznych

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

V. WYMAGANIA EGZAMINACYJNE

Treść wykładu. Układy równań i ich macierze. Rząd macierzy. Twierdzenie Kroneckera-Capellego.

Wybrane metody przybliżonego. wyznaczania rozwiązań (pierwiastków) równań nieliniowych

Metody numeryczne. Ilorazy różnicowe. dr Artur Woike. Wzory interpolacyjne Newtona i metoda Aitkena.

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania. Technologie informatyczne

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

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

Zakres Dopuszczający Dostateczny Dobry Bardzo dobry

WYMAGANIA EDUKACYJNE Z MATEMATYKI DLA KLASY DRUGIEJ LICEUM OGÓLNOKSZTAŁCĄCEGO ZAKRES PODSTAWOWY

Zakres Dopuszczający Dostateczny Dobry Bardzo dobry

Matematyka stosowana i metody numeryczne

PORÓWNANIE TREŚCI ZAWARTYCH W OBOWIĄZUJĄCYCH STANDARDACH EGZAMINACYJNYCH Z TREŚCIAMI NOWEJ PODSTAWY PROGRAMOWEJ

ROZKŁAD MATERIAŁU DO II KLASY LICEUM (ZAKRES ROZSZERZONY) A WYMAGANIA PODSTAWY PROGRAMOWEJ.

ROZWIĄZYWANIE RÓWNAŃ NIELINIOWYCH

Elementy projektowania inzynierskiego Przypomnienie systemu Mathcad

Wykład 5. Zagadnienia omawiane na wykładzie w dniu r

Macierze. Rozdział Działania na macierzach

III. Układy liniowe równań różniczkowych. 1. Pojęcie stabilności rozwiązań.

Metody numeryczne Wykład 6

Wykład 16. P 2 (x 2, y 2 ) P 1 (x 1, y 1 ) OX. Odległość tych punktów wyraża się wzorem: P 1 P 2 = (x 1 x 2 ) 2 + (y 1 y 2 ) 2

Wykład Ćwiczenia Laboratorium Projekt Seminarium Liczba godzin zajęć zorganizowanych w Uczelni ,5 1

WYMAGANIA EDUKACYJNE NIEZBĘDNE DO OTRZYMANIA PRZEZ UCZNIA POSZCZEGÓLNYCH ŚRÓDROCZNYCH I ROCZNYCH OCEN KLASYFIKACYJNYCH Z MATEMATYKI

RÓŻNICZKOWANIE FUNKCJI WIELU ZMIENNYCH: rachunek pochodnych dla funkcji wektorowych. Pochodne cząstkowe funkcji rzeczywistej wielu zmiennych

Liczby zespolone. x + 2 = 0.

Tydzień nr 9-10 (16 maja - 29 maja), Równania różniczkowe, wartości własne, funkcja wykładnicza od operatora - Matematyka II 2010/2011L

Obliczanie długości łuku krzywych. Autorzy: Witold Majdak

Metody przybliżonego rozwiązywania równań różniczkowych zwyczajnych

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

Dystrybucje, wiadomości wstępne (I)

Pochodna i różniczka funkcji oraz jej zastosowanie do rachunku błędów pomiarowych

Mechanika. Wykład 2. Paweł Staszel

Algebra WYKŁAD 3 ALGEBRA 1

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

Agata Boratyńska ZADANIA Z MATEMATYKI, I ROK SGH GRANICA CIĄGU

Wymagania edukacyjne z matematyki Klasa II zakres podstawowy

Wykaz treści i umiejętności zawartych w podstawie programowej z matematyki dla IV etapu edukacyjnego

przy warunkach początkowych: 0 = 0, 0 = 0

Transkrypt:

Grafika komputerowa Wykład 7 Modelowanie obiektów graficznych cz. I Instytut Informatyki i Automatyki Państwowa Wyższa Szkoła Informatyki i Przedsiębiorczości w Łomży 2 0 0 9

Spis treści Spis treści 1 2 Reprezentacja obiektów graficznych

Spis treści Spis treści 1 2 Reprezentacja obiektów graficznych

Podstawowe pojęcia Samouczek CorelDraw Linia Béziera prosta lub krzywa linia składająca się z segmentów połączonych węzłami. Każdy z węzłów ma punkty kontrolne pozwalające na modyfikację kształtu linii. Węzły kwadratowe punkty na każdym z końców segmentu linii lub krzywej. Przez przeciąganie jednego lub większej liczby węzłów można zmieniać kształt linii lub krzywej.

Obiekt graficzny wszystko co da się narysować z użyciem komputera: krzywa, płaska figura, powierzchnia, trójwymiarowa bryła. Struktura obiektu nie musi być topologicznie jednorodna. Możemy dowolnie łączyć bryły i krzywe. Liczba danych dających kompletny opis obiektu graficznego zależy nie tylko od jego geometrii (kształtu), lecz również od sposobu wizualizacji.

Krzywe i powierzchnie Bardzo często, w wielu zagadnieniach praktycznych, chcąc wykreślić krzywą lub powierzchnię znamy tylko skończoną liczbę punktów leżących na krzywej lub na powierzchni. Taka sytuacja zachodzi np. przy kreśleniu map geograficznych gdy chcemy wykreślić poziomice, lub przy kreśleniu map pogody gdy chcemy wykreślić izobary. Zadanie to pomaga nam rozwiązać analiza matematyczna, a to z kolei pozwala opracować odpowiednie metody numeryczne by można je było zaimplementować w komputerach.

Krzywe i powierzchnie Stosowane są dwie metody: interpolacja polega na wyborze funkcji pewnej klasy i na takim doborze jej współczynników, by przechodziła przez dane punkty lub krzywe, aproksymacja funkcja jest znana, ale na tyle skomplikowana, że ze względu na koszt (liczbę wykonywanych działań) obliczania jej wartości opłaca się przybliżyć ją z niewielkim błędem funkcją prostszą, tańszą w rachunku numerycznym jako funkcje przybliżające najczęściej wybiera się wielomiany, gdyż łatwo się je reprezentuje (zapamiętując ich współczynniki w wybranej bazie) i wykonuje na nich działania dodawania, odejmowania i mnożenia, a także operacje różniczkowana i całkowania.

Krzywe i powierzchnie Stosowane są dwie metody: interpolacja polega na wyborze funkcji pewnej klasy i na takim doborze jej współczynników, by przechodziła przez dane punkty lub krzywe, aproksymacja funkcja jest znana, ale na tyle skomplikowana, że ze względu na koszt (liczbę wykonywanych działań) obliczania jej wartości opłaca się przybliżyć ją z niewielkim błędem funkcją prostszą, tańszą w rachunku numerycznym jako funkcje przybliżające najczęściej wybiera się wielomiany, gdyż łatwo się je reprezentuje (zapamiętując ich współczynniki w wybranej bazie) i wykonuje na nich działania dodawania, odejmowania i mnożenia, a także operacje różniczkowana i całkowania.

Krzywe i powierzchnie Bardzo często, oprócz samego wykreślania krzywych i powierzchni, chcemy mieć metody pozwalające modyfikować te obiekty. Zastosowanie: projektowanie (geometryczne) komputerowo wspomagane (CAD Computer Aided (Geometric) Design) oraz produkcja wspomagana komputerowo (CAM Computer Aided Manufacturing). Pierwszy system komputerowego wspomagania projektowania karoserii samochodowych powstał już na początku lat sześćdziesiątych, a jego twórca był P. Bézier, jeden z dyrektorów firmy Renault, a którego nazwiskiem nazwano klasę modelowanych krzywych i powierzchni.

Krzywe i powierzchnie Bardzo często, oprócz samego wykreślania krzywych i powierzchni, chcemy mieć metody pozwalające modyfikować te obiekty. Zastosowanie: projektowanie (geometryczne) komputerowo wspomagane (CAD Computer Aided (Geometric) Design) oraz produkcja wspomagana komputerowo (CAM Computer Aided Manufacturing). Pierwszy system komputerowego wspomagania projektowania karoserii samochodowych powstał już na początku lat sześćdziesiątych, a jego twórca był P. Bézier, jeden z dyrektorów firmy Renault, a którego nazwiskiem nazwano klasę modelowanych krzywych i powierzchni.

Spis treści 1 2 Reprezentacja obiektów graficznych

Parametryczne przedstawienie krzywej Q(t) = (x(t), y(t), z(t)) x, y, z ciągłe funkcje zmiennej t [a, b] Przykład krzywej zdefiniowanej parametrycznie: krzywa śrubowa Q(t) = (r cos t, ht, r cos t)

Tą samą krzywą można parametryzować na różne sposoby. Definicja Dwa przedstawienia Q = Q 1 (t), t [a, b] i Q = Q 2 (τ), τ [α, β] nazywamy równoważnymi, jeśli istnieje taka ciągła i niemalejąca funkcja t = t(τ) t : [α, β] [a, b] że Q 1 (t(τ)) = Q 2 (τ)

Często wygodnie jest dzielić krzywą na fragmenty punktami, którym odpowiadają takie wartości parametru t, że a = t 0 < t 1 < t 2... < t k = b i traktować te kawałki krzywej osobno. W tym celu wprowadzimy lokalne równoważne przedstawienie. Dla fragmentu krzywej odpowiadającego t [t i, t i+1 ] przyjmujemy t = t i + u(t i+1 t i ) i tym samym normalizujemy jego parametryzację do przedziału jednostkowego, czyli u [0, 1].

Przypomnienie Wektor styczny do krzywej Q(t) : (r(t), y(t), r(t)) w punkcie t 0 [ dq(t 0 ) dx(t0 ) =, dy(t 0), dz(t ] 0) dt dt dt dt Jeśli pochodna dq dt punkcie t = t 0 nie istnieje lub jest wektorem zerowym, to taki punkt nazywamy osobliwym. Dla linii śrubowej: ( r sin t 0, h, r cos t 0 )

Przypomnienie Długość łuku krzywej s = b a dq dt dt = b Dla linii śrubowej dla t [0, T ]: s = T 0 a (dx(t) ) 2 ( ) dy(t) 2 ( dz(t) + + dt dt dt ( r sin t) 2 + h 2 + (r cos t) 2 dt = r 2 + h 2 T ) 2

Przypomnienie Krzywizna ϕ κ = lim R P h P, R punkty na krzywej Q = Q(s) ϕ kąt pomiędzy stycznymi do krzywej w punktach P i R h długość łuku pomiędzy punktami P i R Dla prostej κ = 0 Dla linii śrubowej: κ = r r 2 + h 2 Promień krzywizny: ρ = 1 κ

Interpolacja wielomianami Wielomian w n (t) = a n t n + a n 1 t n 1 + + a 1 t 1 + a 0 można traktować jako kombinację liniową funkcji bazowych 1, t,..., t n. Wartość wielomianu obliczamy korzystając z algorytmu Hornera w = a n dla i = n 1, n 2,..., 0 w = w t + a i

Zadanie Znajdź wielomian stopnia nie wyższego niż n, który w węzłach t 0, t 1,..., t n, (t i t j dla i j), przyjmuje zadane wartości v 0, v 1,..., v n Interpolacja Lagrange a Sprawdzić, że tę właściwość L n (t i ) = v i, dla i = 0, 1,..., n ma wielomian L n (t) = n i=0 v i n j=0 j i t t j t i t j

Interpolacja Lagrange a Gdy interesuje nas wielomian interpolujący krzywą zadaną parametrycznie w postaci funkcji wektorowej przechodzącej przez punkty P i = (x 1, y i, z i ) L n (t) = n i=0 P i n j=0 j i t t j t i t j Przy różnych wyborach t i, parametryzacje krzywych na ogół nie są równoważne (patrz rys. 1).

Interpolacja Lagrange a Rys. 1: Wielomianowa krzywa interpolująca te same punkty przy różnych parametryzacjach: a) t i {1, 2, 4, 5, 6, 7, 9, 10}; b) t i {1, 5, 6, 10, 12, 17, 21, 24}; c) t i = i,, i = 1, 2,..., 8

Interpolacja Lagrange a Okazuje się, że szczególnie dla większej liczby punktów, a tym samym wyższego stopnia n, wielomian interpolacyjny może bardzo oscylować między punktami P i (patrz rys. 1), co w większości przypadków poważnie utrudnia modelowanie krzywych. Rozwiązanie wolne od tej wady polega na zastąpieniu jednego wielomianu, przybliżającego krzywą w całym przedziale [a, b] zmienności parametru t, na ogół różnymi wielomianami niskiego stopnia określonymi w podprzedziałach. Współczynniki tych wielomianów dobiera się tak, by ich połączenie było odpowiednio regularną funkcją na całym odcinku [a, b]. Metoda ta, to metoda funkcji sklejanych.

Interpolacja Lagrange a Rys. 2: Wielomian interpolacyjny może silnie oscylować

Spis treści 1 2 Reprezentacja obiektów graficznych

Definicja Funkcję rzeczywistą S nazywamy funkcją sklejaną stopnia m z węzłami a = t 0 t 1... t n = b jeśli w każdym przedziale [t i, t i+1 ) dla i = 0, 1,..., n 1, S jest wielomianem stopnia nie wyższego niż m funkcja S i jej pochodne rzędu 1, 2,..., m 1 są ciągłe dla t [a, b], lub krócej S C m 1 [ab]. Na ogół wystarcza użycie kubicznej funkcji sklejanej, czyli S(t) = a i + b i u + c i u 2 + d i u 3, i = 0, 1,..., n 1

Definicja Funkcję rzeczywistą S nazywamy funkcją sklejaną stopnia m z węzłami a = t 0 t 1... t n = b jeśli w każdym przedziale [t i, t i+1 ) dla i = 0, 1,..., n 1, S jest wielomianem stopnia nie wyższego niż m funkcja S i jej pochodne rzędu 1, 2,..., m 1 są ciągłe dla t [a, b], lub krócej S C m 1 [ab]. Na ogół wystarcza użycie kubicznej funkcji sklejanej, czyli S(t) = a i + b i u + c i u 2 + d i u 3, i = 0, 1,..., n 1

Zakładamy, że wszystkie węzły a = t 0 t 1... t n = b są różne. Wprowadzamy oznaczenie: t i = t i+1 t i. Z warunków interpolacyjnych wynika, że a i = v i Z warunku na ciągłość drugiej pochodnej w węzłach t i dostajemy 2c i+1 = 2c i + 6d i t i, i = 0, 1,..., n 1 a stąd d i = c i+1 c i 3 t i

Z ciągłości funkcji sklejanej S w t i, z warunku S(t n ) = v n, z ciągłosci pochodnej S w wezłach t i i po pewnych przekształceniach otrzymujemy n 1 równań z n + 1 niewiadomymi. Brakujące warunki możemy otrzymać z przyjęcia różnych warunków brzegowych, np. żądając by S (t 0 ) = S (t n ) = 0, i wtedy c 0 = c n = 0. Inne warunki brzegowe wynikaja np. z okresowości funkcji sklejanej, co w przypadku funkcji kubicznej daje warunki v 0 = v n, c 0 = c n, b 0 = b n 1 + 2c n 1 t n 1 + 3dn 1( t n 1 ) 2

W ogólności musimy rozwiązać układ równań 2 β 1 α 2 2 β 2 α n 2 2 β n 2 α n 1 2 t i 1 gdzie ci = c i 3, α i =, β i = ( t i 1 + t i vi+1 v i γ i = v i v i 1 t i t i 1 ) /( t i 1 + t i ) c 1 c 2 c n 2 c n 1 = t i t i 1 + t i, γ 1 γ 2 γ n 2 γ n 1

Spis treści 1 2 Reprezentacja obiektów graficznych

(i P. de Casteljau) to kombinacja liniowa gdzie Q(t) B n i (u) = n P i Bi n (u), t [t 0, t 1 ] i=0 ( ) n (1 u) n i u i, u [0, 1] i wielomiany Bernsteina, P i punkty w R 2 lub w R 3. W celu ograniczenia dziedziny funkcji stosuje się lokalna parametryzację t = t 0 + u(t 1 t 0 ), u [0, 1]

Rys. 3: Wielomiany Bernsteina stopnia 3

Dla n = 3 krzywą Bźiera aproksymującą krzywą przechodząca przez cztery punkty pokazano na rys. 4. Jest ona postaci Q(t) = P 0 (1 t) 3 + 3 P 1 (1 t) 2 t + 3 P 2 (1 t)t 2 + P 3 t 3 Widać, że Q(0) = P 0, Q(1) = P 1, Q (0) = 3(P 1 P 0 ), Q (1) = 3(P 3 P 2 ) Krzywa Béziera najczęściej przechodzi tylko przez krańcowe punkty kontrolne P 0 i P n. W nich też znamy kierunki stycznych do krzywej, określone odpowiednio wektorami P 1 P 0 i P n P n 1.

Rys. 4: Kubiczna krzywa Béziera

Najważniejsze właściwości wielomianów Bernsteina to: n Bi n(u) = 1 i=0 Bi n B n i (u) 0 dla u [0, 1] (u) = (1 u)bn 1 i (u) + ub n 1 i 1 (u) Z dwóch pierwszych wynika, że krzywa Béziera leży w powłoce wypukłej punktów kontrolnych P i, i = 0, 1,..., n. Trzecia zależność, rekurencyjna, prowadzi do algorytmu obliczania wartości Q(t), czyli wyznaczania punktów leżących na krzywej Béziera.

Najważniejsze właściwości wielomianów Bernsteina to: n Bi n(u) = 1 i=0 Bi n B n i (u) 0 dla u [0, 1] (u) = (1 u)bn 1 i (u) + ub n 1 i 1 (u) Z dwóch pierwszych wynika, że krzywa Béziera leży w powłoce wypukłej punktów kontrolnych P i, i = 0, 1,..., n. Trzecia zależność, rekurencyjna, prowadzi do algorytmu obliczania wartości Q(t), czyli wyznaczania punktów leżących na krzywej Béziera.

Najważniejsze właściwości wielomianów Bernsteina to: n Bi n(u) = 1 i=0 Bi n B n i (u) 0 dla u [0, 1] (u) = (1 u)bn 1 i (u) + ub n 1 i 1 (u) Z dwóch pierwszych wynika, że krzywa Béziera leży w powłoce wypukłej punktów kontrolnych P i, i = 0, 1,..., n. Trzecia zależność, rekurencyjna, prowadzi do algorytmu obliczania wartości Q(t), czyli wyznaczania punktów leżących na krzywej Béziera.

Algorytm de Casteljau wyznaczania punktów krzywej Béziera oblicz wartość odpowiadającą lokalnej parametryzacji u = t t 0 t 1 t 0 dla i = 0, 1,..., n podstaw P i,0 = P i dla j = 0, 1,..., n P i,j = (1 u)p i 1,j 1 + up i,j 1

Spis treści 1 2 Reprezentacja obiektów graficznych

Krzywa B-sklejana to kombinacja liniowa Q(t) = n P i Ni m i=0 (t) P i punkty kontrolne (de Boora) Ni m (t) funkcje bazowe

Wzór rekurencyjny N 0 i (t) = { 1 dla t [t i, t i+1 ] 0 dla pozostałych t N j i (t) = t t i N j 1 i (t) + t i+j+1 t N j 1 i+1 (t), dla j > 0 t i+j t i t i+j+1 t i+1

Duże znaczenie ma dobór punktów kontrolnych. Często bierze się je jako równoodległe, czyli np. t j = j. Jeśli krzywa jest otwarta, to krzywa zawsze przechodzi przez punkty krańcowe de Boora. Gdy krzywa jest zamknięta, to przyjmujemy, ze punkty de Boora i węzły są cykliczne, czyli P 1 jest następnikiem P n, a różnice między kolejnymi węzłami brzegowymi t n+1, t n+2,..., t n+m+ są takie same jak między t 0, t 1,..., t m.

Jeśli t j 1 < t j = T j+1 = + t j+k 1 < t j+k to węzeł t j nazywamy węzłem wielokrotnym (k krotnym), a krzywa B-sklejana może mieć nawet szpic (rys. 5). W szczególnym przypadku dwóch węzłów (m + 1)-krotnych, t 0 = t 1 = = t m = 0 i t m+1 = t m+2 = = t 2m+1 = 1 funkcje Ni m, (i = 0, 1,..., m) degenerują się do wielomianów Bernsteina N m i (t) = ( ) m (1 t) m i t i i czyli krzywe B-sklejane można uważać za uogólnienie krzywych Béziera.

Rys. 5: Krzywa B-sklejana interpolująca punkt odpowiadający węzłowi o maksymalnej krotności

Rys. 6: Funkcje bazowe oparte na węzłach wielokrotnych

Okazuje się, że krzywa B-sklejana leży wewnątrz powłoki wypukłej punktów de Boora. Ponieważ jednak dla każdego punktu Q = Q(t) krzywej tylko m + 1 punktów P i określa jego położenie, więc Q musi leżeć wewnątrz powłoki wypukłej tych m + 1 punktów kontrolnych. A zatem cała krzywa B-sklejana leży wewnątrz sumy powłok wypukłych kolejnych m + 1 punktów P i. Przykłady takich obszarów dla m = 1, 2 i 3 zostały zakreskowane na rys. 7.

Rys. 7: Własność powłoki wypukłej krzywej B-sklejanej

Algorytm de Boora i Coxa wyznaczania punktów krzywej B-sklejanej dla i = j m + k, j m + k + 1,..., j dla l = 1, 2,..., m k dla i = j m + k + l,... j t t i α i,l = t i+m+1 l t i P i,l = (1 α i,l )P i 1,l 1 + α i,l P i,l 1

Rys. 8: Zamknięta krzywa B-sklejana

Literatura [1] M. Jankowski, Elementy grafiki komputerowej, WNT, 2006

Koniec? :-( Koniec wykładu 7