Splajn (matematyka)

Pojedyncze węzły na 1/3 i 2/3 tworzą splajn trzech wielomianów sześciennych spotykających się z ciągłością parametryczną C 2 . Potrójne węzły na obu końcach przedziału zapewniają, że krzywa interpoluje punkty końcowe

W matematyce splajn jest specjalną funkcją określoną fragmentarycznie przez wielomiany . W problemach z interpolacją interpolacja splajnem jest często preferowana zamiast interpolacji wielomianowej, ponieważ daje podobne wyniki, nawet przy użyciu wielomianów niskiego stopnia , unikając jednocześnie zjawiska Runge'a dla wyższych stopni.

W poddziedzinach informatyki projektowania wspomaganego komputerowo i grafiki komputerowej termin splajn częściej odnosi się do fragmentarycznie wielomianowej ( parametrycznej ) krzywej . Splajny są popularnymi krzywymi w tych poddziedzinach ze względu na prostotę ich konstrukcji, łatwość i dokładność oceny oraz ich zdolność do aproksymacji złożonych kształtów poprzez dopasowanie krzywej i interaktywne projektowanie krzywych.

Termin splajn pochodzi od elastycznych urządzeń splajnowych używanych przez stoczniowców i kreślarzy do rysowania gładkich kształtów.

Wstęp

Termin „splajn” jest używany w odniesieniu do szerokiej klasy funkcji używanych w aplikacjach wymagających interpolacji i/lub wygładzania danych. Dane mogą być jednowymiarowe lub wielowymiarowe. Funkcje splajnu dla interpolacji są zwykle określane jako minimalizatory odpowiednich miar chropowatości (na przykład całkowa kwadratowa krzywizna) z zastrzeżeniem ograniczeń interpolacji. Splajny wygładzające można postrzegać jako uogólnienia splajnów interpolacyjnych, w których funkcje są określone w celu zminimalizowania ważonej kombinacji średniego kwadratowego błędu aproksymacji obserwowanych danych i miary chropowatości. W przypadku wielu znaczących definicji miary chropowatości stwierdzono, że funkcje splajnu mają charakter skończonych wymiarów, co jest głównym powodem ich użyteczności w obliczeniach i reprezentacji. W pozostałej części tej sekcji skupimy się całkowicie na jednowymiarowych splajnach wielomianowych i używamy terminu „splajn” w tym ograniczonym znaczeniu.

Definicja

Zaczniemy od ograniczenia naszej dyskusji do wielomianów w jednej zmiennej . W tym przypadku splajn jest fragmentaryczną funkcją wielomianową . Ta funkcja, nazwijmy ją S , pobiera wartości z przedziału [ a , b ] i odwzorowuje je na zbiór liczb rzeczywistych

Chcemy, aby S było określone fragmentarycznie. Aby to osiągnąć, niech przedział [ a , b ] będzie objęty k uporządkowanymi, rozłącznymi podprzedziałami,

Na każdym z tych k „kawałków” [ a , b ] chcemy zdefiniować wielomian, nazwijmy go P i .

.

W i- tym podprzedziale [ a , b ] S jest określone przez P i ,

Dane k+1 punkty t i nazywane są węzłami . Wektor _ _ _ Jeśli węzły są równomiernie rozmieszczone w przedziale [ a , b ] mówimy, że splajn jest jednorodny , w przeciwnym razie mówimy , że jest niejednorodny .

z elementów wielomianu ja ma stopień co najwyżej n , to mówi się, że splajn ma stopień (lub n + 1 ).

Jeśli sąsiedztwie że splajn ma ( co najmniej) gładkość do o t ja . Oznacza to, że w t i dwa wielomiany P i-1 i P i mają wspólne wartości pochodnych od pochodnej rzędu 0 (wartość funkcji) do pochodnej rzędu r i (innymi słowy, dwa sąsiednie elementy wielomianu łączą się z utratą gładkości co najwyżej n - r i )

.

wektor splajn ma gładkość w t ja dla nazywa się wektorem gładkości dla splajnu.

