Interpolační křivky
Interpolace pomocí spline křivky dáno: n 1 bodů v rovině
úkol: nalézt takovou křivku, která danými body prochází
y fn f2 f0 f1
x0 Počítačová geometrie
x1
x2
...
xn
x Petra Surynková
Interpolační křivky
Interpolace pomocí spline křivky
nevýhodou polynomiální interpolace – změna některého z uzlů má vliv na celkový výsledný polynom už při relativně nízkém počtu uzlů – polynomy značně oscilují
rozdělení daného intervalu na několik podintervalů, na každém z nich konstruujeme obecně různý polynom – konstrukce po částech polynomiální funkce (lze použít i u parametricky popsaných křivek)
Počítačová geometrie
Petra Surynková
Interpolační křivky
Interpolace pomocí spline křivky
v bodech x0 , x1 , x2 ...xn známe funkční hodnoty y0 , y1 , y2 ... yn dělení intervalu a, b
a x0 x1 x2 ... xn b
označme délku i-tého intervalu xi 1 , xi
hi xi xi 1
hledáme po částech polynomiální interpolant – S ( x) - tzv. interpolační spline na každém intervalu xi 1 , xi je S ( x) polynom Si ( x)
Počítačová geometrie
Petra Surynková
Interpolační křivky
Interpolace pomocí spline křivky Spline stupně k - S ( x)
splňuje interpolační podmínky
S xi f i , i 0,1...n
na každém intervalu
xi1 , xi
Si ( x) - je polynom k-tého stupně
S ( x) má spojité derivace až do řádu (k-1)
Počítačová geometrie
Petra Surynková
Interpolační křivky
Interpolace pomocí spline křivky Kubický interpolační spline S ( x)
splňuje interpolační podmínky
S xi fi , i 0,1...n
na každém intervalu
xi1 , xi
Si ( x) - je polynom třetího stupně
platí
Si ( xi ) Si 1 ( xi ), i 1, 2,..., n 1 Si( xi ) Si1 ( xi ), i 1, 2,..., n 1 Si( xi ) Si1 ( xi ), i 1, 2,..., n 1
Počítačová geometrie
Petra Surynková
Interpolační křivky
Interpolace pomocí spline křivky Kubický interpolační spline S ( x)
dva volné parametry – přidání podmínek, nejčastěji:
S x0 S xn 0 přirozený kubický spline
Počítačová geometrie
Petra Surynková
Interpolační křivky
Interpolace pomocí spline křivky
Konstrukce přirozeného kubického splinu
S ( x)
yi
Si ( x )
yi 1 xi 1
na každém intervalu xi 1 , xi je spline popsán polynomem třetího stupně polynom budeme hledat v následujícím tvaru
xi Si ( x) ai bi x xi 1 ci x xi 1 di x xi 1 2
3
i 1,..., n Počítačová geometrie
Petra Surynková
Interpolační křivky
Interpolace pomocí spline křivky
Konstrukce přirozeného kubického splinu
Si ( x) ai bi x xi 1 ci x xi 1 di x xi 1 2
i 1,..., n
hledáme koeficienty
označme
3
(1)
ai , bi , ci , di hi xi xi 1
Počítačová geometrie
Petra Surynková
Interpolační křivky
Interpolace pomocí spline křivky
Konstrukce přirozeného kubického splinu
dosazení
xi 1
do (1)
Si ( xi1 ) ai fi1
podmínka spojitosti
- vztahy pro koeficienty
ai
Si1 ( xi1 ) Si ( xi1 ), i 2,..., n
Si1 ( x) ai1 bi1 x xi2 ci1 x xi2 di1 x xi2 2
Si ( x) ai bi x xi 1 ci x xi 1 di x xi 1 2
3
3
Si1 ( xi1 ) ai1 bi1hi1 ci1hi21 di1hi31 fi1 Si ( xi1 ) (2) Počítačová geometrie
Petra Surynková
Interpolační křivky
Interpolace pomocí spline křivky
Konstrukce přirozeného kubického splinu
podmínka spojitosti první derivace
Si1 ( xi1 ) Si( xi1 ),, i 2,..., n
Si1 ( x) bi1 2ci1 x xi2 3di1 x xi2 Si( x) bi 2ci x xi 1 3di x xi 1
2
2
Si1 ( xi1 ) bi1 2ci1hi1 3di1hi21 bi Si( xi1 )
Počítačová geometrie
(3)
Petra Surynková
Interpolační křivky
Interpolace pomocí spline křivky
Konstrukce přirozeného kubického splinu
podmínka spojitosti druhé derivace
Si1 ( xi1 ) Si( xi1 ), i 2,..., n
Si1 ( x) 2ci1 6di1 x xi2 Si( x) 2ci 6di x xi 1
Si1 ( xi1 ) 2ci1 6di1hi1 2ci Si( xi1 )
Počítačová geometrie
(4)
Petra Surynková
Interpolační křivky
Interpolace pomocí spline křivky
Konstrukce přirozeného kubického splinu
ze vztahu (4) vyjádříme
2ci 2ci 1 ci ci 1 di1 6hi1 3hi1
(5)
a dosadíme do (2)
ci ci1 3 ai1 bi1hi1 c h hi1 fi1 3hi1 2 i 1 i 1
a vyjádříme
fi 1 fi 2 hi 1 bi1 ci 2ci1 hi1 3 Počítačová geometrie
(6) Petra Surynková
Interpolační křivky
Interpolace pomocí spline křivky
Konstrukce přirozeného kubického splinu
do (3) dosadíme (5) a (6)
fi 1 fi 2 hi 1 ci ci 1 2 hi 1 ci 2ci1 2ci1hi1 3 hi 1 3 3hi 1 fi fi 1 hi ci 1 2ci hi 3
(n-1) rovnic pro (n-1) neznámých
Počítačová geometrie
ci Petra Surynková
Interpolační křivky
Interpolace pomocí spline křivky
Konstrukce přirozeného kubického splinu
podmínka pro přirozený kubický spline
S x0 S xn 0 S1 x0 0 S1 x 2c1 6d1 x x0 S1 x0 2c1 0 c1 0 Počítačová geometrie
Petra Surynková
Interpolační křivky
Interpolace pomocí spline křivky
Konstrukce přirozeného kubického splinu
v poslední rovnici soustavy se objeví člen
cn1
Sn xn 0 Sn x 2cn 6d n x xn1 Sn xn 2cn 6d n ( xn xn1 ) 2cn 6d n hn
2cn 6dn hn 0 cn dn 3hn Počítačová geometrie
ci ci1 3di1hi1 cn1 cn 3dn hn 0 Sn xn cn1 2
plyne ze (4)
cn1 0 Petra Surynková
Interpolační křivky
Interpolace pomocí spline křivky
Konstrukce přirozeného kubického splinu
(n+1) rovnic pro (n+1) neznámých
maticově
Ax b
ci
0 0 ... 0 1 h 2h h h 0 ... 1 2 2 1 h2 2 h2 h3 h3 0 ... 0 A ... hn1 2 hn1 hn hn ... 0 0 1 0 Počítačová geometrie
Petra Surynková
Interpolační křivky
Interpolace pomocí spline křivky
Konstrukce přirozeného kubického splinu
(n+1) rovnic pro (n+1) neznámých
maticově
Ax b
c1 c 2 . x . . c n c n1 Počítačová geometrie
ci
0 a a a a 3 3 2 2 1 h1 h2 . b . . a a a a 3 n1 n n n1 hn hn1 0 Petra Surynková
Interpolační křivky
Interpolace pomocí spline křivky
Konstrukce přirozeného kubického splinu
(n+1) rovnic pro (n+1) neznámých
maticově
soustava je jednoznačně řešitelná
ostatní koeficienty určíme ze vztahů (5), (6) a ze vztahů pro koeficienty ai
Ax b
ci
lze ukázat, že existuje jediný přirozený kubický spline, který interpoluje zadaná data
Počítačová geometrie
Petra Surynková
Interpolační křivky
Fergusonovy kubiky
nejznámější interpolační křivky používané v počítačové grafice
určení
dvěma řídícími body
P0 , P1
a
dvěma tečnými vektory v nich
P0, P1
řídící body určují polohu křivky (křivka jimi prochází) směr a velikost tečných vektorů určuje míru vyklenutí křivky
čím je velikost tečného vektoru větší, tím více se k němu křivka přimyká jsou-li oba vektory nulové, potom křivka degeneruje na úsečku P0 , P1
Počítačová geometrie
Petra Surynková
Interpolační křivky
Fergusonovy kubiky
předpis pro výpočet Fergusonovy kubiky
Q(t ) P0 F1 (t ) PF 1 2 (t ) P0 F3 (t ) PF 1 4 (t ) , kde F1 (t ), F2 (t ), F3 (t ), F4 (t ) jsou tzv. kubické Hermitovské polynomy F1 (t ) 2t 3 3t 2 1 F2 (t ) 2t 3 3t 2
t 0,1
F3 (t ) t 3 2t 2 t F4 (t ) t 3 t 2 Počítačová geometrie
Petra Surynková
Interpolační křivky
Fergusonovy kubiky
předpis - maticově
2 2 1 1 P0 3 3 2 1 P 1 Q (t ) T 0 0 1 0 P0 1 0 0 0 P 1 T t 3 t 2
Počítačová geometrie
t 1
t 0,1
Petra Surynková
Interpolační křivky
Fergusonovy kubiky
P0 P1
P0
P1
různé tvary Fergusonovy kubiky
Počítačová geometrie
Petra Surynková
Interpolační křivky
Fergusonovy kubiky
výhoda snadné navazování Fergusonových kubik 0 spojitost C totožnost posledního bodu jednoho segmentu a prvního bodu dalšího segmentu
spojitost C
1
zaručena identitou tečných vektorů v uzlu
Počítačová geometrie
Petra Surynková