Cubic Hermite spline - Cubic Hermite spline
v numerická analýza, a kubický Hermitův spline nebo kubický Hermitův interpolátor je spline kde každý kus je třetího stupně polynomiální uvedeno v Hermitská forma, tedy svými hodnotami a první deriváty v koncových bodech odpovídající doména interval.[1]
Kubické Hermitové splajny se obvykle používají pro interpolace číselných dat zadaných při zadaných hodnotách argumentů , získat a spojitá funkce. Data by měla vždy obsahovat požadovanou hodnotu funkce a derivaci . (Pokud jsou k dispozici pouze hodnoty, musí se z nich odvodit derivace.) Na každý interval se použije Hermitův vzorec odděleně. Výsledný spline bude spojitý a bude mít spojitou první derivaci.
Krychlové polynomické splajny mohou být specifikovány jinými způsoby, Bézierův krychlový je nejběžnější. Tyto dvě metody však poskytují stejnou sadu splajnů a data lze snadno převádět mezi formami Bézier a Hermite; jména se často používají, jako by byla synonyma.
Krychlové polynomiální splajny jsou široce používány v počítačová grafika a geometrické modelování získat křivky nebo pohyb trajektorie které procházejí určenými body letadlo nebo trojrozměrný prostor. V těchto aplikacích je každá souřadnice roviny nebo prostoru samostatně interpolována kubickou spline funkcí samostatného parametrut. Krychlové polynomické splajny se také hojně používají v aplikacích strukturní analýzy, jako je Teorie paprsku Euler – Bernoulli.
Kubické splajny lze rozšířit na funkce dvou nebo více parametrů několika způsoby. Bikubické splajny (Bikubická interpolace ) se často používají k interpolaci dat na pravidelné obdélníkové mřížce, například pixel hodnoty v a digitální obraz nebo nadmořská výška údaje o terénu. Bikubické povrchové záplaty, definované třemi bikubickými spline, jsou základním nástrojem v počítačové grafice.
Kubické splajny se často nazývají csplines, zejména v počítačové grafice. Poustevnické splajny jsou pojmenovány po Charles Hermite.
Interpolace v jednom intervalu
Jednotkový interval (0, 1)
V jednotkovém intervalu , vzhledem k výchozímu bodu na a konečný bod na s počáteční tečnou na a končící tečnu na , polynom lze definovat pomocí
kde t ∈ [0, 1].
Interpolace v libovolném intervalu
Interpolace v libovolném intervalu se provádí jeho mapováním na přes afinní (stupeň 1) změna proměnné. Vzorec je
s a odkazuje na základní funkce definované níže. Všimněte si, že hodnoty tečny byly změněny o ve srovnání s rovnicí na jednotkovém intervalu.
Jedinečnost
Výše uvedené vzorce poskytují jedinečnou polynomickou cestu třetího stupně mezi dvěma body s danými tečnami.
Důkaz. Nechat být dva polynomy třetího stupně splňující dané okrajové podmínky. Definovat pak:
Protože oba a jsou polynomy třetího stupně, je nanejvýš polynom třetího stupně. Tak musí mít formu:
výpočet derivátu dává:
Dále víme, že:
(1)
(2)
Uvedení (1) a (2) společně to odvodíme a proto tím pádem
Zastoupení
Interpolační polynom můžeme napsat jako
kde , , , jsou Hermitovy základní funkce. Ty lze psát různými způsoby, přičemž každý způsob odhaluje různé vlastnosti.
rozšířený | faktorizovaný | Bernstein | |
---|---|---|---|
Sloupec „rozbalený“ zobrazuje reprezentaci použitou ve výše uvedené definici. Sloupec „faktorizovaný“ ukazuje okamžitě toto a jsou na hranicích nulové. To můžete dále uzavřít a mít nula multiplicity 2 v 0 a a mají takovou nulu na 1, takže mají na těchto hranicích sklon 0. Sloupec „Bernstein“ ukazuje rozklad hermitských základních funkcí na Bernsteinovy polynomy objednávky 3:
Pomocí tohoto spojení můžete vyjádřit kubickou Hermitovu interpolaci z hlediska kubických Bézierovy křivky s ohledem na čtyři hodnoty a proveďte interpolaci Hermitů pomocí de Casteljauův algoritmus Ukazuje, že v kubické Bézierově záplatě dva kontrolní body ve středu určují tečny interpolační křivky v příslušných vnějších bodech.
Interpolace datové sady
Soubor dat, pro , lze interpolovat použitím výše uvedeného postupu na každý interval, kde jsou tečny zvoleny rozumným způsobem, což znamená, že tečny pro intervaly sdílející koncové body jsou stejné. Interpolovaná křivka pak sestává z po částech kubických Hermitových splajnů a je globálně kontinuálně diferencovatelná .
Výběr tečen není jedinečný a je k dispozici několik možností.
Konečný rozdíl
Nejjednodušší volbou je tříbodový rozdíl, který nevyžaduje konstantní délky intervalů,
pro vnitřní body a jednostranný rozdíl v koncových bodech sady dat.
Kardinální spline
A kardinální spline, někdy nazývané a kanonický spline,[2] je získáno[3] -li
se používá k výpočtu tečen. Parametr C je napětí parametr, který musí být v intervalu [0,1]. V určitém smyslu to lze interpretovat jako „délku“ tečny. Výběr C=1 získá všechny nulové tečny a výběr C=0 dává spline Catmull – Rom.
Catmull – Rom spline
Pro tečny, které byly vybrány
A Catmull – Rom spline je získán, což je speciální případ kardinálního spline. To předpokládá jednotné rozestupy parametrů.
Křivka je pojmenována po Edwin Catmull a Raphael Rom. Hlavní výhodou této techniky je, že body podél původní sady bodů také tvoří kontrolní body křivky spline.[5] Na každém konci křivky jsou vyžadovány dva další body. Výchozí implementace[který? ] algoritmu Catmull – Rom může vytvářet smyčky a vlastní křižovatky. Chordal a dostředivá Catmull – Rom implementace [6] tento problém vyřešit, ale použijte mírně odlišný výpočet.[7] v počítačová grafika „Křivky Catmull – Rom se často používají k hladkému interpolovanému pohybu mezi nimi klíčové rámečky. Například většina animací cest kamery generovaných z diskrétních klíčových snímků je zpracována pomocí spline Catmull – Rom. Jsou oblíbené hlavně proto, že je lze relativně snadno vypočítat, což zaručuje, že každá pozice klíčového rámečku bude přesně zasažena, a také zaručuje, že tečny generované křivky jsou spojité na více segmentech.
Kochanek – Bartels spline
Kochanek – Bartelsova spline představuje další zobecnění toho, jak zvolit tečny dané datovými body , a , se třemi možnými parametry, napětím, předpětím a parametrem spojitosti.
Monotónní kubická interpolace
Pokud se používá kubický Hermitský spline některého z výše uvedených typů interpolace a monotóní datová sada, interpolovaná funkce nemusí být nutně monotónní, ale monotónnost může být zachována úpravou tečen.
Interpolace v jednotkovém intervalu se shodnými deriváty v koncových bodech
Vzhledem k jediné souřadnici bodů a jako hodnoty, které funkce, F(X), bere na celočíselné souřadnice X=n−1, n, n+1 a n+2,
Pokud jsou navíc tečny v koncových bodech definovány jako centrované rozdíly sousedních bodů,
Vyhodnotit interpolované F(X) opravdu X, první samostatný X do celočíselné části, na zlomková část, u
Pak je spline Catmull – Rom [8]
označuje funkce podlahy který vrací největší celé číslo ne větší než X a označuje maticová transpozice. Spodní rovnost znázorňuje použití Hornerova metoda.
Tento text je relevantní pro tricubická interpolace, kde jedna optimalizace vyžaduje, abyste vypočítali CINTu šestnáctkrát se stejným u a jiné p.
Viz také
- Bikubická interpolace, zobecnění do dvou dimenzí
- Tricubická interpolace, zobecnění do tří dimenzí
- Hermitova interpolace
- Vícerozměrná interpolace
- Spline interpolace
- Diskrétní spline interpolace
Reference
- ^ Erwin Kreyszig (2005). Pokročilá inženýrská matematika (9 ed.). Wiley. str. 816. ISBN 9780471488859.
- ^ Petzold, Charles (2009). „Kanonické splajny ve WPF a Silverlight“.
- ^ "Kardinální splajny". Microsoft Developer Network. Citováno 2018-05-27.
- ^ Kubická interpolace není jedinečná: tento model využívající Catmull-Rom spline a Lagrangeovy polynomy prochází všemi čtyřmi body. Poznámka: V levé třetině je žlutá vodorovná vzdálenost záporná, protože černý bod je nalevo od žlutého bodu; v pravé třetině je zelená vodorovná vzdálenost záporná, protože černý bod je vpravo od zeleného bodu.
- ^ Catmull, Edwin; Rom, Raphaeli (1974), „Třída lokálních interpolačních splajnů“, Barnhill, R. E .; Riesenfeld, R. F. (eds.), Počítačem podporovaný geometrický design, New York: Academic Press, s. 317–326
- ^ N. Dyn, M. S. Floater a K. Hormann. Čtyřbodové dělení křivek na základě iterovaných chordálních a dostředivých parametrizací. Computer Aided Geometric Design, 26 (3): 279 {286, 2009
- ^ P. J. Barry a R. N. Goldman. Algoritmus rekurzivního vyhodnocení pro třídu spline Catmull-Rom. Počítačová grafika SIGGRAPH, 22 (4): 199 {204, 1988.
- ^ Dvě hierarchie spline interpolací. Praktické algoritmy pro vícerozměrné splajny vyššího řádu
externí odkazy
- Spline křivky Donald House Clemson University
- Multidimenzionální Hermitova interpolace a aproximace Chandrajit Bajaj, Purdue University
- Úvod do spline Catmull – Rom, MVPs.org
- Interpolace kardinálů a Catmull – Romů
- Interpolační metody: lineární, kosinová, kubická a hermit (se zdroji C)
- Společné spline rovnice