Biorąc pod uwagę wektor węzła stopień n i wektor gładkości dla wektor węzła i wektor gładkości . Wyposażony w operację dodawania dwóch funkcji (dodawanie punktowe) i branie rzeczywistych wielokrotności funkcji, zbiór ten staje się rzeczywistą przestrzenią wektorową. Ta przestrzeń splajnu jest zwykle oznaczana przez }

W matematycznym badaniu splajnów wielomianowych pytanie, co się stanie, gdy dwa węzły, powiedzmy t i oraz t i +1 , zostaną przesunięte razem, ma łatwą odpowiedź. Kawałek wielomianu P i ( t ) znika, a kawałki P i −1 ( t ) i P i +1 ( t ) łączą się z sumą strat ciągłości dla t i oraz t i +1 . To jest,

gdzie

Prowadzi to do bardziej ogólnego zrozumienia wektora węzłów. Utratę ciągłości w dowolnym punkcie można uznać za wynik wielu węzłów zlokalizowanych w tym punkcie, a typ splajnu można całkowicie scharakteryzować za pomocą stopnia n i rozszerzonego wektora węzłów

gdzie t ja powtarza się jot ja razy dla .

Krzywa parametryczna na przedziale [ a , b ]

jest krzywą splajnu , jeśli zarówno X , jak i Y są funkcjami splajnu tego samego stopnia z tymi samymi rozszerzonymi wektorami węzłów w tym przedziale.

Przykłady

Załóżmy, że przedział [ a , b ] wynosi [0,3], a podprzedziały to [0,1], [1,2] i [2,3]. Załóżmy, że elementy wielomianu mają być stopnia 2, a elementy na [0,1] i [1,2] muszą łączyć się wartością i pierwszą pochodną (w t = 1), podczas gdy elementy na [1,2] i [ 2,3] łączą się po prostu wartością (przy t = 2). To zdefiniowałoby typ splajnu S ( t ), dla którego

byłby członkiem tego typu, a także

byłby członkiem tego typu. (Uwaga: chociaż element wielomianu 2 t nie jest kwadratowy, wynik nadal nazywany jest splajnem kwadratowym. Pokazuje to, że stopień splajnu jest maksymalnym stopniem jego części wielomianowych). Rozszerzony wektor węzła dla tego typu splajnu byłby być (0, 1, 2, 2, 3).

Najprostszy splajn ma stopień 0. Nazywa się go również funkcją schodkową . Kolejny najprostszy splajn ma stopień 1. Jest również nazywany splajnem liniowym . Zamknięty splajn liniowy (tzn. pierwszy i ostatni węzeł są takie same) na płaszczyźnie jest po prostu wielokątem .

Wspólny splajn to naturalny sześcienny splajn stopnia 3 z ciągłością C 2 . Słowo „naturalny” oznacza, że ​​drugie pochodne wielomianów splajnu są równe zeru w punktach końcowych przedziału interpolacji

Wymusza to, aby splajn był linią prostą poza interwałem, nie zakłócając jednocześnie jego gładkości.

Algorytm obliczania naturalnych splajnów sześciennych

Splajny sześcienne mają postać .
Dany układ współrzędnych n splajny dla

Muszą one spełniać:

  • .

Zdefiniujmy jeden splajn sześcienny -krotkę gdzie i odpowiadają współczynnikom w postaci pokazanej wcześniej i jest równe do



Algorytm obliczania naturalnych splajnów sześciennych: Dane wejściowe: zestaw współrzędnych do z Dane wyjściowe: zestaw splajnów, który składa się z n 5-krotek.

  1. Utwórz nową tablicę a o rozmiarze n + 1 i dla ustaw
  2. Utwórz nowe tablice b i d każda o rozmiarze n .
  3. nową tablicę h rozmiarze n i dla h
  4. Utwórz nową tablicę α o rozmiarze n i dla zestaw .
  5. Utwórz nowe tablice c , l , μ i z każda o rozmiarze .
  6. Ustaw
  7. ja
    1. l .
    2. Ustaw .
    3. zestaw .
  8. zestaw
  9. dla
    1. zestaw do
    2. Ustaw
    3. zestaw re
  10. Utwórz nowy zestaw Splines i nazwij go zestaw_wyjściowy. Wypełnij go n splajnami S .
  11. ja
    1. Zestaw S ja , a = a ja
    2. Ustaw S ja , b = b ja
    3. Ustaw S ja , do = do ja
    4. Ustaw S ja , re = re ja
    5. Ustaw S ja , x = x ja
  12. Wyjście zestaw_wyjściowy

Notatki

Można by zapytać, jakie znaczenie ma więcej niż n wielokrotnych węzłów w wektorze węzłów, ponieważ prowadziłoby to do ciągłości takich jak

w miejscu tak dużej różnorodności. Zgodnie z konwencją każda taka sytuacja wskazuje na prostą nieciągłość między dwoma sąsiednimi elementami wielomianu. Oznacza to, że jeśli węzeł t i pojawia się więcej niż n + 1 razy w rozszerzonym wektorze węzłów, wszystkie jego wystąpienia przekraczające ( n + 1) można usunąć bez zmiany charakteru splajnu, ponieważ wszystkie krotności n + 1, n + 2, n + 3 itd. mają to samo znaczenie. Powszechnie przyjmuje się, że każdy wektor węzła definiujący dowolny typ splajnu został usunięty w ten sposób.

Klasyczny typ splajnu stopnia n używany w analizie numerycznej ma ciągłość

co oznacza, że ​​każde dwa sąsiednie elementy wielomianu spotykają się pod względem wartości i pierwszych n - 1 pochodnych w każdym węźle. Matematyczny splajn, który najdokładniej modeluje splajn płaski , to sześcienny ( n = 3), dwukrotnie różniczkowalny w sposób ciągły ( C 2 ), naturalny splajn, który jest splajnem tego klasycznego typu z dodatkowymi warunkami nałożonymi w punktach końcowych a i b .

Inny rodzaj splajnu, który jest często używany w grafice, na przykład w programach do rysowania, takich jak Adobe Illustrator firmy Adobe Systems , ma elementy, które są sześcienne, ale mają co najwyżej ciągłość

Ten typ splajnu jest również używany w PostScript , a także w definicji niektórych komputerowych czcionek typograficznych.

Wiele systemów projektowania wspomaganego komputerowo, zaprojektowanych z myślą o wysokiej klasy grafice i animacji, wykorzystuje rozszerzone wektory węzłów, na przykład Autodesk Maya . Systemy projektowania wspomaganego komputerowo często wykorzystują rozszerzoną koncepcję splajnu znaną jako niejednorodny wymierny B-splajn (NURBS).

Jeśli dostępne są próbkowane dane z funkcji lub obiektu fizycznego, interpolacja splajnu jest podejściem do tworzenia splajnu, który przybliża te dane.

Wyrażenie ogólne dla interpolującego splajnu sześciennego C2

Ogólne wyrażenie na i -ty interpolujący splajn sześcienny C 2 w punkcie x z warunkiem naturalnym można znaleźć za pomocą wzoru

Gdzie

  • to wartości drugiej pochodnej w i- tym węźle.
  • to wartości funkcji w i -tym węźle.

Reprezentacje i nazwy

Dla danego przedziału [ a , b ] i danego rozszerzonego wektora węzłów na tym przedziale krzywe stopnia n tworzą przestrzeń wektorową . W skrócie oznacza to, że dodanie dowolnych dwóch splajnów danego typu daje splajn tego danego typu, a pomnożenie splajnu danego typu przez dowolną stałą daje splajn tego danego typu. Wymiar przestrzeni zawierającej wszystkie splajny określonego typu można policzyć z rozszerzonego wektora węzłów :

Wymiar jest równy sumie stopnia plus krotności

Jeśli typ splajnu ma nałożone dodatkowe warunki liniowe, wynikowy splajn będzie leżał w podprzestrzeni. Na przykład przestrzeń wszystkich naturalnych splajnów sześciennych jest podprzestrzenią przestrzeni wszystkich splajnów sześciennych C2 .

Literatura splajnów jest pełna nazw specjalnych typów splajnów. Nazwy te zostały powiązane z:

  • Wybory dokonane w celu przedstawienia splajnu, na przykład:
  • Wybory dokonane podczas tworzenia rozszerzonego wektora węzłów, na przykład:
    • stosując pojedyncze węzły dla ciągłości C n -1 i równomiernie rozmieszczając te węzły na [ a , b ] (co daje nam jednolite splajny )
    • używanie węzłów bez ograniczeń co do rozstawu (co daje nam niejednorodne splajny )
  • Wszelkie specjalne warunki nałożone na splajn, na przykład:
    • wymuszanie zerowych pochodnych w punktach a i b (dając nam naturalne splajny )
    • wymaganie, aby podane wartości danych znajdowały się na splajnie (dając nam splajny interpolujące )

Często wybierano specjalną nazwę dla typu splajnu spełniającego dwa lub więcej głównych elementów powyżej. Na przykład splajn Hermite'a to splajn wyrażony za pomocą wielomianów Hermite'a do reprezentowania każdego z poszczególnych elementów wielomianu. Są one najczęściej używane z n = 3; to znaczy, jak splajny Cubic Hermite . W tym stopniu można je dodatkowo wybrać tak, aby były tylko stycznie ciągłe ( C 1 ); co oznacza, że ​​wszystkie węzły wewnętrzne są podwójne. Wynaleziono kilka metod dopasowania takich splajnów do danych punktów; to znaczy uczynić je interpolującymi splajnami i zrobić to przez oszacowanie prawdopodobnych wartości stycznych, w których spotykają się dwa elementy wielomianu (dając nam splajny kardynalne , splajny Catmull-Rom i splajny Kochanka-Bartelsa , w zależności od zastosowanej metody).

Dla każdej z reprezentacji należy znaleźć pewne sposoby oceny, aby wartości splajnu mogły być tworzone na żądanie. Dla tych reprezentacji, które wyrażają każdą pojedynczą część wielomianu P i ( t ) w kategoriach jakiejś bazy wielomianów stopnia n , jest to koncepcyjnie proste:

  • t +
  • Wyszukaj podstawę wielomianu wybraną dla tego przedziału
  • Znajdź wartość każdego wielomianu bazowego w t :
  • 0 Poszukaj współczynników kombinacji liniowej tych wielomianów bazowych, które dają splajn w tym przedziale c , ..., c k -2
  • Dodaj tę liniową kombinację podstawowych wartości wielomianu, aby uzyskać wartość splajnu w t :

Jednak etapy oceny i podsumowania są często łączone w sprytny sposób. Na przykład wielomiany Bernsteina są podstawą wielomianów, które można efektywnie oceniać w kombinacjach liniowych przy użyciu specjalnych relacji powtarzalności. To jest esencja algorytmu De Casteljau , który występuje w krzywych Béziera i splajnach Béziera ).

Jednak w przypadku reprezentacji, która definiuje splajn jako liniową kombinację splajnów bazowych, potrzebne jest coś bardziej wyrafinowanego. Algorytm de Boora jest skuteczną metodą oceny B-sklejanych .

Historia

Zanim pojawiły się komputery, obliczenia numeryczne wykonywano ręcznie. Chociaż używano funkcji zdefiniowanych fragmentarycznie, takich jak funkcja znaku lub funkcja schodkowa , generalnie preferowano wielomiany, ponieważ łatwiej było z nimi pracować. Wraz z pojawieniem się komputerów splajny zyskały na znaczeniu. Początkowo były używane jako zamiennik wielomianów w interpolacji, a następnie jako narzędzie do konstruowania gładkich i elastycznych kształtów w grafice komputerowej.

Powszechnie przyjmuje się, że pierwszym matematycznym odniesieniem do splajnów jest artykuł Schönberga z 1946 r., który jest prawdopodobnie pierwszym miejscem, w którym słowo „splajn” jest używane w połączeniu z gładkim, fragmentarycznym przybliżeniem wielomianowym. Jednak pomysły mają swoje korzenie w przemyśle lotniczym i stoczniowym. W przedmowie do (Bartels et al., 1987) Robin Forrest opisuje „ wyciąganie po profilach ”, technikę używaną w brytyjskim przemyśle lotniczym podczas II wojny światowej do konstruowania szablonów samolotów przez przepuszczanie cienkich drewnianych pasków (zwanych „ wypustami” ) ") poprzez punkty ułożone na podłodze dużego strychu projektowego, technikę zapożyczoną z projektowania kadłubów statków. Przez lata praktyka projektowania statków wykorzystywała modele do projektowania w małym. Pomyślny projekt był następnie nanoszony na papier milimetrowy i kluczowe punkty działki zostały ponownie wykreślone na większym papierze milimetrowym w pełnym rozmiarze. Cienkie drewniane paski zapewniały interpolację kluczowych punktów w gładkie krzywe. Paski były utrzymywane na miejscu w dyskretnych punktach (zwanych przez Forresta „kaczkami” ; Schoenberg użył „psów” lub „szczurów”) i między tymi punktami przybierałby kształty o minimalnej energii odkształcenia. Według Forresta jednym z możliwych impulsów dla modelu matematycznego tego procesu była potencjalna utrata krytycznych elementów konstrukcyjnych całego samolotu gdyby strych został trafiony przez wrogą bombę. Doprowadziło to do „wyciągnięcia stożkowego”, w którym wykorzystano sekcje stożkowe do modelowania położenia krzywej między kaczkami. Wyciągnięcie stożkowe zostało zastąpione przez to, co nazwalibyśmy splajnami na początku lat 60. praca JC Fergusona w Boeing i (nieco później) przez MA Sabin w British Aircraft Corporation .

Słowo „splajn” było pierwotnie słowem dialektu wschodnioangielskiego .

Wydaje się, że zastosowanie splajnów do modelowania karoserii samochodowych ma kilka niezależnych początków. Kredyt jest zgłaszany w imieniu de Casteljau w Citroën , Pierre'a Béziera w Renault oraz Birkhoffa , Garabediana i de Boora w General Motors (zob. Przynajmniej jeden z artykułów de Casteljau został opublikowany, ale niezbyt szeroko, w 1959 roku. Praca De Boora w General Motors zaowocowało opublikowaniem wielu artykułów na początku lat sześćdziesiątych, w tym niektórych fundamentalnych prac nad B-splajnami .

Prace prowadzono również w firmie Pratt & Whitney Aircraft, gdzie zatrudniono dwóch autorów (Ahlberg i in., 1967) — pierwszego obszernego opracowania splajnów — oraz w firmie David Taylor Model Basin autorstwa Feodora Theilheimera . Praca w General Motors jest szczegółowo opisana w (Birkhoff, 1990) i (Young, 1997). Davis (1997) podsumowuje część tego materiału.

  • Ferguson, James C, Interpolacja krzywej wielu zmiennych, J. ACM, tom. 11, nie. 2, s. 221-228, kwiecień 1964.
  • Ahlberg, Nielson i Walsh, Teoria splajnów i ich zastosowania, 1967.
  • Birkhoff, Dynamika płynów, obliczenia reaktorów i reprezentacja powierzchni, w: Steve Nash (red.), A History of Scientific Computation , 1990.
  • Bartels, Beatty i Barsky, Wprowadzenie do splajnów do użytku w grafice komputerowej i modelowaniu geometrycznym, 1987.
  • Birkhoff i de Boor, Odcinkowa interpolacja wielomianowa i aproksymacja, w: HL Garabedian (red.), Proc. Sympozjum General Motors z 1964 r., s. 164–190. Elsevier, Nowy Jork i Amsterdam, 1965.
  • Davis, B-splajny i projektowanie geometryczne , SIAM News, obj. 29, nie. 5, 1997.
  • Epperson, Historia splajnów , NA Digest, tom. 98, nie. 26, 1998.
  • Stoer & Bulirsch, Wprowadzenie do analizy numerycznej. Springer-Verlag . P. 93-106. ISBN 0387904204
  • Schoenberg, Przyczynki do problemu aproksymacji równoodległych danych przez funkcje analityczne, Quart. Aplikacja Matematyka, tom. 4, s. 45–99 i 112–141, 1946.
  • Young, Garrett Birkhoff i matematyka stosowana, Zawiadomienia o AMS, tom. 44, nr. 11, s. 1446-1449, 1997.
  • Chapra, Canale, „Metody numeryczne dla inżynierów”, wydanie 5.

Linki zewnętrzne

Teoria

Funkcja Excela

Narzędzia online

Kod komputerowy