nela bosner konike prikazivanje krivuljanela/rgpredavanja/prikazivanje_krivulja.pdf · krivulje...
TRANSCRIPT
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnovi
Prikazivanje krivulja5. dio kolegija Racunalna grafika
Nela Bosner
Prikazivanjekrivulja
Nela Bosner
KonikeDefinicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika u homogenimkoordinatama
Po dijelovima konike
Bézierovekrivulje
B-splajnovi
Konike — konicni presjeci
Presjeci konusa sa ravninom
Slika: Dvije razlicite elipse dobivene kao presjeci konusa sadvijema razlicitim ravninama.
Prikazivanjekrivulja
Nela Bosner
KonikeDefinicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika u homogenimkoordinatama
Po dijelovima konike
Bézierovekrivulje
B-splajnovi
Slika: (a) Kružnica; (b) Tocka.
Prikazivanjekrivulja
Nela Bosner
KonikeDefinicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika u homogenimkoordinatama
Po dijelovima konike
Bézierovekrivulje
B-splajnovi
Slika: (a) Pravac; (b) Parabola.
Prikazivanjekrivulja
Nela Bosner
KonikeDefinicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika u homogenimkoordinatama
Po dijelovima konike
Bézierovekrivulje
B-splajnovi
Slika: (a) Ukriženi pravci; (b) Hiperbola.
Prikazivanjekrivulja
Nela Bosner
KonikeDefinicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika u homogenimkoordinatama
Po dijelovima konike
Bézierovekrivulje
B-splajnovi
Slika: (a) Ukošeni ukriženi pravci; (b) Ukošena hiperbola.
Prikazivanjekrivulja
Nela Bosner
KonikeDefinicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika u homogenimkoordinatama
Po dijelovima konike
Bézierovekrivulje
B-splajnovi
Konike se vec dugo vrijeme koriste u dizajnu.Nedegerativni oblici konika:
kružnicaelipsaparabolahiperbola
Postoje mnoge reprezentacije konika, a tocke na krivuljimogu se lako izracunati brzim i tocnim metodama.Konike imaju mnoga geometrijska svojstva koja supoželjna u dizajnu.
Npr. one nemaju tocke infleksije,one su ravninske krivulje.
Prikazivanjekrivulja
Nela Bosner
KonikeDefinicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika u homogenimkoordinatama
Po dijelovima konike
Bézierovekrivulje
B-splajnovi
Definicije:Kružnica
Definicija
Neka je dana tocka C u ravnini i broj R ≥ 0, tada sekružnica sa središtem u C i radijusom R definira kao
skup svih tocaka ravnine koje se nalaze na udaljenostiR od tocke C.U skupovnoj notaciji:
{P = (x , y) : ‖P − C‖ = R}.
Za C = (xc , yc) i euklidsku normu: (x , y) je tocka nakružnici ako i samo ako
(x − xc)2 + (y − yc)2 = R2.
Za R = 0 kružnica se degenerira u tocku C.
Prikazivanjekrivulja
Nela Bosner
KonikeDefinicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika u homogenimkoordinatama
Po dijelovima konike
Bézierovekrivulje
B-splajnovi
Elipsa
Definicija
Neka su zadane dvije tocke, F1 i F2 koje zovemo fokusima ibroj K ≥ ‖F2 − F1‖, tada se elipsa definira kao
skup svih tocaka ravnine cija je suma udaljenosti odfokusa jednaka K .U skupovnoj notaciji:
{P = (x , y) : ‖P − F1‖+ ‖P − F2‖ = K}.
Kružnica je vrsta elipse za F1 = F2 = C i K = 2R.Segment pravca koji povezuje F1 i F2 je elipsa, buducida za
P = (1− t)F1 + tF2, 0 ≤ t ≤ 1
Prikazivanjekrivulja
Nela Bosner
KonikeDefinicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika u homogenimkoordinatama
Po dijelovima konike
Bézierovekrivulje
B-splajnovi
imamo
‖P − F1‖ =t‖F2 − F1‖‖P − F2‖ =(1− t)‖F2 − F1‖
odakle slijedi
‖P − F1‖+ ‖P − F2‖ =t‖F2 − F1‖+ (1− t)‖F2 − F1‖=‖F2 − F1‖=K
degenerirani oblik
Prikazivanjekrivulja
Nela Bosner
KonikeDefinicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika u homogenimkoordinatama
Po dijelovima konike
Bézierovekrivulje
B-splajnovi
Zbog jednostavnosti uzet cemo
F1 = (−c,0), F2 = (c,0), za c > 0.
Prema definiciji je√(x + c)2 + y2 +
√(x − c)2 + y2 = K .
Uzastopnim kvadriranjem dva puta dobivamo
4(K 2 − 4c2)x2 + 4K 2y2 = K 2(K 2 − 4c2). (1)
Ovdje se pojavljuju tri slucaja u ovisnosti o K 2 − 4c2.
Prikazivanjekrivulja
Nela Bosner
KonikeDefinicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika u homogenimkoordinatama
Po dijelovima konike
Bézierovekrivulje
B-splajnovi
1 slucaj: K2 − 4c2 < 0tada je 2c > Kbuduci da za svaku tocku P na elipsi vrijedi
2c =‖F1 − F2‖ = ‖F1 − P + P − F2‖≤‖F1 − P‖+ ‖F2 − P‖ = K
rezultat je prazan skup2 slucaj: K2 − 4c2 = 0
tada je 2c = Kbuduci da je ‖F2 − F1‖ = 2c = Krezultat je segment pravca koji povezuje F1 i F2
3 slucaj: K2 − 4c2 > 0Jednadžbu (1) sada dijelimo sa K 2(K 2 − 4c2)
4x2
K 2 +4y2
K 2 − 4c2 = 1.
Prikazivanjekrivulja
Nela Bosner
KonikeDefinicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika u homogenimkoordinatama
Po dijelovima konike
Bézierovekrivulje
B-splajnovi
Ako definiramo
a =K2, b2 = a2 − c2
tada prethodnu jednadžbu možemo svesti na poznatioblik
x2
a2 +y2
b2 = 1.
Svojstva elipse:tocke (−a,0) i (a,0) su na elipsi, i ne postoje tocke naelipsi sa |x | > aelipsa je simetricna u odnosu na x ostocke (0,−b) i (0,b) su na elipsi, i ne postoje tocke naelipsi sa |y | > belipsa je simetricna u odnosu na y os
Prikazivanjekrivulja
Nela Bosner
KonikeDefinicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika u homogenimkoordinatama
Po dijelovima konike
Bézierovekrivulje
B-splajnovi
da su fokusi F1 i F2 smješteni na y os, tada bismo dobiliistu jednadžbu sa b > aopcenitiji oblik elipse možemo dobiti
translacijom ishodišta u C = (F1 + F2)/2 = (cx , cy )dobivamo jednadžbu
(x − cx )2
a2 +(y − cy )2
b2 = 1
rotacijom ako fokusi ne leže na pravcu paralelnom sajednom od koordinatnih osi
Prikazivanjekrivulja
Nela Bosner
KonikeDefinicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika u homogenimkoordinatama
Po dijelovima konike
Bézierovekrivulje
B-splajnovi
Slika: (a) Kružnica sa središtem u C; (b) Elipsa sa središtem uishodištu.
Prikazivanjekrivulja
Nela Bosner
KonikeDefinicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika u homogenimkoordinatama
Po dijelovima konike
Bézierovekrivulje
B-splajnovi
Hiperbola
Definicija
Neka su zadane dvije tocke, F1 i F2 koje zovemo fokusima ibroj K 6= 0, tada se hiperbola definira kao
skup svih tocaka ravnine cija je razlika udaljenosti odfokusa jednaka K .U skupovnoj notaciji:
{P = (x , y) : ‖P − F1‖ − ‖P − F2‖ = ±K}.
Ako je K = 0, tada se hiperbola svodi na pravac koji jejednako udaljen od F1 i F2.
Prikazivanjekrivulja
Nela Bosner
KonikeDefinicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika u homogenimkoordinatama
Po dijelovima konike
Bézierovekrivulje
B-splajnovi
Zbog jednostavnosti uzet cemo
F1 = (−c,0), F2 = (c,0), za c > 0.
Prema definiciji je√(x + c)2 + y2 −
√(x − c)2 + y2 = ±K .
Uzastopnim kvadriranjem dva puta dobivamo
4(K 2 − 4c2)x2 + 4K 2y2 = K 2(K 2 − 4c2). (2)
Ovdje se pojavljuju tri slucaja u ovisnosti od K 2 − 4c2.
Prikazivanjekrivulja
Nela Bosner
KonikeDefinicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika u homogenimkoordinatama
Po dijelovima konike
Bézierovekrivulje
B-splajnovi
1 slucaj: K2 > 4c2
buduci da za svaku tocku P na hiperboli vrijedi
2c =‖F1 − F2‖ = ‖F1 − P + P − F2‖≥max{‖F1 − P‖ − ‖F2 − P‖, ‖F2 − P‖ − ‖F1 − P‖} = |K |
rezultat je prazan skup2 slucaj: K = ±2c
jednadžba se svodi na y2 = 0, tj. radi se o pravcu
y = 0.
preciznije: tocke (x ,0) sa −c < x < c nisu ukljucene jer
|‖(x ,0)− (−c,0)‖ − ‖(x ,0)− (c,0)‖| =|(x + c)− (c − x)|=2|x | < 2c = ±K
rezultat je degenerirani oblik
{(x ,0) : x ≤ −c & x ≥ c}
Prikazivanjekrivulja
Nela Bosner
KonikeDefinicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika u homogenimkoordinatama
Po dijelovima konike
Bézierovekrivulje
B-splajnovi
3 slucaj: K2 < 4c2
Jednadžbu (2) sada dijelimo sa K 2(K 2 − 4c2)
4x2
K 2 −4y2
4c2 − K 2 = 1.
Ako definiramo
a =K2, b2 = c2 − a2
tada prethodnu jednadžbu možemo svesti na poznatioblik
x2
a2 −y2
b2 = 1.
Prikazivanjekrivulja
Nela Bosner
KonikeDefinicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika u homogenimkoordinatama
Po dijelovima konike
Bézierovekrivulje
B-splajnovi
Svojstva hiperbole:a2 + b2 = c2, gdje je c udaljenost fokusa od središtatocke (−a,0) i (a,0) su na hiperbolihiperbola je simetricna u odnosu na x oshiperbola je simetricna u odnosu na y osda su fokusi F1 i F2 smješteni na y os, tada bismo dobiliistu jednadžbu kod koje x i y imaju zamijenjene ulogeopcenitiji oblik hiperbole možemo dobiti
translacijom ishodišta u C = (F1 + F2)/2 = (cx , cy )dobivamo jednadžbe
(x − cx )2
a2 −(y − cy )2
b2 = 1 ili(y − cy )2
a2 − (x − cx )2
b2 = 1
rotacijom ako fokusi ne leže na pravcu paralelnom sajednom od koordinatnih osi
Prikazivanjekrivulja
Nela Bosner
KonikeDefinicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika u homogenimkoordinatama
Po dijelovima konike
Bézierovekrivulje
B-splajnovi
Parabola
Definicija
Neka je zadana tocka F koju zovemo fokus i pravac d kojegzovemo direktrisa, tada se parabola definira kao
skup svih tocaka ravnine koje su jednako udaljene od Fi d.U skupovnoj notaciji:
{P = (x , y) : ‖P − F‖ = d(P,d)}.
Zbog jednostavnosti uzet cemo
F = (c,0), x = −c je direktrisa.
Prema definiciji je‖P − F‖ =d(P,d)√
(x − c)2 + y2 =x + c
Prikazivanjekrivulja
Nela Bosner
KonikeDefinicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika u homogenimkoordinatama
Po dijelovima konike
Bézierovekrivulje
B-splajnovi
Kvadriranjem dobivamo
y2 = 4cx .
Svojstva parabole:parabola je simetricna u odnosu na x osda se fokus smjesti na y os i da je direktrisa vodoravanpravac, tada bi dobili istu jednadžbu kod koje x i yimaju zamijenjene ulogeopcenitiji oblik parabole možemo dobiti translacijomishodišta u C = (cx , cy ), cime dobivamo jednadžbe
(y − cy )2 = 4c(x − cx ) ili (x − cx )2 = 4c(y − cy )
gdje je 2c udaljenost od fokusa do direktriserotacijom ako direktrisa nije paralelna sa jednom odkoordinatnih osi
Prikazivanjekrivulja
Nela Bosner
KonikeDefinicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika u homogenimkoordinatama
Po dijelovima konike
Bézierovekrivulje
B-splajnovi
Slika: (a) Hiperbola; (b) Parabola.
Prikazivanjekrivulja
Nela Bosner
KonikeDefinicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika u homogenimkoordinatama
Po dijelovima konike
Bézierovekrivulje
B-splajnovi
NapomenaSvaki nedegenerirani oblik konike može se dobiti iz bilokojeg drugog nedegeneriranog oblika konike pomocuperspektivne projekcije.Npr. kružnica se može projicirati na ravninu iz razlicitihtocaka gledišta, pri cemu se može dobiti elipsa,parabola, ili hiperbola.
Prikazivanjekrivulja
Nela Bosner
KonikeDefinicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika u homogenimkoordinatama
Po dijelovima konike
Bézierovekrivulje
B-splajnovi
Krivulje drugog reda kao konike
Sve konike cije su glavne osi paralelne x i y osimamogu se napisati kao implicitne funkcije drugog reda —krivulje drugog reda.Može se pokazati i obrat: sve krivulje drugog reda suzarotirane konike.Opcenita krivulja drugog reda je oblika
Ax2 + Bxy + Cy2 + Dx + Ey + F = 0
Sve konike cije su glavne osi paralelne x i y osima suoblika
A′x ′2 + C′y ′2 + D′x ′ + E ′y ′ + F ′ = 0
Da li postoji transformacija koordinata iz (x , y) u (x ′, y ′),tako da je za svaku krivulju drugog reda B′ = 0?
Prikazivanjekrivulja
Nela Bosner
KonikeDefinicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika u homogenimkoordinatama
Po dijelovima konike
Bézierovekrivulje
B-splajnovi
Koordinatni sustav x ′-y ′ možemo prikazati kaozarotirani sustav x-y :
x =x ′cosθ − y ′ sin θy =x ′ sin θ + y ′ cos θ
i ovako izražene koordinate ubaciti u originalnujedadžbu krivulje drugog reda.Koeficijent uz x ′y ′ oznacen sa B′ trebamo izjednaciti sa0, kako bismo dobili jednadžbu za kut rotacije θ.
B′ = 0 = B cos 2θ − (A− C) sin 2θ
za B = 0 : θ = 0za B 6= 0
za A = C : cos 2θ = 0⇒ θ = π4
za A 6= C :
θ =12
tan−1(
BA− C
)
Prikazivanjekrivulja
Nela Bosner
KonikeDefinicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika u homogenimkoordinatama
Po dijelovima konike
Bézierovekrivulje
B-splajnovi
Slika: Originalni i zarotirani koordinatni sustavi.
Prikazivanjekrivulja
Nela Bosner
KonikeDefinicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika u homogenimkoordinatama
Po dijelovima konike
Bézierovekrivulje
B-splajnovi
Oblik krivulje se ne mijenja rotiranjem koordinatnogsustava.Jednadžbu
A′x ′2 + C′y ′2 + D′x ′ + E ′y ′ + F ′ = 0
dalje možemo pregrupirati u oblik
A′(
x ′ + D′2A′
)2+ C′
(y ′ + E ′
2C′
)2= −4A′C′F ′−C′D′2−A′E ′2
4A′C′
Ova jednadžba predstavlja koniku, ciji oblik odredujepredznak od A′C′.
Prikazivanjekrivulja
Nela Bosner
KonikeDefinicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika u homogenimkoordinatama
Po dijelovima konike
Bézierovekrivulje
B-splajnovi
A′C′ A′ C′ −4A′C′F ′−C′D′2−A′E ′24A′C′ krivulja> 0 elipsa
> 0 > 0 = 0 tocka> 0 < 0 prazan skup
> 0 prazan skup< 0 < 0 = 0 tocka
< 0 elipsa= 0 = 0 ∗ pravac
= 0 = 0 6= 0 ∗ parabola6= 0 = 0 ∗ parabola
< 0 ∗ ∗ 6= 0 hiperbola= 0 ukriženi pravci
Prikazivanjekrivulja
Nela Bosner
KonikeDefinicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika u homogenimkoordinatama
Po dijelovima konike
Bézierovekrivulje
B-splajnovi
DefinicijaZa jednadžbu drugog reda
Ax2 + Bxy + Cy2 + Dx + Ey + F = 0
velicinaB2 − 4AC
zove se diskriminanta.
TeoremDiskriminanta je invarijantna na rotacije.
Prikazivanjekrivulja
Nela Bosner
KonikeDefinicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika u homogenimkoordinatama
Po dijelovima konike
Bézierovekrivulje
B-splajnovi
TeoremSvaka krivulja drugog reda je konika i
ako je B2 − 4AC
< 0, krivulja je elipsa,= 0, krivulja je parabola,> 0, krivulja je hiperbola.
TeoremImplicitna funkcija f (x , y) = 0 je konika ako i samo ako jepolinom drugog stupnja po x i y.
Prikazivanjekrivulja
Nela Bosner
KonikeDefinicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika u homogenimkoordinatama
Po dijelovima konike
Bézierovekrivulje
B-splajnovi
Lukovi konika kao racionalne funkcije
Zapocet cemo sa implicitnim oblikom krivulje drugogreda
Ax2 + Bxy + Cy2 + Dx + Ey + F = 0
Krivulja drugog reda ima 5 stupnjeva slobode.Želimo naci parametre A, B, C, D, E , i F krivuljedrugog reda koja prolazi kroz pet tocaka Pi = (xi , yi).Promatramo cetiri pravca na slici.
Prikazivanjekrivulja
Nela Bosner
KonikeDefinicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika u homogenimkoordinatama
Po dijelovima konike
Bézierovekrivulje
B-splajnovi
L1 prolazi kroz P1 i P2L2 prolazi kroz P3 i P4L3 prolazi kroz P2 i P3L4 prolazi kroz P4 i P1
Svaka tocka osim P5 leži na dva pravca.Koristit cemo notaciju
Li(x , y) = aix + biy + ci , i Li(Pj) = Li(xj , yj).
Tocka (x , y) je na pravcu ako i samo ako je Li(x , y) = 0.Tada imamo
L1(Pj) =0 za j = 1,2,L2(Pj) =0 za j = 3,4,L3(Pj) =0 za j = 2,3,L4(Pj) =0 za j = 4,1.
Prikazivanjekrivulja
Nela Bosner
KonikeDefinicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika u homogenimkoordinatama
Po dijelovima konike
Bézierovekrivulje
B-splajnovi
Uvodimo notaciju
(LiLj)(x , y) =Li(x , y) · Lj(x , y)
=(aix + biy + ci)(ajx + bjy + cj)
i ona predstavlja jednadžbu drugog reda po x i y .Vrijedi
L1L2(Pj) = L3L4(Pj) = 0, za j = 1,2,3,4.
Obje jednadžbe
(L1L2)(x , y) = 0 i (L3L4)(x , y) = 0
mogu biti jednadžbe krivulja drugog reda koje prolazekroz P1, P2, P3, i P4.
Prikazivanjekrivulja
Nela Bosner
KonikeDefinicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika u homogenimkoordinatama
Po dijelovima konike
Bézierovekrivulje
B-splajnoviSlika: Grafovi krivulja (a) L1L2 = 0; (b) L3L4 = 0.
Ako P5 leži na jednom od tih pravaca, tada je jedna odtih krivulja tražena interpolacijska krivulja drugog reda.
Prikazivanjekrivulja
Nela Bosner
KonikeDefinicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika u homogenimkoordinatama
Po dijelovima konike
Bézierovekrivulje
B-splajnovi
Ako P5 ne leži niti na jednom pravcu Li , i = 1,2,3,4,tada promatramo plohu
z = f (x , y) = L1L2(x , y) + cL3L4(x , y).
To je ploha drugog reda po x i y , a rješenja jednadžbef (x , y) = 0 predstavljaju krivulju koja ukljucuje tocke Pi ,i = 1,2,3,4.Parametar c je preostali stupanj slobode kojeg cemoiskoristiti za dobivanje jedinstvene krivulje.Kolekciju svih mogucih krivulja kroz te cetriri tocke sjednim stupnjem slobode nazivamo pramenom konikakroz Pi , i = 1,2,3,4.Jedinstvenu krivulju iz pramena možemo odreditipomocu tocke P5: f (P5) = 0.
Prikazivanjekrivulja
Nela Bosner
KonikeDefinicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika u homogenimkoordinatama
Po dijelovima konike
Bézierovekrivulje
B-splajnovi
f (P5) = L1L2(P5) + cL3L4(P5) = 0
odakle dobivamo
c = −L1L2(P5)
L3L4(P5).
Ako P5 leži na L1 ili L2, tada je c = 0 i f = L1L2.Ako P5 leži na L3 ili L4, tada je c =∞ i treba bitif = L3L4.Zato je bolje definirati pramen konika za c = λ/(1− λ)kao
f (x , y) = (1− λ)L1L2(x , y) + λL3L4(x , y) = 0.
Prikazivanjekrivulja
Nela Bosner
KonikeDefinicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika u homogenimkoordinatama
Po dijelovima konike
Bézierovekrivulje
B-splajnovi
Sada cemo razmatrati situaciju sa tangentama.
Slika: Rotiranje L3: (a) P2 teži ka P1; (b) P3 teži ka P4.
Prikazivanjekrivulja
Nela Bosner
KonikeDefinicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika u homogenimkoordinatama
Po dijelovima konike
Bézierovekrivulje
B-splajnovi
Pretpostavimo da tocku P2 pomicemo duž L1 prema P1.Time se mijenja krivulja, i kad P2 → P1, L1 postajetangenta na krivulju u tocki P1.Isto tako, pretpostavimo da tocku P3 pomicemo duž L2prema P4.Kad P3 → P4, L2 postaje tangenta na krivulju u tocki P4.Na taj nacin smo definirali pramen konika kroz dvijetocke P1 i P4, sa tangentama L1 u P1 i L2 u P4.U limesu L3 teži ka L4, i jednadžba za f (x , y) sadaizgleda
f (x , y) = L1L2(x , y) + cL23(x , y).
Prikazivanjekrivulja
Nela Bosner
KonikeDefinicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika u homogenimkoordinatama
Po dijelovima konike
Bézierovekrivulje
B-splajnovi Slika: Konacna konfiguracija.
Ako se P5 nalazi unutar trokuta omedenog pravcima L1,L2 i L3, dobivena konika je uvijek neprekidna krivuljakroz tocke P1 i P4, i sa tangentama L1 i L2.Ako se P5 nalazi izvan tog trokuta, dobivena krivulja jehiperbola.
Prikazivanjekrivulja
Nela Bosner
KonikeDefinicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika u homogenimkoordinatama
Po dijelovima konike
Bézierovekrivulje
B-splajnovi
Preformuliramo problem: interpolacija tocaka P1 i P2, ipoklapanje tangenata u njima sa L1 i L2.Neka je T tocka sjecišta pravaca L1 i L2 (L1 6= L2).Vektori (P1 − T ) i (P2 − T ) razapinju R2, jer P1, T i P2ne mogu biti kolinearni.Uvodimo novi parametarski koordinatni sustav u R2:
(u, v) = T + u(P1 − T ) + v(P2 − T ).
Konverzija u x-y koordinatni sustav svodi se na(x , y) = (Tx+u(P1,x−Tx)+v(P2,x−Tx),Ty+u(P1,y−Ty )+v(P2,y−Ty )).
U u-v koordinatnom sustavu su P1 = (1,0) iP2 = (0,1), i vrijedi
L1(u, v) = v {(u, v) : v = 0} je pravac L1
L2(u, v) = u {(u, v) : u = 0} je pravac L2
L3(u, v) = u + v − 1 {(u, v) : v = 1− u} je pravac L3
Prikazivanjekrivulja
Nela Bosner
KonikeDefinicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika u homogenimkoordinatama
Po dijelovima konike
Bézierovekrivulje
B-splajnovi
Parametarski oblici pravaca su
L1 : T + u(P1 − T ) = (1− u)T + uP1
L2 : T + v(P2 − T ) = (1− v)T + vP2
L3 : T + u(P1 − T ) + (1− u)(P2 − T ) = uP1 + (1− u)P2
Za proizvoljnu tocku Pc razmotrimo njenu tangentu, ioznacimo njena sjecišta sa L1 i L2 kao A1 i A2.
Slika: Koordinatni sustav u-v .
Prikazivanjekrivulja
Nela Bosner
KonikeDefinicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika u homogenimkoordinatama
Po dijelovima konike
Bézierovekrivulje
B-splajnovi
Razmotrimo implicitnu jednadžbu
L1(u, v)L2(u, v) + cL23(u, v) = 0
uv + c(u + v − 1)2 = 0
za jednoparametarsku familiju konika koje interpolirajutocke P1 i P2, i u njima imaju tangente L1 i L2.Želimo naci racionalnu parametarsku jednadžbu za diokrivulje koji leži unutar trokuta omedenog pravcima L1,L2 i L3.Buduci da se taj dio mora nalaziti u 1. kvadrantu u-vkoordinatnog sustava, parametar c mora zadovoljavatisljedece uvjete:
u ≥ 0 i v ≥ 0⇒ uv ≥ 0(u + v − 1)2 ≥ 0mora biti c ≤ 0
Prikazivanjekrivulja
Nela Bosner
KonikeDefinicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika u homogenimkoordinatama
Po dijelovima konike
Bézierovekrivulje
B-splajnovi
Za 0 ≤ λ ≤ 1 definiramo
c = − λ
1− λ≤ 0,
i imamo
C(u, v) = (1− λ)uv − λ(u + v − 1)2 = 0.
Za 0 ≤ λ ≤ 1 i u ≥ 0, v ≥ 0, u + v ≤ 1 tocke (u, v) nakrivulji ce se nalaziti unutar trokuta omedenog pravcimaL1, L2 i L3.Jednadžba tangente na C(u, v) u tocci Pc je
∂C∂u
(uc , vc)(u − uc) +∂C∂v
(uc , vc)(v − vc) = 0.
pri cemu su∂C∂u (uc , vc) =(1− λ)vc − 2λ(uc + vc − 1)
∂C∂v (uc , vc) =(1− λ)uc − 2λ(uc + vc − 1)
Prikazivanjekrivulja
Nela Bosner
KonikeDefinicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika u homogenimkoordinatama
Po dijelovima konike
Bézierovekrivulje
B-splajnovi
Dakle, jednadžba tangente je[(1−λ)vc−2λ(uc +vc−1)](u−uc)+[(1−λ)uc−2λ(uc +vc−1)](v−vc) = 0.
Sada racunamo sjecište A1 tangente i pravca L1, takoda u jednadžbu tangente stavimo v = 0.
u1 = [(1−λ)vc−2λ(uc+vc−1)]uc+[(1−λ)uc−2λ(uc+vc−1)]vc(1−λ)vc−2λ(uc+vc−1)
=−2λ(uc + vc − 1)
(1− λ)vc − 2λ(uc + vc − 1)
iA1 =
(−2λ(uc + vc − 1)
(1− λ)vc − 2λ(uc + vc − 1),0).
Buduci da za (uc , vc) mora vrijediti uc ≥ 0, vc ≥ 0, iuc + vc ≤ 1 jer zadovoljavaju jednadžbu C(u, v) = 0,vrijedi
0 ≤ u1 ≤ 1,
pa A1 leži izmedu T i P1.
Prikazivanjekrivulja
Nela Bosner
KonikeDefinicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika u homogenimkoordinatama
Po dijelovima konike
Bézierovekrivulje
B-splajnovi
Analogno, racunamo sjecište A2 tangente i pravca L2,tako da u jednadžbu tangente stavimo u = 0.Dobivamo
A2 =
(0,
−2λ(uc + vc − 1)
(1− λ)uc − 2λ(uc + vc − 1)
),
i vrijedi0 ≤ v2 ≤ 1,
pa A2 leži izmedu T i P2.Sada razmatramo r1 = ‖A1 − T‖/‖P1 − A1‖, i imamo
r1 =u1
1− u1
=−2λ(uc + vc − 1)
(1− λ)vc
Prikazivanjekrivulja
Nela Bosner
KonikeDefinicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika u homogenimkoordinatama
Po dijelovima konike
Bézierovekrivulje
B-splajnovi
a za r2 = ‖A2 − T‖/‖P2 − A2‖, i imamo
r2 =v2
1− v2
=−2λ(uc + vc − 1)
(1− λ)uc
Buduci da jeC(uc , vc) = (1− λ)ucvc − λ(uc + vc − 1)2 = 0, daljeprimijecujemo da je
r1r2 =4λ2(uc + vc − 1)2
(1− λ)2ucvc
=4λ
1− λ
Dokazali smo sljedeci teorem.
Prikazivanjekrivulja
Nela Bosner
KonikeDefinicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika u homogenimkoordinatama
Po dijelovima konike
Bézierovekrivulje
B-splajnovi
TeoremAko su P1, T , P2, A1 i A2 definirani na prethodno opisaninacin, tada je produkt omjera
‖A1 − T‖‖P1 − A1‖
‖A2 − T‖‖P2 − A2‖
konstantan za cijelu koniku.
Sada cemo ici u obrnutom smjeru: neka su nam zadaniomjeri r1 i r2, trebamo odrediti tocke (uc , vc) na konici.Iz jednadžbi za r1 i r2 imamo
r1(1− λ)vc =− 2λ(uc + vc − 1)
r2(1− λ)uc =− 2λ(uc + vc − 1)
Prikazivanjekrivulja
Nela Bosner
KonikeDefinicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika u homogenimkoordinatama
Po dijelovima konike
Bézierovekrivulje
B-splajnovi
Sredivanjem, dobivamo sustav linearnih jednadžbi pouc i vc
2λ =2λuc + [r1(1− λ) + 2λ]vc
2λ =[r2(1− λ) + 2λ]uc + 2λvc
cija rješenja glase
uc =r1
r1 + r2 + 2, vc =
r2
r1 + r2 + 2
Ako se vratimo na x-y koordinatni sustav, tada sesvaka tocka Pc na konici γ može napisati kao
Pc =T + uc(P1 − T ) + vc(P2 − T )
=r1P1 + 2T + r2P2
r1 + r2 + 2
Prikazivanjekrivulja
Nela Bosner
KonikeDefinicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika u homogenimkoordinatama
Po dijelovima konike
Bézierovekrivulje
B-splajnovi
Sada želimo napisati r1 i r2 kao razlicite parametarskefunkcije jedne varijable t , na intervalu 〈a,b〉:
r1 = f1(t), r2 = f2(t), za t ∈ 〈a,b〉.
O svojstvima funkcija f1 i f2 možemo zakljuciti sljedece:one preslikavaju 〈a,b〉 na 〈0,∞〉f1(t)f2(t) = 4λ
1−λ za svaki tone bi trebale biti bijekcijeznaci da bi trebale biti monitone funkcije: jedna raste adruga pada
Prema gornjim svojstvima zakljucujemo da su najboljikandidati funkcije oblika
f1(t) =w1(b − t)w(t − a)
, f2(t) =w2(t − a)
w(b − t)
Prikazivanjekrivulja
Nela Bosner
KonikeDefinicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika u homogenimkoordinatama
Po dijelovima konike
Bézierovekrivulje
B-splajnovi
Tada je
K = 4λ1−λ = f1(t)f2(t)
=w1(b − t)w(t − a)
w2(t − a)
w(b − t)
=w1w2
w2
Konacno možemo napisati jedadžbu za krivulju γ u ovojnotaciji kao
γ(t) =
w1(b−t)w(t−a) P1 + 2T + w2(t−a)
w(b−t) P2
w1(b−t)w(t−a) + w2(t−a)
w(b−t) + 2
=w1(b − t)2P1 + 2w(t − a)(b − t)T + w2(t − a)2P2
w1(b − t)2 + 2w(t − a)(b − t) + w2(t − a)2
Odavde vidimo da se svaka konika može napisati kaokvadratna racionalna parametarska funkcija.
Prikazivanjekrivulja
Nela Bosner
KonikeDefinicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika u homogenimkoordinatama
Po dijelovima konike
Bézierovekrivulje
B-splajnovi
Primjer
Neka su dane tocke P1, T i P2, i neka je zadana konstantaK > 0. Želimo naci racionalni parametarski oblik γ(t) za lukkonike definiran na [0,1], gdje su
γ(0) = P1, γ(1) = P2
smjer od γ′(0) je jednak smjeru (T − P1)
smjer od γ′(1) je jednak smjeru (P2 − T )
K = 4λ1−λ
Uobicajeno rješenje za ovaj problem jew1 = w2 = 1w = (
√K )−1
odakle slijedi
Prikazivanjekrivulja
Nela Bosner
KonikeDefinicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika u homogenimkoordinatama
Po dijelovima konike
Bézierovekrivulje
B-splajnovi
Primjer (nastavak)
γ(t) =(1− t)2P1 + 2(
√K )−1t(1− t)T + t2P2
(1− t)2 + 2(√
K )−1t(1− t) + t2
Ovaj oblik rješenja može biti numericki nestabilan zavrlo male i vrlo velike konstante K .Buduci da je λ ∈ 〈0,1〉 omjer w1w2/w2 mora bitipozitivan.Ako je w < 0 omjer se ne mijenja, ali γ(t) dajejednadžbu djela konike izvan trokuta 4P1TP2.Isto se dogada ako su w1 < 0 i w2 < 0.Može se pokazati da je krivulja za K > 1 jednaka elipsi,za K = 1 jednaka paraboli, a za K < 1 jednakahiperboli.
Prikazivanjekrivulja
Nela Bosner
KonikeDefinicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika u homogenimkoordinatama
Po dijelovima konike
Bézierovekrivulje
B-splajnovi
Slika: (a) Racionalni luk unutar trokuta; (b) Racionalni luk izvantrokuta.
Prikazivanjekrivulja
Nela Bosner
KonikeDefinicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika u homogenimkoordinatama
Po dijelovima konike
Bézierovekrivulje
B-splajnovi
Reprezentacija konika u homogenimkoordinatama
Ako definiramo
θ1(t) = (b−t)2, θ(t) = 2(t−a)(b−t), θ2(t) = (t−a)2
tada racionalni parametarski oblik konike možemonapisati kao
γ(t) =w1P1θ1(t) + wTθ(t) + w2P2θ2(t)
w1θ1(t) + wθ(t) + w2θ2(t)
što u homogenim koordinatama ima oblik
γ(t) = (w1P1,w1)θ1(t) + (wT ,w)θ(t) + (w2P2,w2)θ2(t)
Buduci da je za K > 0, K = w1w2/w2 funkcije
γ1(t) =(P1, 1)θ1(t) +((√
K )−1T , (√
K )−1)θ(t) + (P2, 1)θ2(t)
γ2(t) =(KP1,K )θ1(t) + (T , 1)θ(t) + (P2, 1)θ2(t)
γ3(t) =(2P1, 2)θ1(t) + (2T , 2)θ(t) + (2KP2, 2K )θ2(t)
predstavljaju istu krivulju.
Prikazivanjekrivulja
Nela Bosner
KonikeDefinicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika u homogenimkoordinatama
Po dijelovima konike
Bézierovekrivulje
B-splajnovi
Za dobivanje konstruktivnog algoritma za racunanjetocaka na konikama potrebne su nam homogenekoordinate.Pretpostavimo da nam je zadana uredena trojka tocaka{P0, P1, P2}, i odgovarajucih koeficijentata {w0, w1, w2}.Tada je luk konike γ(t), koji je definiran na [a,b] pricemu su
γ(a) = P0, γ(b) = P2smjer od γ′(a) je jednak smjeru (P1 − P0)smjer od γ′(b) je jednak smjeru (P2 − P1)K = 4λ
1−λ
zadan kao γ(t) = B(t)/N(t), gdje su
B(t) =(b − t)2w0P0 + 2(t − a)(b − t)w1P1 + (t − a)2w2P2
N(t) =(b − t)2w0 + 2(t − a)(b − t)w1 + (t − a)2w2
Prikazivanjekrivulja
Nela Bosner
KonikeDefinicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika u homogenimkoordinatama
Po dijelovima konike
Bézierovekrivulje
B-splajnovi
Definiramo nove velicine kao
Qi = wiPi .
Tada je
B(t) =(b − t)[(b − t)Q0 + (t − a)Q1]+
+ (t − a)[(b − t)Q1 + (t − a)Q2]
=(b − t)Q[1]1 (t) + (t − a)Q[1]
2 (t)
gdje su
Q[1]1 (t) =(b − t)Q0 + (t − a)Q1
Q[1]2 (t) =(b − t)Q1 + (t − a)Q2
i
Prikazivanjekrivulja
Nela Bosner
KonikeDefinicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika u homogenimkoordinatama
Po dijelovima konike
Bézierovekrivulje
B-splajnovi
N(t) =(b − t)[(b − t)w0 + (t − a)w1]+
+ (t − a)[(b − t)w1 + (t − a)w2]
=(b − t)w [1]1 (t) + (t − a)w [1]
2 (t)
gdje su
w [1]1 (t) =(b − t)w0 + (t − a)w1
w [1]2 (t) =(b − t)w1 + (t − a)w2
Prethodne dvije jednadžbe mogu se sabiti u jednupomocu homgenih koordinata
Hi = (Qi ,wi), i = 0,1,2.
Prikazivanjekrivulja
Nela Bosner
KonikeDefinicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika u homogenimkoordinatama
Po dijelovima konike
Bézierovekrivulje
B-splajnovi
Tada je za i = 1,2
H [1]i (t) =(b − t)Hi−1 + (t − a)Hi
=((b − t)Qi−1, (b − t)wi−1) + ((t − a)Qi , (t − a)wi)
=(
Q[1]i (t),w [1]
i (t))
i
(B(t),N(t)) =(
(b − t)Q[1]i (t), (b − t)w [1]
i (t))
+
+(
(t − a)Q[1]2 (t), (t − a)w [1]
2 (t))
=(b − t)H [1]1 (t) + (t − a)H [1]
2 (t)
Prikazivanjekrivulja
Nela Bosner
KonikeDefinicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika u homogenimkoordinatama
Po dijelovima konike
Bézierovekrivulje
B-splajnovi
Algoritam (Algoritam za izvrednjavanje tocaka na lukukonike)
Neka je zadano sljedecetocke { P0, P1, P2},odgovarajuce težine { w0, w1, w2},takve da je w0w2/w2
1 = K ,tada se
konika kroz tocku P0 s tangentom P1 − P0, ikroz tocku P2 s tangentom P2 − P1
takva da je K = 4λ/(1− λ)
može izvredniti za t ∈ [a,b] na sljedeci nacin:
Prikazivanjekrivulja
Nela Bosner
KonikeDefinicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika u homogenimkoordinatama
Po dijelovima konike
Bézierovekrivulje
B-splajnovi
Algoritam (nastavak)1 Hi = (wiPi ,wi), za i = 0,1,2.2 H [1]
i (t) = (b − t)Hi−1 + (t − a)Hi , za i = 1,2.
3 (B(t),N(t)) = (b − t)H [1]1 (t) + (t − a)H [1]
2 (t).4 γ(t) = B(t)/N(t).
Prikazivanjekrivulja
Nela Bosner
KonikeDefinicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika u homogenimkoordinatama
Po dijelovima konike
Bézierovekrivulje
B-splajnovi
Po dijelovima konike
Proširit cemo formulaciju konika kao racionalnihfunkcija na po dijelovima konike.Pretpostavimo
da krivulja treba interpolirati tocke Pi , za i = 0,1, . . . ,m,da su sjecišta tangenata u Pi−1 i u Pi dana sa Ti , zai = 1, . . . ,m,da su zadane konstante Ki , za i = 1, . . . ,m.
Tada krivulju koja je po dijelovima konika možemodefinirati sa:
γ1(t) =(1− t)2P0 + 2(
√K1)−1t(1− t)T1 + t2P1
(1− t)2 + 2(√
K1)−1t(1− t) + t2za t ∈ [0, 1]
γ2(t) =(2− t)2P1 + 2(
√K2)−1(t − 1)(2− t)T2 + (t − 1)2P2
(2− t)2 + 2(√
K2)−1(t − 1)(2− t) + (t − 1)2za t ∈ [1, 2]
.
.
.
γm(t) =(m − t)2Pm−1 + 2(
√Km)−1(t − m + 1)(m − t)Tm + (t − m + 1)2Pm
(m − t)2 + 2(√
Km)−1(t − m + 1)(m − t) + (t − m + 1)2za t ∈ [m − 1,m]
Prikazivanjekrivulja
Nela Bosner
KonikeDefinicije
Krivulje drugog redakao konike
Lukovi konika kaoracionalne funkcije
Reprezentacijakonika u homogenimkoordinatama
Po dijelovima konike
Bézierovekrivulje
B-splajnovi
Ako su Ti , Pi i Ti+1 kolinearni, tada se na spoju dvajukonika tangente poklapaju i na dva susjedna segmentaimamo neprekidnu derivaciju.Opcenito po dijelovima konika može imati skok uderivaciji na spoju segmenata.Za parametarski oblik jednadžbe konike potrebno je dasu Pi−1, Ti i Pi komplanarni, što je automatskiispunjeno.Medutim po dijelovima konika ne mora biti ravninskakrivulja — svaki segment može biti u drugoj ravnini.
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
Bézierove krivulje
Konike su bile odredene pomocu tri tocke P0, P1 i P2,odnosno poligonom koje te tri tocke definiraju (trokut).Razmotrimo prvo korisna svojstva geometrijskogpristupa konikama:
1 krivulja interpolira prvu i zadnju tocku2 krivulja je tangentna na dvije strane poligona3 racionalni parametarski oblik jednadžbe konike koristi te
tri tocke kao koeficijente — lako za racunati
Prisjetit cemo se sada kako izgleda algoritam zaizvrednjavanje tocaka na luku konike u racionalnomparametarskom obliku kada je K = 1 (parabola).
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
Primjer
Za slucaj kada je K = 1, uzet cemo da je t ∈ [0,1] iω0 = ω1 = ω2 = 1.Tada su
r1 =1− t
t, r2 =
t1− t
.
Racionalni parametarski oblik jednadžbe konike tadaglasi
γ(t) =(1− t)2P0 + 2t(1− t)P1 + t2P2
(1− t)2 + 2t(1− t) + t2
=(1− t)2P0 + 2t(1− t)P1 + t2P2
=(1− t)[(1− t)P0 + tP1] + t [(1− t)P1 + tP2]
Sada više nisu potrebne homogene koordinate zadobivanje jednostavnog algoritma.
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
Algoritam (Algoritam za izvrednjavanje tocaka na lukuparabole)Neka su zadane
tocke { P0, P1, P2},tada se
parabola kroz tocku P0 s tangentom P1 − P0, ikroz tocku P2 s tangentom P2 − P1
može izvredniti za t ∈ [0,1] na sljedeci nacin:1 P [1]
i (t) = (1− t)Pi−1 + tPi , za i = 1,2.
2 γ(t) = (1− t)P [1]1 (t) + tP [1]
2 (t).
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
Ovaj algoritam želimo poopciti na krivulje koje suodredene pomocu n + 1 tocaka za proizvoljni n.Razmotrit cemo koja se od gornja tri svojstvageometrijskog pristupa konikama mogu zadržati i kodkrivulja dobivenih poopcenim algoritmom.Koja se još ostala svojstva oblika takvih krivulja moguodrediti.To nas vodi do formulacije Bézierove krivulje.Najprije cemo definirati konstruktivni algoritam za takvekrivulje, a zatim cemo provjeriti njihova svojstva.
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
Zadan je skup od n + 1 tocaka u R3 {Pi}ni=0 kojiodreduje krivulju.Bez smanjenja opcenitosti definirat cemo parametarskioblik jednadžbe krivulje na segmentu [0,1].Po dijelovima linearna krivulja dobivena ljepljenjemsegmenata pravaca izmedju tocaka Pi i Pi+1 zai = 0,1, . . . ,n − 1 zove se kontrolni poligon krivulje.Sada možemo poopciti konstruktivni algoritam nakontrolne poligone sa proizvoljnim brojem vrhova.
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
Algoritam (Poopceni konstruktivni algoritam)Neka su zadane
tocke {Pi}ni=0,tada se krivulja γ(t) može izvredniti za t ∈ [0,1] na sljedecinacin:
1 P [0]i (t) = Pi za i = 0, . . . ,n.
2 Za j = 1, . . .n rekurzivno definiramo
P [j]i (t) = (1− t)P [j−1]
i−1 (t) + tP [j−1]i (t), za i = j , . . . ,n.
3 γ(t) = P [n]n (t).
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
Originalne tocke {Pi}ni=0 cine kontrolni poligon na 0-tojrazini.Za proizvoljni t i za svaku razinu j = 1, . . .n algoritamdefinira novi kontrolni poligon sa jednim vrhom manje uodnosu na prethodnu razinu.Kontrolni poligon na n-toj razini se sastoji od samojedne tocke, i to je upravo tocka γ(t) na krivulji.Tocka na krivulji se jednostavno izracuna kao linearnakombinacija vrhova poligona koji imaju u svakomkoraku jednu stranicu manje.Slijedi primjer za n = 4, i za dvije razlicite vrijednosti t .Trebamo primijetiti da se nizovi kontrolnih poligonarazlikuju za razlicite t-ovi na svim razinama osim 0-te.
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
Slika: Originalni kontrolni poligon na razini j = 0 (#vrhova= 5),krivulja, i tocka na krivulji za (a) t = 0.25; (b) t = 0.625.
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
Slika: Kontrolni poligon na razini j = 1 (#vrhova= 4) za(a) t = 0.25; (b) t = 0.625.
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
Slika: Kontrolni poligon na razini j = 2 (#vrhova= 3) za(a) t = 0.25; (b) t = 0.625.
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
Slika: Kontrolni poligon na razini j = 3 (#vrhova= 2) za(a) t = 0.25; (b) t = 0.625.
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
Slika: Kontrolni poligon na razini j = 4 (#vrhova= 1) za(a) t = 0.25; (b) t = 0.625.
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
Svojstva krivulje γ(t):Za svaki t , na svakoj razini kontrolne tocke (vrhovipoligona) su konveksne kombinacije vrhova kontrolnihtocaka iz prethodne razine; zbog toga je izracunatatocka na krivulji konveksna kombinacija originalnihkontrolnih tocaka.Za t = 0 i t = 1 algoritam se svodi na γ(0) = P0 iγ(1) = Pn, tako da krivulja γ interpolira prvu i zadnjutocku.Krivulja “izgleda” da je tangentna na stranicu poligonaP1 − P0 za t = 0, i na stranicu Pn − Pn−1 za t = 1 —moramo dokazati!Krivulja ima svojstvo smanjene varijacije (variationdeminishing property), što znaci da krivulja ne variraviše nego njen originalni kontrolni poligon — iskazatiteorem!
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
Izgleda da krivulja u glavnom prati oblik originalnogkontrolnog poligona.Ponašanje krivulje se lako kontrolira: ako se pomaknetocka Pk modificirana krivulja se lako izracuna.
Razmotrit cemo još i derivaciju krivulje.Za j = 1, . . . ,n − 1 i i = j , . . . ,n imamo
ddt
P [j]i (t) =
ddt
((1− t)P [j−1]
i−1 (t) + tP [j−1]i (t)
)=P [j−1]
i (t)− P [j−1]i−1 (t) + (1− t)
ddt
P [j−1]i−1 (t)+
+ tddt
P [j−1]i (t)
pa se i derivacija može rekurzivno izracunati.
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
LemaDerivacija krivulje γ konstruirane poopcenim konstruktivnimalgoritmom je dana sa
γ′(t) = n(
P [n−1]n (t)− P [n−1]
n−1 (t)).
Dokaz.Koristit cemo matematicku indukciju kako bismodokazali da je
ddt
P [j]i (t) = j
(P [j−1]
i (t)− P [j−1]i−1 (t)
), i = j , . . . ,n.
Buduci da je P [0]i (t) = Pi , vrijedi
ddt
P [0]i (t) = 0
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
Dokaz (nastavak).
ddt
P [1]i (t) = Pi − Pi−1
cime je dokazana baza indukcije.Pretpostavimo da je tvrdnja leme istinita za
ddt
P [j−1]i (t) = (j − 1)
(P [j−2]
i (t)− P [j−2]i−1 (t)
), i=j−1,...,n
Tada imamo
ddt
P [j]i (t) =P [j−1]
i (t)− P [j−1]i−1 (t)+
+ (1− t)(j − 1)(
P [j−2]i−1 (t)− P [j−2]
i−2 (t))
+ t(j − 1)(
P [j−2]i (t)− P [j−2]
i−1 (t))
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
Dokaz (nastavak).
ddt
P [j]i (t) =P [j−1]
i (t)− P [j−1]i−1 (t)+
+ (j − 1)(
P [j−1]i (t)− P [j−1]
i−1 (t))
=j(
P [j−1]i (t)− P [j−1]
i−1 (t))
Tvrdnja je dokazana ako uzmemo j = n.
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
Svojstva Bézierovih krivulja
Želimo krivulju konstruiranu poopcenim konstruktivnimalgoritmom napisati u obliku
γ(t) =n∑
i=0
Piθi,n(t),
pri cemu funkcije miješanja (blending functions) θi,n(t)ne ovise o tockama Pi .Prvo cemo razmotriti graf (stablo) izvrednjavanja tockena krivulji.Sve originalne tocke kontrolnog poligona su prikazanekao listovi na dnu stabla.Strelice pokazuju koje se tocke iz prethodne razinekoriste za racunanje tekuce tocke, zajedno sa svojimmultiplikatorima.Proces se nastavlja dok ne dodemo do korijena kojipredstavlja tocku na krivulji.
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
Slika: Stablo konstruktivnog izvrednjavanja krivulje.
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
Iz grafa možemo zakljuciti sljedece:Potraga za funkcijama θi,n(t) je ekvivalentna potrazi zasvim mogucim putevima od Pi do korijena, i množenjuodgovarajucih multiplikatora.Od P0 do korijena vodi samo jedan put P [i−1]
i−1 → P [i]i ,
i = 1, . . . ,n gdje svaki korak ima multiplikator (1− t),zato
uz P0 stoji samo jedan izraz: (1− t)n.Razmotrimo jedan put od P1 do korijena zak ∈ {1,2, . . . ,n}:
P [i−1]i → P [i]
i+1, i = 1, . . . , k s multiplikatorima (1− t) usvakom korakuP [k ]
k+1 → P [k+1]k+1 s multiplikatorom t
P [i−1]i−1 → P [i]
i , i = k + 2, . . . ,n s multiplikatorima (1− t) usvakom koraku
Taj put daje doprinos od (1− t)n−1t u θ1,n(t).
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
Postoji n razlicitih puteva (n mjesta na kojem put možeskrenuti u lijevo: P [k ]
k+1 → P [k+1]k+1 ).
Zato kad iskombiniramo sve moguce puteve od P1
uz P1 stoji izraz: n(1− t)n−1t .Konstruktivni postupak možemo nastaviti dalje za Pi ,i = 2, . . . ,n.Za i = 0, . . . ,n, definirat cemo sada
θi,n(t) =
(ni
)(1− t)n−i t i , gdje je
(ni
)=
n!
i!(n − i)!,
a zatim cemo pokazati da su to zaista funkcijemiješanja koje definiraju konstruiranu krivulju.Prije toga cemo pokazati neka svojstva funkcijamiješanja.
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
Teorem
θk ,n(t) =
1, za n = 0(1− t)θ0,n−1(t), za k = 0, n > 0tθk−1,n−1(t) + (1− t)θk ,n−1(t), za 0 < k < ntθn−1,n−1(t), za k = n > 0
Dokaz.n = 0Jer je 0! = 1, i buduci da može biti samo k = 0, imamo
θ0,0(t) =
(00
)(1− t)0t0 = 1.
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
Dokaz (nastavak).k = 0, n > 0Buduci da je
(n0
)= 1, imamo
θ0,n(t) =
(n0
)(1− t)n−0t0 = (1− t)n = (1− t) · (1− t)n−1
=(1− t)θ0,n−1.
0 < k < nIz definicije
(nk
)imamo(
nk
)=
nk
(n − 1)!
(k − 1)! ((n − 1)− (k − 1))!
=n
n − k(n − 1)!
k ! ((n − 1)− k)!
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
Dokaz (nastavak).Odavde za dalje slijedi
θk ,n(t) =
(nk
)tk (1− t)n−k
=nk
(n − 1)!
(k − 1)! ((n − 1)− (k − 1))!tk (1− t)n−k
=nk
t(n − 1)!
(k − 1)! ((n − 1)− (k − 1))!tk−1(1− t)(n−1)−(k−1)
=nk
tθk−1,n−1(t)
odakle jeknθk ,n(t) = tθk−1,n−1(t).
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
Dokaz (nastavak).
Slicno
θk ,n(t) =
(nk
)tk (1− t)n−k
=n
n − k(n − 1)!
k ! ((n − 1)!− k)!tk (1− t)n−k
=n
n − k(1− t)
(n − 1)!
k ! ((n − 1)!− k)!tk (1− t)((n−1)−k)
=n
n − k(1− t)θk ,n−1(t)
odakle je
n − kn
θk ,n(t) = (1− t)θk ,n−1(t).
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
Dokaz (nastavak).Kada zbrojimo dva zadnja rezultata dobijemo
θk ,n =knθk ,n(t) +
n − kn
θk ,n(t)
=tθk−1,n−1(t) + (1− t)θk ,n−1(t).
k = n > 0Buduci da je
(nn
)= 1, imamo
θn,n(t) =
(nn
)(1− t)n−ntn = tn = t · tn−1
=tθn−1,n−1.
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
TeoremAko je sa {Pi}ni=0 zadan kontrolni polinom, tada je
γ(t) =n∑
i=0
Pi
(ni
)(1− t)n−i t i ,
gdje γ(t) oznacava tocku na krivulji koja je konstruiranapoopcenim konstruktivnim algoritmom za parametarskuvrijednost t.
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
Dokaz.Desnu stranu jednadžbe u teoremu oznacimo sa α(t):
α(t) =n∑
i=0
Piθi,n(t).
Koristeci prethodni teorem dobivamo
α(t) =P0θ0,n(t) +n−1∑i=1
Piθi,n(t) + Pnθn,n(t)
=P0(1− t)θ0,n−1(t)+
+n−1∑i=1
Pi(tθi−1,n−1(t) + (1− t)θi,n−1(t))+
+ Pntθn−1,n−1(t).
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
Dokaz (nastavak).
Sada cemo grupirati izraze sa t i sa (1− t), i iskoristitikonstruktivni algoritam:
α(t) =(1− t)n−1∑i=0
Piθi,n−1(t) + tn∑
i=1
Piθi−1,n−1(t)
=(1− t)n−1∑i=0
Piθi,n−1(t) + tn−1∑i=0
Pi+1θi,n−1(t)
=n−1∑i=0
[(1− t)Pi + tPi+1]θi,n−1(t)
=n−1∑i=0
P [1]i+1θi,n−1(t).
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
Dokaz (nastavak).Ponavljanjem istog procesa dobivamo
α(t) =
n−j∑i=0
P [j]i+jθi,n−j(t).
Nakon n primjena gornjeg procesa, rezultat je
α(t) = P [n]n θ0,0(t) = P [n]
n = γ(t).
Dobili smo traženi oblik jednadžbe krivulje.
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
Definicija
Krivulja konstruirana poopcenim konstruktivnimalgoritmom, ciji je parametarski oblik jedadžbe oblika
γ(t) =n∑
i=0
Pi
(ni
)(1− t)n−i t i ,
zove se Bézierova krivulja.Poopceni konstruktivni algoritam zove se Bézierovkonstruktivni algoritam ili de Casteljauov algoritam.
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
DefinicijaFunkcije
θi,n(t) =
(ni
)(1− t)n−i t i ,
za i = 0, . . . ,n, i za nenegativni cijeli broj n zovu seBernsteinove bazne funkcije ili Bernsteinove funkcijemiješanja.
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
Definicija
Za t ∈ [a,b], funkcije
θi,n(a,b; t) =θi,n
(t − ab − a
)=
(ni
)(b − t)n−i(t − a)i
(b − a)n ,
za i = 0, . . . ,n, i za nenegativni cijeli broj n zovu seBernsteinove generalizirane bazne funkcije ili Bernsteinovegeneralizirane funkcije miješanja.
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
Vidimo da se Bernsteinove generalizirane baznefunkcije mogu dobiti iz Bernsteinovih baznih funkcijaafinom transformacijom segmenta [a,b] u segment[0,1].Lako se vidi da je
θ′i,n(a,b; t) =1
b − aθ′i,n
(t − ab − a
).
Preostaje nam još pokazati da Bernsteinove funkcijemiješanja zaista tvore bazu prostora polinoma stupnjan.
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
Svojstva Bernsteinovih funkcija miješanja
Teoremθi,n(t) > 0 za t ∈ 〈0,1〉, za sve n ≥ 0 i i = 0, . . . ,n.
Dokaz.Za t ∈ 〈0,1〉, je t > 0 i (1− t) > 0.θi,n(t) je produkt n pozitivnih faktora, pa mora bitipozitivan.
Teorem∑ni=0 θi,n(t) ≡ 1 za t ∈ [0,1].
Dokaz.Tvrdnja slijedi iz binomnog teorema:
n∑i=0
θi,n(t) =n∑
i=0
(ni
)(1− t)n−i t i = ((1− t) + t)n = 1n = 1.
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
TeoremBernsteinove funkcije miješanja su unimodalne.θi,n(t) poprima svoj maksimum u t = i/n.
Dokaz.Buduci da je θi,n(t) polinom za sve i i n, ima neprekidnuderivaciju.θ0,n = (1− t)n je padajuca funkcija na [0,1], papoprima maksimum u t = 0.θn,n = tn je rastuca funkcija na [0,1], pa poprimamaksimum u t = 1.Za i = 1, . . . ,n − 1, θi,n(t) ima neprekidnu derivaciju pamože poprimati svoj ekstrem u t = 0, t = 1 i u nultockiod θ′i,n(t).
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
Dokaz (nastavak).
Tražimo nultocke od θ′i,n(t) na 〈0,1〉:
θ′i,n(t) =
(ni
)[it i−1(1− t)n−i − (n − i)t i(1− t)n−i−1]
=
(ni
)t i−1(1− t)n−i−1[i(1− t)− (n − i)t ]
=
(ni
)t i−1(1− t)n−i−1[i − nt ].
Rješavanjem θ′i,n(t) = 0 dobivamo
te = 0 ili te = 1 ili te =in.
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
Dokaz (nastavak).
Buduci da je θi,n(0) = θi,n(1) = 0 za i = 1, . . . ,n − 1, iθi,n(t) > 0 za t ∈ 〈0,1〉, tada postoji samo jedanmaksimum i to u te = i/n.
Primjer
Pogledat cemo vrijednosti kubicnih Bernsteinovih funkcijamiješanja u razlictim tockama maksimuma.
Za t = 0: θ0,3(0) = 1 i θi,3(0) = 0 i = 1,2,3.Za t = 1: θ3,3(1) = 1 i θi,3(1) = 0 i = 0,1,2.Za t = 1/3:
θ0,3(1/3) =8/27θ1,3(1/3) =4/9
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
Primjer (nastavak)
θ2,3(1/3) =2/9θ3,3(1/3) =1/27
Za t = 2/3:
θ0,3(2/3) =1/27θ1,3(2/3) =2/9θ2,3(2/3) =4/9θ3,3(2/3) =8/27
P1 imat ce najveci utjecaj na γ(t) za t = 1/3.P2 imat ce najveci utjecaj na γ(t) za t = 2/3.U oba slucaja ostale tocke kontrolnog polinomapridonose 5/9 težine uz P1 odnosno P2.
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
TeoremBernsteinove funkcije miješanja stupnja n cine bazu zapolinome stupnja n (Pn).
Dokaz.Pretpostavimo da su {θi,n(t)}ni=0 linearno zavisni. Tada
0 ≡n∑
i=0
ciθi,n(t)
≡n∑
i=0
cin!
i!(n − i)!t i(1− t)n−i
≡n∑
i=0
cin!
i!(n − i)!t i
n−i∑j=0
(n − i)!
j!(n − i − j)!(−t)n−i−j
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
Dokaz (nastavak).
0 ≡n∑
i=0
cin!
i!(n − i)!
n−i∑j=0
(−1)n−i−j (n − i)!
j!(n − i − j)!tn−j
≡n∑
j=0
tn−jn−j∑i=0
(−1)n−i−j n!
i!(n − i)!
(n − i)!
j!(n − i − j)!ci
≡n∑
j=0
tn−jn−j∑i=0
aijci
gdje su aij netrivijalni koeficijenti koji ovise o i i j .
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
Dokaz (nastavak).
Buduci da je gornji polinom identicki jednak 0, svakikoeficijent uz svaku potenciju od t mora biti jednak 0:
0 =
n−j∑i=0
aijci , za j = n,n − 1, . . . ,0.
Za j = n, u sumi se nalazi samo jedan izraz a0,nc0,odakle mora biti c0 = 0.Za j = n − 1, u sumi se nalaze dva izrazaa0,n−1c0 + a1,n−1c1. Kako je c0 = mora biti i c1 = 0.Nastavljamo tako i dalje, koristeci povratne supstitucijeza proizvoljni j mora biti cn−j = 0.Za j = 0 mora biti cn = 0.
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
Dokaz (nastavak).
Dakle, postoji samo jedan nacin da napišemo 0 kaolinearnu kombinaciju Bernstenovih funkcija miješanja, ito sa koeficijentima jednakim 0.Slijedi, Bernsteinove funkcije miješanja su linearnozavisne.Buduci da ima n + 1 linearno nezavisnih Bernstenovihfunkcija miješanja, one cine bazu za Pn.
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
Geometrijska svojstva Bézierovih krivulja
KorolarBézierova krivulja leži u konveksnoj ljusci tocaka {Pi}ni=0.
Dokaz.Tvrdnja slijedi iz prethodnih teorema:
γ(t) =∑n
i=0 Piθi,n(t).θi,n(t) > 0 za t ∈ 〈0,1〉, za sve n ≥ 0 i i = 0, . . . ,n.∑n
i=0 θi,n(t) ≡ 1 za t ∈ [0,1].
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
TeoremAko promatramo Bézierovu krivulju kao aproksimacijunjenog kontrolnog poligona, tada ona ima svojstvosmanjene varijacije.To znaci da proizvoljni pravac sijece Bézierovu krivuljuna manje ili jednako mjesta kao i njegov kontrolnipoligon.
Napomena
Iz prethodnih teorema možemo zakljuciti da Bézierovakrivulja ima sljedeca geometrijska svojstva:
Bézierova krivulja nema više zavoja od kontrolnogpoligona, a zavoji koji postoje na krivulji pojavljuju se ublizini zavoja kontrolnog poligona.
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
Napomena (nastavak)Svojstvo da se Bézierova krivulja nalazi unutarkonveksne ljuske kontrolnih tocaka može se koristitikod obrezivanja:
jednostavno se provijeri položaj ljuske u odnosu napravokutnik za obrezivanje,ako je ona u potpunosti unutar ili izvan pravokutnika zaobrezivanje, tada to isto vrijedi i za krivulju,tek ako ona sijece pravokutnik za obrezivanje, tadatreba tražiti sjecište krivulje i pravokutnika.
Gornja dva svojstva daju nam dobar osjecaj o izgledukrivulje na temelju njenog kontrolnog poligona.Buduci da je više od jedne Bernsteinove bazne funkcijenetrivijalno na 〈0,1〉, kontrolne tocke se ne moguinterpolirati osim P0 i Pn.
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
Napomena (nastavak)Za interpolaciju je potrebno da je samo jedankoeficijent uz Pi jednak 1, a svi ostali su 0. U tomslucaju krivulja interpolira tocku Pi .Kod Bézierovih krivulja najveci koeficijent može biti imanji od 0.5 (vidi primjer).
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
Izvrednjavanje derivacija
Razmatramo derivacije Bézierove krivulje svih redova, iželimo ih prikazati kao nove Bézierove krivulje.
Za θi,n(t) =(n
i
)t i(1− t)n−i imali smo
θ′i,n(t) =
(ni
)[it i−1(1− t)n−i − (n − i)t i(1− t)n−i−1].
Dalje,(ni
)i =
n!ii!(n − i)!
= n(n − 1)!
(i − 1)!(n − i)!= n
(n − 1i − 1
),
i(ni
)(n − i) =
n!(n − i)i!(n − i)!
= n(n − 1)!
i!(n − 1− i)!= n
(n − 1
i
).
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
Odavde slijedi
θ′i,n(t) =n(
n − 1i − 1
)t i−1(1− t)n−i − n
(n − 1
i
)t i(1− t)n−i−1
=n[θi−1,n−1(t)− θi,n−1(t)].
Za i = 0 je
θ′0,n(t) = (−1)n(1− t)n−1 = −nθ0,n−1(t).
Za i = n je
θ′n,n(t) = ntn−1 = nθn−1,n−1(t).
Ovime smo dokazali sljedeci teorem.
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
TeoremZa i-tu Bernsteinovu funkciju miješanja n-tog stupnja θi,n(t)vrijedi
θ′i,n(t) = n[θi−1,n−1(t)− θi,n−1(t)], i = 0, . . . ,n,
gdje je θ−1,n−1(t) ≡ 0 i θn,n−1(t) ≡ 0.
Korolar
Za γ(t) =∑n
i=0 Piθi,n(t) vrijedi
γ′(t) =n−1∑i=0
Qiθi,n−1(t),
gdje su Qi = n(Pi+1 − Pi).
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
Dokaz.Imamo
γ′(t) =n∑
i=0
Piθ′i,n(t)
=n∑
i=0
Pin(θi−1,n−1(t)− θi,n−1(t))
=n−1∑i=0
n(Pi+1 − Pi)θi,n−1(t).
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
Korolar
Za γ(t) =∑n
i=0 Piθi,n(t) vrijedi
γ(j)(t) =
n−j∑i=0
Qj,iθi,n−j(t),
gdje su
Qj+1,i =
{Pi , j = −1(n − j)(Qj,i+1 −Qj,i), j = 0, . . . ,n − 1
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
Možemo pokazati ekvivalentnost gornjeg korolara za γ′(t) ileme s pocetka ovog odjeljka. Zbog Bézierovogkonstruktivnog algoritma vrijedi:
γ′(t) =n−1∑i=0
n(Pi+1 − Pi)θi,n−1(t)
=n
(n−1∑i=0
Pi+1θi,n−1(t)−n−1∑i=0
Piθi,n−1(t)
)=n(
P [n−1]n (t)− P [n−1]
n−1 (t)).
Ovime možemo napisati algoritam koji istovremenoizvrednjuje krivulju i njenu derivaciju.
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
Algoritam (Bézierov konstruktivni algoritam)Neka su zadane
tocke {Pi}ni=0,tada se krivulja γ(t) i njena derivacija γ′(t) mogu izvrednitiza t ∈ [0,1] na sljedeci nacin:
1 P [0]i (t) = Pi za i = 0, . . . ,n.
2 Za j = 1, . . .n rekurzivno definiramo
P [j]i (t) = (1− t)P [j−1]
i−1 (t) + tP [j−1]i (t), za i = j , . . . ,n.
3 γ(t) = P [n]n (t),
4 γ′(t) = n(
P [n−1]n (t)− P [n−1]
n−1 (t))
.
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
Dijeljenje Bézierove krivulje
Ponekad se dogada da je jedan dio krivulje upravoonakav kakav treba biti, dok se drugi dio trebapromijeniti.Buduci da je Bézierova krivulja globalna, pomicanjembilo koje kontrolne tocke promijenit ce se citava krivulja.Riješenje ovog problema je podijela krivulje na višedijelova koji su ponovo Bézierove krivulje.Dijeljenje krivulje prikazat cemo za slucaj podijelekubicne Bézierove krivulje na dva dijela s intervalima[0,1/2] i [1/2,1].Neka je γ(t) =
∑3i=0 Piθi,3(t) Bézierova krivulja, i neka
je
α(t) =3∑
i=0
Qiθi,3(2t)
Bézierova reprezentacija iste krivulje za t ∈ [0,1/2].
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
Želimo koeficijente Qi napisati kao izraze od Pi :1 Raspišemo svaki θi,3(t) i θi,3(2t) za i = 0,1,2,3.2 Uvrstimo ih u jednakost γ(t) = α(t) za t ∈ [0,1/2].3 Izjednacimo koeficijente uz 1, t , t2 i t3, cime dobivamo
P0 =Q0 uz 1−3P0 + 3P1 =− 6Q0 + 6Q1 uz t
3P0 − 6P1 + 3P2 =12Q0 − 24Q1 + 12Q2 uz t2
−P0 + 3P1 − 3P2 + P3 =− 8Q0 + 24Q1 − 24Q2 + 8Q3 uz t3
4 Supstitucijama unaprijed za t = 1/2 dobivamo
Q0 =P0
Q1 =12
(P0 + P1) = P [1]1 (1/2)
Q2 =14
(P0 + 2P1 + P2) = P [2]2 (1/2)
Q3 =18
(P0 + 3P1 + 3P2 + P3) = P [3]3 (1/2)
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
Primijetimo da je prva kontrolna tocka krivulje α(t)jednaka prvoj kontrolnoj tocki od γ(t), dok je zadnjakontrolna tocka krivulje α(t) jednakaP [3]
3 (1/2) = γ(1/2).Isti postupak napravit cemo i za drugi dio krivulje: nekaje
β(t) =3∑
i=0
Riθi,3(2t − 1)
Bézierova reprezentacija iste krivulje za t ∈ [1/2,1].U jednkosti γ(t) = β(t) za t ∈ [1/2,2], izjednacavanjemkoeficijenata uz 1, t , t2 i t3 dobivamo sljedece.
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
P0 =8R0 − 12R1 + 6R2 − R3 uz 1−3P0 + 3P1 =− 24R0 + 48R1 − 30R2 + 6R3 uz t
3P0 − 6P1 + 3P2 =24R0 − 60R1 + 48R2 − 12R3 uz t2
−P0 + 3P1 − 3P2 + P3 =− 8R0 + 24R1 − 24R2 + 8R3 uz t3
Riješavanjem ovog sustava za t = 1/2 dobivamo
R0 =18
(P0 + 3P1 + 3P2 + P3) = P [3]3 (1/2)
R1 =14
(P1 + 2P2 + P3) = P [2]3 (1/2)
R2 =12
(P2 + P3) = P [1]3 (1/2)
R3 =P3
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
Opet možemo primijetiti da je prva kontrolna tockakrivulje β(t) jednaka P [3]
3 (1/2) = γ(1/2), dok je zadnjakontrolna tocka krivulje β(t) jednaka zadnjoj kontrolnojtocki od γ(t).
0 0.5 1 1.5 2 2.5 30
0.5
1
1.5
2
2.5
3
x
y
Slika: Kubicna Bézierova krivulja γ(t) sa originalnim kontrolnimpoligonom, i poligonima dijelova krivulje α(t) i β(t).
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
Kubicne Bézierove krivulje se najcešce koriste, zatosmo ih uzeli za primjer podjele krivulje.Možemo primijetiti da su kontrolne tocke Qi i Ri ,i = 0,1,2,3 konveksne kombinacije originalnihkontrolnih tocaka Pi .Zbog toga se nove kontrolne tocke nalaze unutarkonveksne ljuske originalnih kontrolnih tocaka, i zbogtoga su bliže krivulji γ(t) od originalnih tocaka.Ovo je isto manifestacija svojstva smanjene varijacije.Podijela kubicne Bézierove krivulje može sejednostavno napisati i u matricnom obliku
Q0
Q1
Q2
Q3
=18
8 0 0 04 4 0 02 4 2 01 3 3 1
P0
P1
P2
P3
,
R0
R1
R2
R3
=18
1 3 3 10 2 4 20 0 4 40 0 0 8
P0
P1
P2
P3
.
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
Racunanje novih kontrolnih poligona je vrlo jeftino.Za dobivanje Qi i Ri moramo izracunati sljedece:
P [1]1 (1/2) =
P0 + P1
2, P [1]
2 (1/2) =P1 + P2
2, P [1]
3 (1/2) =P2 + P3
2,
P [2]2 (1/2) =
P [1]1 (1/2) + P [1]
2 (1/2)
2, P [2]
3 (1/2) =P [1]
2 (1/2) + P [1]3 (1/2)
2,
P [3]3 (1/2) =
P [2]2 (1/2) + P [2]
3 (1/2)
2.
To je ukupno 6 zbrajanja i 6 dijeljenja sa 2.Zato osim inkrementalnog algoritma crtanje kubicneBézierove krivulje možemo bazirati na njenojuzastopnoj podijeli.Algoritam se zaustavlja kada se segment krivulje možesmatrati dovoljno ravnim da bi se aproksimirao ravnomlinijom.
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
Provjera kriterija zaustavljanja je za kubicnu Bézierovukrivulju takodjer vrlo jednostavna, zbog cinjenice da ležiunutar konveksne ljuske kontrolnih tocaka.
Ukoliko je max{d2,d3} manja od neke tolerancije ε,tada se krivulja aproksimira ravnom linijom izmedu prvei zadnje kontrolne tocke.
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
Algoritam (Algoritam za crtanje Bézierove krivulje pomocuuzastopne podijele)
void CrtajBezierKriv(krivulja, ε){
if (Ravna(krivulja, ε))NacrtajLiniju(krivulja);
else{PodijeliKrivulju(krivulja, lijevaKrivulja,desnaKrivulja);CrtajBezierKriv(lijevaKrivulja, ε);CrtajBezierKriv(desnaKrivulja, ε);
}}
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
Podijelu Bézierove krivulje, sa tockom podijele ut = 1/2, može se analogno napraviti za bilo koji drugi n:
α(t) =∑n
i=0 Qiθi,n(2t), i γ(t) = α(t) za t ∈ [0,1/2], pricemu su
Q0 =P0
Q1 =P [1]1 (1/2)
...
Qn =P [n]n (1/2)
β(t) =∑n
i=0 Riθi,n(2t − 1), i γ(t) = β(t) za t ∈ [1/2,1],pri cemu su
R0 =P [n]n (1/2)
R1 =P [n−1]n (1/2)
...Rn =Pn
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
Može se definirati podijela Bézierove krivulje s tockompodijele za bilo koji t unutar domene krivulje.
DefinicijaSa
θ[P0, . . . ,Pn; a,b](t) =t∑
i=0
θi,n(a,b; t),
oznacavamo Bézierovu krivulju sa kontrolnim tockama {Pi},defininiranu na intervalu [a,b].
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
Teorem (Teorem o podijeli Bézierove krivulje)
Za θ[P0, . . . ,Pn; a,b] vrijedi
θ[P0, . . . ,Pn; a,b](t) =
θ[P [0]
0 ,P [1]1 , . . . ,P [n]
n ; a, c]
(t)
θ[P [n]
n ,P [n−1]n , . . . ,P [0]
n ; c,b]
(t)
gdje je
P [k ]i =
{ [(b−c)P[k−1]
i−1 +(c−a)P[k−1]i
]b−a k > 0, i = k , . . . ,n
Pi k = 0.
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
Bernsteinove aproksimacije
Slika: Bernsteinove bazne funkcije (a) n = 3; (b) n = 4.
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
Razmotrit cemo sada teoretsku pozadinu Bézierovihkrivulja.
Definicija
Za funkciju f ∈ C(m)[0,1] definirat cemo n-tu Bernsteinovupolinomijalnu aproksimaciju kao
Bn(f ; x) =n∑
k=0
f(
kn
)θk ,n(x).
Ako kontrolni poligon Bézierove krivulje definiramo kaopo dijelovima linearnu parametarsku funkciju f , saf (i/n) = Pi ,tada je sama Bézierova krivulja parametarskaBernsteinova aproksimacija stupnja n od f .
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
Jednostavno se vidi da je
Bn(f ; 0) = P0 i Bn(f ; 1) = Pn,
tako da je postignuta interpolacija u krajnjim tockama.
Definicija
Za niz funkcija {sj(x)}j kažemo da konvergira uniformno kafunkciji s(x) na intervalu I, ako za svaki ε > 0 postojiprirodan broj N takav da za sve j > N vrijedi
|sj(x)− s(x)| < ε za sve x ∈ I.
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
TeoremAko je f (x) ogranicena na [0,1], tada
limn→∞
Bn(f ; x) = f (x)
za svaku tocku x u kojoj je f neprekidna.Ako je f ∈ C(0)[0,1] tada je konvergencija uniformna na[0,1].Ako je f ∈ C(m)[0,1] tada i
limn→∞
B(m)n (f ; x) = f (m)(x)
konvergira uniformno na [0,1].
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
Ovo svojstvo konvergencije Bernsteinovihaproksimacija i njenih derivacija garantira da one jakodobro reprezentiraju funkciju f za dovoljno veliki stupanjn.One dobro aproksimiraju samu krivulju, ali i njenetangente, zakrivljenost i ostala geometrijska svojstva.Problem je što Bernsteinove aproksimacije konvergirajuvrlo sporo.
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
Primjer
Neka je f (x) = 1. Buduci da je f (k/n) = 1 za sve n i k,vrijedi
Bn(1; x) =n∑
k=0
(nk
)xk (1− x)n−k
=(x + (1− x))n
=1
Dakle, Bernsteinova aproksimacija reprezentira konstantnufunkciju egzaktno.
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
Primjer
Neka je f (x) = x. Buduci da je f (k/n) = k/n za sve n i k,vrijedi
Bn(x ; x) =n∑
k=0
kn
(nk
)xk (1− x)n−k
=n∑
k=1
kn
(nk
)xk (1− x)n−k
=n∑
k=1
(n − 1k − 1
)xk (1− x)n−k
=xn∑
k=1
(n − 1k − 1
)xk−1(1− x)(n−1)−(k−1)
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
Primjer
Bn(x ; x) =xn−1∑k=0
(n − 1
k
)xk (1− x)(n−1)−k
=x
Dakle, Bernsteinova aproksimacija reprezentira i linearnufunkciju egzaktno.
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
PrimjerMože se pokazati da Bernsteinova aproksimacija nereprezentira egzaktno kvadratnu funkciju f (x) = x2, i davrijedi
|Bn(x2; x)− x2| ≤ 1n,
pa za n→∞, greška se smanjuje uniformno.
Pomocu Bernsteinovih aproksimacija dokazuje se svojstvosmanjene varijacije.
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
Interpolacija pomocu Bernsteinovih baznihfunkcija
Problem je interpolirati n + 1 tocku Vi , i = 0, . . . ,nparametarskim polinomom stupnja n.Jedinstveni interpolant treba biti reprezentiran pomocuBernsteinovih baznih funkcija.Prvo moramo svakoj interpolacijskoj tocci dodijelitinjenu parametarsku vrijednost: tražimo γ(t) takav da je
γ(i/n) = Vi , za i = 0, . . . ,n.
Izbor parametara je takav da θi,n(t) ima najveci utjecajna Vi , jer θi,n(t) u ti = i/n poprima svoj maksimum.Dakle, želimo naci kontrolne tocke Pj , j = 0, . . . ,n takveda je
γ(i/n) =n∑
j=0
Pjθj,n(i/n) = Vi , i = 0, . . . ,n.
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
Kao rezultat dobivamo sustave od n + 1 jednadžbi sn + 1 nepoznanica za svaku komponentu.Kompaktni matricni oblik jednadžbi je sljedeciθ0,n(0/n) θ1,n(0/n) · · · θn,n(0/n)θ0,n(1/n) θ1,n(1/n) · · · θn,n(1/n)
......
...θ0,n(n/n) θ1,n(n/n) · · · θn,n(n/n)
P0P1...
Pn
=
V0V1...
Vn
Može se pokazati da jedinstveni interpolacijski polinompostoji ako su sve vrijednosti x koordinata tocaka Vimedusobno razlicite.Buduci da Bernsteinove funkcije miješanja cine bazuod Pn, gornji sustav ima jedinstveno rješenje.
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
Primjer
Želimo interpolirati tocke
V0 = (0,2), V1 = (3,2), V2 = (5,4), V3 = (1,0).
Za Pi = (xi , yi), i = 0,1,2,3 dobivamo sustav1 0 0 0827
49
29
127
127
29
49
827
0 0 0 1
x0 y0x1 y1x2 y2x3 y3
=
0 23 25 41 0
.
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
Primjer (nastavak)Rješenje ovog sustava je
0 2116 −5
3293
293
1 0
,što znaci da su
P0 = (0,2), P1 =
(116,−5
3
),
P2 =
(293,293
), P3 = (1,0).
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
0 2 4 6 8 10−2
0
2
4
6
8
10
x
y
Slika: Izracunata Bézierova krivulja iz prethodnog primjera, sakontrolnim poligonom i interpolacijskim tockama.
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
Usporedivanje Bézierovih krivulja sinterpolacijom
Slika: (a) Originalne tocke; (b) kontrolni poligon.
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
Slika: (a) Polinomijalni interpolant; (b) Bézierova krivulja.
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
Slika: Po dijelovima kubicna Bézierova krivulja; neke unutarnjekontrolne tocke su interpolirane.
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
Usporedivanje Bernsteinove aproksimacije sinterpolacijom
Primijetimo razliku u brzini i svojstvima konvergencije.
Slika: Originalna krivulja.
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
Slika: Kvadraticne aproksimacije: (a) Bernsteinova aproksimacija;(b) interpolacija.
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
Slika: Kvinticne aproksimacije: (a) Bernsteinova aproksimacija;(b) interpolacija.
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
Slika: Seksticne aproksimacije: (a) Bernsteinova aproksimacija;(b) interpolacija.
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
Lijepljenje Bézierovih krivulja
Nedostaci Bézierovih krivulja su:cinjenica da porastom kontrolnih tocaka raste stupanjparametarskih polinoma,one su globalne aproksimacije — Bernsteinove baznefunkcije su netrivijalne svugdje u domeni.
Ponekad glatkoca višeg reda se može žrtvovati u imemanjeg broja racunskih operacija.
To možemo postici lijepljenjem više Bézierovih krivuljau jednu krivulju, uz uvjete neprekidnosti nekihderivacija.
Prvo navedimo nekoliko definicija i svojstava krivulja izdiferencijalne geometrije.
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
DefinicijaNeka su I1 i I2 intervali na R. Ako
γ(t) : I1 → R3,p : I2 → I1,
tada možemo definirati kompoziciju funkcija γ i p, a
γ(p(u)) : I2 → R3
je reparametrizacija od γ. To se još zove i promjenaparametra iz t u u.
Obje funkcije γ(t) i γ(p(u)) imaju isti graf, pa onepredstavljaju razlicite reprezentacije iste krivulje.
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
Definicija
γ(t) : I → R3 je regularna parametarska reprezentacija akoza sve t ∈ I vrijedi
1 γ(t) ∈ C(1),2 γ′(t) 6= 0.
Definicija
t = p(u) zove se dopustiva promjena parametra ako za sveu ∈ I2,
1 p(u) ∈ C(1),2 p′(u) 6= 0.
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
LemaRezultat reperametrizacije regularne parametarskereprezentacije pomocu dopustive promjene parametra jeponovo regularna parametarska reprezentacija iste krivuljeili jednog njenog djela.
Definicija
Regularna reprezentacija γ(t), t ∈ I1, je srodna drugojregularnoj reprezentaciji φ(u), u ∈ I2 ako postoji dopustivapromjena parametra t = p(u) takva da je
1 p(I1) = I2,2 γ(p(u)) = φ(u).
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
LemaPrethodno definirana srodnost je relacija ekvivalencije naskupu svih regularnih parametarskih reprezentacija.
DefinicijaSvaka klasa ekvivalencije relacije “dopustiva promjenaparametra” zove se regularna krivulja.
Neka je γ(t) : I → R3 regularna krivulja, tada se njenaduljina izmedu vrijednosti parametra ta i tb može izracunatikao
s =
∫ tb
ta‖γ′(τ)‖dτ.
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
Duljinu krivulje možemo smatrati funkcijom od t , odneke fiksne vrijednosti parametra t0 do t :
s(t) =
∫ t
t0‖γ′(τ)‖dτ.
Lako se može provjeriti da je
dsdt
=ddt
∫ t
t0‖γ′(τ)‖dτ = ‖γ′(t)‖ > 0.
Buduci da je γ′(t) vektor brzine krivulje γ u t , ‖γ′(t)‖ jeiznos same brzine.Vidimo da je s(t) strogo rastuca funkcija, pa je prematome i invertibilna.Dakle, postoji neka funkcija q takva da je t = q(s), onaje derivabilna sa dt
ds > 0.
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
NapomenaZa svaku regularnu reprezentaciju, reparametrizacijaparametrom duljine luka je dopustiva promjena parametra.
Pretpostavimo da je γ(s) parametrizirana duljinom luka.Tada je
1 =dsds
= ‖γ′(s)‖.
Ekvivalentno možemo pretpostaviti da je γ(t) krivulja skonstantnim iznosom brzine, tj. da je ‖γ′(t)‖ = 1, zasve t . Tada je
s =
∫ t
t=0‖γ′(τ)‖dτ = t .
Pokazali smo da γ ima parametrizaciju duljinom lukaako i samo ako je ‖γ′‖ = 1.
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
Za sljedece definicije imamo ove pretpostavkes je parametar duljine luka,γ : I → R3,γ je parametriziran duljinom luka γ(s) i vrijedi‖γ′(s)‖ = 1.
Definicija
T = T (s) = γ′(s) zove se jedinicna tangenta na krivulju γ,jer je ‖T (s)‖ = 1 za sve s.
Definicija
T ′ = T ′(s) = γ′′(s) zove se vektor zakrivljenosti.
Teorem
〈T ,N〉 = 0, za sve s.
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
Definicija
κ = κ(s) = ‖T ′(s)‖ zove se zakrivljenost od γ u tocci γ(s).Vrijedi κ ≥ 0. Za κ > 0 definiramo N = N(s) = T ′/κ, kojegnazivamo vektorom normale ili jedinicnom normalom.
Ako je κ(s) = 0 na nekom intervalu, tada je γ segmentpravca na tom intervalu.
Definicija
Skalarna vrijednost 1/κ zove se radijus zakrivljenosti.
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
Parametrizaciju duljinom luka je cesto neprakticnoracunati.Za proizvoljnu regularnu parametrizaciju γ(t) može sepokazati da vrijedi:
T (t) =γ′(t)‖γ′(t)‖
N(t) =‖γ′(t)‖γ′′(t)‖γ′(t)× γ′′(t)‖
− 〈γ′(t), γ′′(t)〉γ′(t)‖γ′(t)‖ ‖γ′(t)× γ′′(t)‖
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
Cesto kod dizajna krivulja trebamo znati da li su kodlijepljenja dviju krivulja tangenta i zakrivljenost neprekidni, ilida li je krivulja dovoljno glatka.
Ako su γ1 i γ2 dvije regularne parametarske krivuljedefinirane za t ∈ [0,1], tada definiramo
γ(t) =
{γ1(t), t ∈ [0,1〉γ2(t − 1), t ∈ [1,2].
Definicija
Ako je krivulja klase C(n) kada je reprezentiranaparametrizacijom duljinom luka, tada kažemo da je onageometrijski klase C(n).
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
Ako je krivulja geometrijski klase C(1) to znaci da jejedinicna tangenta neprekidna.Ako je krivulja geometrijski klase C(2) to znaci da sujedinicna tangenta, jedinicna normala i zakrivljenostneprekidni.Inace, krivulja je klase C(n) ako je njena parametarskareprezentacija klase C(n).
Provjerimo sada koja svojstva mora zadovoljiti krivulja da bibila geometrijski klase C(0), C(1) ili C(2).
Ako je γ geometrijski klase C(0), tada γ mora bitineprekidna u t = 1, i mora biti
γ1(1) = γ2(0).
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
Ako je γ geometrijski klase C(1), tada mora biti
γ′1(1) = k1γ′2(0), za konstantu k1 =
‖γ′1(1)‖‖γ′2(0)‖
.
Ako je k1 = 1 tada je krivulja γ klase C(1) u t = 1.
Ako je γ geometrijski klase C(2), tada mora biti
γ′1(1) =k1γ′2(0), za konstantu k1 =
‖γ′1(1)‖‖γ′2(0)‖
γ′′1 (1) =k2γ′2(0) + k2
1γ′′2 (0), za neku konstantu k2
Ako su k1 = 1 i k2 = 0 tada je krivulja γ klase C(2) ut = 1.
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
Pretpostavimo sada da želimo spojiti dvije Bézierovekrivulje istog stupnja u svojim krajnjim tockama, saodredenim stupnjem neprekidnosti.Pogledat cemo koje uvjete u tom slucaju morajuzadovoljavati njihove kontrolne tocke.Neka su
γ1 =n∑
i=0
Piθi,n(t),
γ2 =n∑
i=0
Qiθi,n(t),
i sa γ(t) oznacimo krivulju dobivenu lijepljenjem gornjihdviju Bézierovih krivulja:
γ(t) =
{γ1(t), t ∈ [0,1〉γ2(t − 1), t ∈ [1,2].
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
Buduci da γ1 i γ2 interpoliraju svoje krajnje kontrolnetocke, γ(t) ce biti neprekidna u t = 1 ako je
Pn = Q0.
Da bi γ bila geometrijski klase C(1), mora postajatik1 > 0 takav da je
γ′1(1) = k1γ′2(0).
Primijenjujuci ovaj uvijet na Bézierove krivulje,dobivamo
γ′1(1) = n(Pn − Pn−1), i γ′2(0) = n(Q1 −Q0);
Pn − Pn−1 = k1(Q1 −Q0).
Dakle, tocke Pn−1, Pn = Q0 i Q1 moraju ležati na istompravcu, pri cemu Pn = Q0 mora biti izmedu druge dvijetocke.
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
Ako želimo da krivulja bude klase C(1), tadaγ′1(1) = γ′2(0) i Pn = Q0 mora biti tocno na polovinisegmenta pravca izmedu Pn−1 i Q1.
Da bi γ bila geometrijski klase C(2), mora postajati k2takav da je
γ′′1 (1) = k2γ′2(0) + k2
1γ′′2 (0).
Primijenjujuci ovaj uvijet na Bézierove krivulje,dobivamo
γ′′1 (1) =n(n − 1)(Pn − 2Pn−1 + Pn−2)
γ′′2 (0) =n(n − 1)(Q0 − 2Q1 + Q2).
Ubacujuci gornji rezultat u uvjet za geometrijski C(2),imamo
n(n − 1)(Pn − 2Pn−1 + Pn−2) =k2n(Q1 −Q0) + k21 n(n − 1)(Q0 − 2Q1 + Q2)
Pn − 2Pn−1 + Pn−2 =k21 (Q0 − 2Q1 + Q2) +
k2
n − 1(Q1 −Q0).
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
Buduci da je
Pn = Q0 i Pn − Pn−1 = k1(Q1 −Q0),
iz gornje jednakosti slijedi
Pn−2−Pn−1 =
(k1 −
k2
n − 1+ k2
1
)(Q0−Q1)+k2
1 (Q2−Q1).
S druge strane možemo napisati
Pn−1 = Q1 + (1 + k1)(Q0 −Q1)
odakle možemo zakljuciti da je
Pn−2 = Q1+a(Q0−Q1)+b(Q2−Q1), za neke konstante a,b.
Slijedi da Pn−1 i Pn−2 leže na ravnini razapetoj sa Q0,Q1 i Q2.Dakle, tocke Pn−2, Pn−1, Pn = Q0, Q1 i Q2 moraju ležatina istoj ravnini, od cega srednje tri moraju ležati naistom pravcu.
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
Ako želimo da krivulja bude klase C(2), tada su k1 = 1 ik2 = 0, pa
Pn − Pn−1 =Q1 −Q0
Q2 − Pn−2 =4(Q1 −Q0).
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
Povecavanje stupnja
Ako želimo napraviti neke fine promjene na Bézierovojkrivulji moramo povecati stupnjeve slobode.Jedan nacin da to ucinimo je dijeljenje krivulje na dva iliviše dijelova.Drugi nacin je reprezentacija krivulje polinomom višegstupnja.Postavlja se pitanje: kako možemo Bézierovu krivulju
γn(t) =n∑
i=0
Piθi,n(t)
napisati kao
γn+1(t) =n+1∑i=0
Qiθi,n+1(t).
Sljedece što moramo naci je odnos izmedu kontrolnihtocaka {Pi} i {Qi}.
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
Iz dokaza teorema o rekurzivnom svojstvuBernsteinovih funkcija miješanja slijedi
k + 1n + 1
θk+1,n+1(t) = tθk,n(t) in + 1− k
n + 1θk,n+1(t) = (1− t)θk,n(t).
Zbrajanjem tih dviju jednakosti dobivamo
θk ,n(t) =k + 1n + 1
θk+1,n+1(t) +n + 1− k
n + 1θk ,n+1(t).
Uvrštavanjem u jednadžbu krivulje imamo
γn(t) =n∑
i=0
Piθi,n(t)
=n∑
i=0
Pi
(i + 1n + 1
θi+1,n+1(t) +n + 1− i
n + 1θi,n+1(t)
)
=n+1∑i=0
(iPi−1 + (n + 1− i)Pi
n + 1
)θi,n+1(t).
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
Teorem
Bézierova krivulja γ(t) =∑n
i=0 Piθi,n(t) može sereprezentirati kao
γ(t) =n+1∑i=0
Qiθi,n+1(t),
gdje su
Qi =iPi−1 + (n + 1− i)Pi
n + 1.
Primijetimo da je ovako dobivena Bézierova krivuljavišeg stupnja identicna polaznoj krivulji, jedino štokontrolni poligon ima sada više vrhova.Ako želimo mijenjati krivulju, to možemo sada ucinitipomicanjem novih kontrolnih tocaka.
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
Slika: (a) Povecanje stupnja za 1; (b) višestruko povecanjestupnja.
Prikazivanjekrivulja
Nela Bosner
Konike
BézierovekrivuljeSvojstva Bézierovihkrivulja
SvojstvaBernsteinovihfunkcija miješanja
Geometrijskasvojstva Bézierovihkrivulja
Izvrednjavanjederivacija
Dijeljenje Bézierovekrivulje
Bernsteinoveaproksimacije
Interpolacija pomocuBernsteinovih baznihfunkcija
UsporedivanjeBézierovih krivulja sinterpolacijom
UsporedivanjeBernsteinoveaproksimacije sinterpolacijom
Lijepljenje Bézierovihkrivulja
Povecavanje stupnja
B-splajnovi
Domaca zadacaNapišite program koji ce nacrtati zadano slovo ili brojku:
α β γ δ ε ζ ϑ ξ ϕ ω
b e m s y 2 3 6 8
na dva nacina:1 pomocu po dijelovima konike s pogodnim konstantama
K ,2 pomocu po dijelovima Bézierove krivulje, pri cemu se
Bézierove krivulje crtaju algoritmom koji implementirauzatopnu podijelu krivulje.
Pazite na geometrijsku glatkocu krivulja, tako da ona štovjernije prikazuje zadano slovo ili brojku.
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
B-splajnovi
Pozitivna svojstva Bézierovih krivulja su:1 svojstvo smanjene varijacije2 svojstvo da se krivulja nalazi unutar konveksne ljuske
kontrolnog poligona3 jednostavan konstruktivni algoritam
Negativna svojstva Bézierovih krivulja su:1 povecavanjem broja kontrolnih tocaka povecava se
stupanj krivulje2 globalni efekt Bernsteinove baze; zbog toga što je
svaka bazna funkcija razlicita od nule na cijeloj domeniosim konacno mnogo tocaka, pomicanje bilo kojekontrolne tocke mijenja cijelu krivulju
Sljedeci korak bi bio kreiranje krivulje koja ima svapozitivna svojstva Bézierove krivulje ali bez negativnih.
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Svojstva koja želimo posticiKrivulja je izgladena verzija kontrolnog poligona.Reprezentacija krivulje je po dijelovima polinom kojidozvoljava odredivanje stupnja glatkoce kod spojevapolinomijalnih dijelova.Gornja dva svojstva automatski odreduju konstruktivnialgoritam slican Bézierovom (bez korištenja teorijediferencijalne geometrije).Prikaz krivulje kao
γ(t) =∑
i
Pibi ,
pri cemu suPi vrhovi kontrolnog poligonabi funkcije miješanja koje ne ovise o kontrolnompoligonu, ali ovise o stupnju polinoma i uvjetimaglatkoce kod spojeva.
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Konstruktivne po dijelovima polinomijalnekrivuljePrimjer
Želimo generalizirati linearnu Bézierovu krivulju:segment pravca definiran kontrolnim poligonom s 2tocke.
To možemo napraviti na mnogo nacina:Za kontrolni poligon s 3 tocke jedina mogucageneralizacija je C(0) po dijelovima linearna krivulja.Za kontrolni poligon s 4 tocke postoje višegeneralizacija:
Jedna C(0) po dijelovima linearna krivulja (ekvivalentnakontrolnom poligonu). — (a)Prekidna C(−1) krivulja koja se sastoji od dvanepovezana segmenta pravca. — (b)
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Primjer
Želimo generalizirati kvadratnu Bézierovu krivulju:segment parabole definiran kontrolnim poligonom s 3tocke.
Povecavamo broj kontrolnih tocaka.Za kontrolni poligon s 4 tocke metoda lijepljenja konikanije primijenjiva.
Za to je potrebno 5 kontrolnih tocaka.Imamo garanciju da je dobivena krivulja C(0), a može seeksplicitno uciniti C(1) ako tri srednje tocke leže napravcu.Glatkoca derivacije u potpunosti ovisi o geometriji, i nepredstavlja poseban stupanj slobode.
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Primjer (nastavak)
Pretpostavimo da cemo koristiti proizvoljni kontrolnipoligon s cetiri tocke P0, P1, P2 i P3 za generiranje podijelovima kvadratne krivulje, ciji dijelovi se spajaju saC(1) glatkocom kod spojeva.Definiramo tocku
R = (1− λ)P1 + λP2, 0 < λ < 1
na segmentu pravca izmedu P1 i P2.
Slika: (a) Kontrolni poligon sa tockom R; (b) željena krivulja.
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Primjer (nastavak)
Ovim postupkom dobit cemo dva kvadratna segmenta:1 γ1(t) s kontrolnim poligonom P0, P1 i R2 γ2(t) s kontrolnim poligonom R, P2, i P3
Buduci da tocke P1, R i P2 leže na pravcu, dobivenakrivulja γ(t) izgleda C(1).Ona ce zaista biti klase C(1) ako su duljine tangenatajednake u toci R.
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Primjer (nastavak)
Koristit cemo Bernsteinove generalizirane baznefunkcije za reprezentaciju Bézierove krivulje skontrolnim poligonom P0, P1, R na segmentu [a,b]
θi,2(a,b; t) =
(2i
)(b − t)2−i(t − a)i
(b − a)2 , i = 0,1,2.
Vrijedi
γ1(t) =P0θ0,2(a,b; t) + P1θ1,2(a,b; t) + Rθ2,2(a,b; t)
γ′1(t) =2
(b − a)2 [(P1 − P0)(b − t) + (R − P1)(t − a)]
γ′1(b) =2(R − P1)
b − a
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Primjer (nastavak)
Koristit cemo Bernsteinove generalizirane baznefunkcije za reprezentaciju Bézierove krivulje skontrolnim poligonom R, P2, P3 na segmentu [b, c]
θi,2(b, c; t) =
(2i
)(c − t)2−i(t − b)i
(c − b)2 , i = 0,1,2.
Vrijedi
γ2(t) =Rθ0,2(b, c; t) + P2θ1,2(b, c; t) + P3θ2,2(b, c; t)
γ′2(t) =2
(c − b)2 [(P2 − R)(c − t) + (P3 − P2)(t − b)]
γ′2(b) =2(P2 − R)
c − b
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Primjer (nastavak)
Da bi po dijelovima kvadratna krivulja bila klase C(1),mora biti
R − P1
b − a=
P2 − Rc − b
.
Buduci da je R = (1− λ)P1 + λP2, imamo
R − P1 =[(1− λ)P1 + λP2]− P1
=λ(P2 − P1)
P2 − R =P2 − [(1− λ)P1 + λP2]
=(1− λ)(P2 − P1)
Zbog toga je
λ(P2 − P1)
b − a=
(1− λ)(P2 − P1)
c − b
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Primjer (nastavak)odakle slijedi
λ(c − b) = (1− λ)(b − a)
Dakle, korisnik može odrediti 3 od 4 realne vrijednostia, b, c, λ.Razumni default može biti
a = 0, b = 1, c = 2, λ =12.
Primijetimo da prethodna konstrukcija ne ovisi o P0 i P3.
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Primjer (nastavak)
Na ovaj nacin korisnik može konstruirati po dijelovimakvadratnu krivulju klase C(1) iz kontrolnog poligona san + 1 vrhova, za bilo koji n.Za proizvoljni poligon {Pi}ni=0 definiramo u = {ui}ni=1,ui < ui+1.Domena po dijelovima kvadratne krivulje je segment[u1,un], pri cemu je podsegment [ui ,ui+1] domena i-togkvadratnog dijela, kojih ukupno ima n − 1.λi izmedu i-tog i (i + 1)-og segmenta, i = 1, . . . ,n − 2dobiva se rješavanjem jednadžbe
λi(ui+2 − ui+1) = (1− λi)(ui+1 − ui)
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Primjer (nastavak)Sada još moramo definirati novi konstruktivni algoritam.Vratimo se ponovo na slucaj sa dva kvadratnasegmenta.Ako su a, b i c zadani, tada je
λ =b − ac − a
.
Definirajmo sada
Q0 = P0, Q1 = P1, Q2 = R, Q3 = R, Q4 = P2, Q5 = P3.
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Primjer (nastavak)Konstruktivni algoritam za krivulju sa Bernsteinovimgeneraliziranim baznim funkcijama za t ∈ [a,b] glasi
P [1]1 =
b − tb − a
Q0 +t − ab − a
Q1
P [1]2 =
b − tb − a
Q1 +t − ab − a
Q2
P [2]2 =
b − tb − a
P [1]1 +
t − ab − a
P [1]2
odakle je γ(t) = P [2]2 (t).
Prema definiciji od R je
Q2 =c − bc − a
Q1 +b − ac − a
Q4.
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Primjer (nastavak)Tako je
P [1]2 =
b − tb − a
Q1 +t − ab − a
Q2
=b − tb − a
Q1 +t − ab − a
(c − bc − a
Q1 +b − ac − a
Q4
)=
(b − tb − a
+t − ab − a
c − bc − a
)Q1 +
t − ac − a
Q4
=c − tc − a
Q1 +t − ac − a
Q4
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Primjer (nastavak)
Analogno, za t ∈ [b, c]
P [1]2 =
c − tc − b
Q3 +t − bc − b
Q4
P [1]3 =
c − tc − b
Q4 +t − bc − b
Q5
P [2]3 =
c − tc − b
P [1]2 +
t − bc − b
P [1]3
odakle je γ(t) = P [2]3 (t).
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Primjer (nastavak)Ponovo zbog definicije od R je
P [1]2 =
c − tc − b
Q3 +t − bc − b
Q4
=c − tc − b
(c − bc − a
Q1 +b − ac − a
Q4
)+
t − bc − b
Q4
=c − tc − a
Q1 +
(c − tc − b
b − ac − a
+t − bc − b
)Q4
=c − tc − a
Q1 +t − ac − a
Q4
Primijetimo da je konacna jednadžba za racunanje P [1]2
uvijek ista, bez obzira u kojem segmentu se nalazi t .Ovime smo izveli novi algoritam.
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
AlgoritamNeka su zadani
kontrolni poligon {Pi}3i=0,realne vrijednosti a < b < c.
Tada se krivulja γ(t) može izvredniti na sljedeci nacin:1 P [0]
i (t) = Pi za i = 0, . . . ,3.2 Za t ∈ [a,b] izracunaj
P [1]1 =
b − tb − a
P [0]0 +
t − ab − a
P [0]1
P [1]2 =
c − tc − a
P [0]1 +
t − ac − a
P [0]2
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Algoritam (nastavak)
Za t ∈ [b, c] izracunaj
P [1]2 =
c − tc − a
P [0]1 +
t − ac − a
P [0]2
P [1]3 =
c − tc − b
P [0]2 +
t − bc − b
P [0]3
3 Za t ∈ [a,b] izracunaj
P [2]2 =
b − tb − a
P [1]1 +
t − ab − a
P [1]2
Za t ∈ [b, c] izracunaj
P [2]3 =
c − tc − b
P [1]2 +
t − bc − b
P [1]3
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Algoritam (nastavak)4 Vrijednost krivulje je tada
γ(t) =
{P [2]
2 t ∈ [a,b]
P [2]3 t ∈ [b, c]
Našli smo konstruktivni algoritam za po dijelovimakvadratne krivulje, koji koristi samo originalne kontrolnetocke.Preostalo nam je još naci izraz za krivulju koji jupredstavlja kao linearnu kombinaciju odredenih funkcijamiješanja, ciji su koeficijenti originalne kontrolne tocke.
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Primjer (nastavak)Neka su
Q[0]i = Qi ,
tada definirajmo
ζ[0]i (t) =
θi,2(a,b; t) t ∈ [a,b], i = 0,1,20 t ∈ [b, c], i = 0,1,20 t ∈ [a,b], i = 3,4,5θi−3,2(b, c; t) t ∈ [b, c], i = 3,4,5
Krivulja se tada može zapisati kao
γ(t) =5∑
i=0
Q[0]i ζ
[0]i (t).
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Slika: Originalne funkcije miješanja.
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Primjer (nastavak)Medutim u ovom obliku jednadžbe R se pojavljuje dvaputa.Odstranit cemo to ponavljanje tako da definiramo
Q[1]i =
{Q[0]
i , i = 0,1,2Q[0]
i+1, i = 3,4
i
ζ[1]i (t) =
ζ[0]i (t), i = 0,1ζ[0]2 (t) + ζ
[0]3 (t), i = 2
ζ[0]i+1(t), i = 3,4
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Slika: Funkcije miješanja nakon prve redukcije.
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Primjer (nastavak)
Buduci da je
Q[1]2 = (1− λ)Q[1]
1 + λQ[1]3 , i λ =
b − ac − a
,
vrijedi sljedece
γ(t) =4∑
i=0
Q[1]i ζ
[1]i (t)
=Q[1]0 ζ
[1]0 (t) + Q[1]
1 ζ[1]1 (t) + ((1− λ)Q[1]
1 + λQ[1]3 )ζ
[1]2 (t)+
+ Q[1]3 ζ
[1]3 (t) + Q[1]
4 ζ[1]4 (t)
=Q[1]0 ζ
[1]0 (t) + Q[1]
1 ζ[1]1 (t) + (Q[1]
1 (1− λ)ζ[1]2 (t) + Q[1]
3 λζ[1]2 (t))+
+ Q[1]3 ζ
[1]3 (t) + Q[1]
4 ζ[1]4 (t)
=Q[1]0 ζ
[1]0 (t) + Q[1]
1 (ζ[1]1 (t) + (1− λ)ζ
[1]2 (t))+
+ Q[1]3 (λζ
[1]2 (t) + ζ
[1]3 (t)) + Q[1]
4 ζ[1]4 (t)
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Primjer (nastavak)Korištenjem prethodnih rezultata definiramo
Q[2]i =
{Q[1]
i , i = 0,1Q[1]
i+1, i = 2,3
i
ζ[2]i (t) =
ζ[1]0 (t), i = 0ζ[1]1 (t) + (1− λ)ζ
[1]2 (t), i = 1
λζ[1]2 (t) + ζ
[1]3 (t), i = 2
ζ[1]4 (t), i = 3
Funkcije ζ [2]i (t), i = 0,1,2,3 su klase C(1) na domeni
krivulje [a, c], i ne ovise o kontrolnim tockama.
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Slika: Konacne funkcije miješanja za λ = 0.4.
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Slika: Kvadratne funkcije miješanja sa 6 podsegmenata.
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Prema tome, moguce je konstruirati po dijelovimakvadratnu krivulju klase C(1).Dobivanje pogodne generalizacije postaje punokompliciranije kada
uvjeti glatkoce nisu jednaki u svakom spojukada je stupanj polinoma veci od 2
Za to je potrebno uvesti formalizam, u kojem se mogureprezentirati konstruktivni algoritmi i jednadžbe krivuljapreko funkcija miješanja u kompaktnom obliku.Taj formalizam se zove reprezentacija B-splajnovima
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Definicija
Niz u = {ui}si=0 razlicitih realnih vrijednosti zove se nizprijelomnih tocaka.Pridruženi niz m = {mi}si=0 pozitivnih cijelih brojeva, odkojih je mi pridružen ui , zove se vektor multipliciteta.Nepadajuci niz realnih brojeva t = {tj} takvih da jemi = card{j : tj = ui} zove se vektor cvorova.
Definicija
Broj elemenata u vektoru cvorova t zove se duljina, ioznacava se sa card(t).
Neka je N + 1 =∑s
i=0 mi duljina od t.Tada interval [ui ,ui+1〉 definira domenu jednogpolinomijalnog dijela.mi se odnosi na glatkocu spoja dvaju dijelova.
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Algoritam (de Boorov rekurzivni algoritam za B-splajnove)
Za definiranje po dijelovima polinomijalne krivulje γ(t)stupnja k, potrebno je da je domena krivulje jednaka[tk , tN−k 〉.
1 P [0]i = Pi .
2 Za dani t ≥ tk , nadi j takav da je t ∈ [tj , tj+1〉.3 Za ` = 1, . . . , k
za i = j − k + `, . . . , j
P [`]i =
t − titi+k+1−` − ti
P [`−1]i +
ti+k+1−` − tti+k+1−` − ti
P [`−1]i−1 .
4 γ(t) = P [k ]j .
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Vidimo da ovaj algoritam izgleda slicno Bézierovomkonstruktivnom algoritmu.P [`]
i je uvijek konveksna kombinacija od P [`−1]i−1 i P [`−1]
i ,koja ovisi o t-u.Ta konveksna kombinacija je razlicita za razlicitevrijednosti od i , ` i k .Nakon što je odreden indeks j , za racunanje P [1]
ipotrebne su tocke Pj−k , . . . ,Pj .
Dakle, na nultoj razini potrebno nam je k + 1 tocka.Na prvoj razini racuna se k tocaka.Na drugoj razini racuna se k − 1 tocaka.itd.Na k -toj razini racuna se samo jedna tocka.
Broj tocaka na svakoj razini odgovara broju tocakaukljucenih u svaku razinu Bézierovog algoritma, bezobzira na ukupan broj kontrolnih tocaka u poligonu.
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Za kontrolni poligon sa n + 1 tocaka, ako želimodefinirati po dijelovima polinomijalnu krivulju stupnja ktada moramo definirati vektor t sa tocnoN + 1 = n + k + 2 elementa.
Ako pogledamo u algoritam, tada j može poprimitivrijednosti k , . . . ,N − k − 1.To znaci da su na nultoj razini potrebne tocke Pi zai = 0, . . . ,N − k − 1, odnosno ukupno N − k kontrolnihtocaka.Odatle slijedi:
n + 1 =N − kN + 1 =n + k + 2
cinjenica da je za bilo koji interval [tj , tj+1〉 potrebnosamo k + 1 kontrolnih tocaka kako bi se izracunalavrijednost krivulje stupnja k γ(t), cini ovu krivuljulokalnom.Za svaki t ∈ [tj , tj+1〉 radi se o istom polinomu.
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Sljedeci interval ce koristiti druge kontrolne tocke zadefiniciju polinoma, iako neke od njih mogu biti iste kaou prethodnom intervalu.Multiplicitet nam govori koliko je kontrolnih tocakazajednickih u dva susjedna intervala, tj. u njihovimreprezentacijama.Može se pokazati da ako je k − p + 1 tocaka zajednickou reprezentacijama dva susjedna polinomijalna dijela,tada se ta dva dijela spajaju sa glatkocom C(k−p).
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
PrimjerNeka su zadani:
k = 3t = {0,0,0,0,1,4,5,5,5,5}t = 2, odakle slijedi da je j = 4 (t4 = 1 ≤ 2 < t5 = 4)
Za ` = 1,2,3 vrijedi
P [`]i =
t − titi+4−` − ti
P [`−1]i +
ti+4−` − tti+4−` − ti
P [`−1]i−1 , i = 1 + `, . . . ,4.
Za ` = 1,P [1]
2 =t − t2t5 − t2
P [0]2 +
t5 − tt5 − t2
P [0]1
=2− 04− 0
P [0]2 +
4− 24− 0
P [0]1
=12
P [0]2 +
12
P [0]1
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Primjer (nastavak)
P [1]3 =
t − t3t6 − t3
P [0]3 +
t6 − tt6 − t3
P [0]2
=2− 05− 0
P [0]3 +
5− 25− 0
P [0]2
=25
P [0]3 +
35
P [0]2
P [1]4 =
t − t4t7 − t4
P [0]4 +
t7 − tt7 − t4
P [0]3
=2− 15− 1
P [0]4 +
5− 25− 1
P [0]3
=14
P [0]4 +
34
P [0]3
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Primjer (nastavak)Za ` = 2
P [2]3 =
t − t3t5 − t3
P [1]3 +
t5 − tt5 − t3
P [1]2
=2− 04− 0
P [1]3 +
4− 24− 0
P [1]2
=12
P [1]3 +
12
P [1]2
P [2]4 =
t − t4t6 − t4
P [1]4 +
t6 − tt6 − t4
P [1]3
=2− 15− 1
P [1]4 +
5− 25− 1
P [1]3
=14
P [1]4 +
34
P [1]3
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Primjer (nastavak)Za ` = 3
P [3]4 =
t − t4t5 − t4
P [2]4 +
t5 − tt5 − t4
P [2]3
=2− 14− 1
P [2]4 +
4− 24− 1
P [2]3
=13
P [2]4 +
23
P [2]3
Konacno, γ(2) = P [3]4 .
Primijetimo da su rekurzivno definirani kontrolnipoligoni na svakoj razini u potpunosti ovisni o t.
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Slika: (a) P [1]i i P [2]
i ; (b) P [2]i i P [3]
i .
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Slika: Svi uzastopni poligoni prikazani zajedno.
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Kao i kod Bézierovih krivulja, ovaj novi oblik krivuljenece opcenito interpolirati kontrolne tocke.Iz de Boorovog algoritma vidimo da ce krivulja imatioblik
γ(t) =n∑
i=0
PiBi,k (t),
gdje je svaki Bi,k (t) po dijelovima polinom stupnja k .Tocno k + 1 od njih su netrivijalni na svakom intervaluizmedu cvorova.
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
B-splajn funkcije miješanja
Želimo naci kolekciju funkcija {Bi,k (t)}ni=0 sarekurzivnim oblikom, tako da predstavljajugeneralizaciju Bernsteinovih funkcija miješanja.Buduci da je k stupanj po dijelovima polinoma, želimoda de Boorov algoritam rezultira reprezentacijom
γ(t) =∑
i
PiBi,k (t)
=∑
i
P [`]i Bi,k−`(t), ` = 0, . . . , k
Za danu vrijednost t ∈ [tj , tj+1〉, potrebne su samo k + 1vrijednosti P [0]
i , i = j − k , . . . , j , što znaci
γ(t) =
j∑i=j−k+`
P [`]i Bi,k−`(t), ` = 0, . . . , k
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
γ(t) =∑
i
(t − ti
ti+k+1−` − tiP [`−1]
i +ti+k+1−` − tti+k+1−` − ti
P [`−1]i−1
)Bi,k−`(t)
=∑
i
P [`−1]i
(t − ti
ti+k+1−` − tiBi,k−`(t)+
+ti+k+2−` − t
ti+k+2−` − ti+1Bi+1,k−`(t)
)Buduci da želimo da je
γ(t) =∑
i
P [`−1]i Bi,k−`+1(t),
zato funkcije Bi,k−`+1 moraju zadovoljavati rekurziju
Bi,k−`+1(t) =t − ti
ti+k+1−` − tiBi,k−`(t)+
ti+k+2−` − tti+k+2−` − ti+1
Bi+1,k−`(t).
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Definicija (de Boor – Coxova rekurzija)Neka je t0 ≤ t1 ≤ · · · ≤ tN niz realnih brojeva.Za k = 0, . . . ,N − 1 i i = 0, . . . ,N − k − 1
definiramo i-ti (normalizirani) B-splajn stupnja k kao
Bi,0(t) =
{1, za t ∈ [ti , ti+1〉0, inace
a za k > 0
Bi,k (t) =
{t−ti
ti+k−tiBi,k−1(t) +
ti+k+1−tti+k+1−ti+1
Bi+1,k−1(t), za ti<ti+k+1
0, inace
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Napomena
Za slucaj kada je k = 0 i ti = ti+1 tada ne postoji nitijedna vrijednost unutar poluintervala [ti , ti+1〉, i tadapostavljamo da je Bi,0(t) ≡ 0.Za slucaj kada je k > 0 i ti = · · · = ti+k < ti+k+1 djelitelju prvom izrazu rekurzije je 0?!
U tom slucaju je Bi,k−1(t) ≡ 0 prema definiciji.Tada bi bilo
Bi,k (t) =ti+k+1 − t
ti+k+1 − ti+1Bi+1,k−1(t).
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Primjer
Želimo pronaci oblik funkcije Bi,1(t).Primijetimo da Bi,1(t) ovisi samo o Bi,0(t) i Bi+1,0(t).Pretpostavimo da je ti < ti+1 < ti+2.Tada Bi,0(t) 6= 0 za t ∈ [ti , ti+1〉, i Bi+1,0(t) 6= 0 zat ∈ [ti+1, ti+2〉.Tada slijedi da je Bi,1(t) razlicit od 0 za t ∈ [ti , ti+2〉.Sada je
Bi,1(t) =t − ti
ti+1 − tiBi,0(t) +
ti+2 − tti+2 − ti+1
Bi+1,0(t)
=
{ t−titi+1−ti
, za t ∈ [ti , ti+1〉ti+2−t
ti+2−ti+1, za t ∈ [ti+1, ti+2〉
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Bi,1(ti+1) = 1, i Bi,1(t) je po dijelovima linearna funkcijakoja je razlicita od nule na dva susjedna intervalacvorova.Indukcijom možemo zakljuciti da je Bi,k (t) po dijelovimapolinom stupnja k .
Slika: (a) B-splajn stupnja 0; (b) B-splajn stupnja 1.
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
LemaAko je t < ti ili t ≥ ti+k+1, tada je Bi,k (t) = 0, tj. Bi,k (t) možebiti razlicit od 0 samo na intervalu [ti , ti+k+1〉.
Dokaz.Dokaz se provodi indukcijom.
Prema definiciji, tvrdnja je istinita za k = 0.Pretpostavimo da je tvrdnja istinita za B-splajnovestupnja k − 1.Dakle, Bi,k−1(t) = 0 za t < ti i t ≥ ti+k , aBi+1,k−1(t) = 0 za t < ti+1 i t ≥ ti+k+1.Ubacujuci te tvrdnje u de Boor – Coxovu rekurziju,dobivamo da prvi izraz može biti razlicit od 0 zat ∈ [ti , ti+k 〉, a drugi izraz može biti razlicit od 0 zat ∈ [ti+1, ti+k+1〉.
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Dokaz (nastavak).
Prema tome, Bi,k (t) može biti razlicit od 0 na uniji tihdvaju intervala, tj. za t ∈ [ti , ti+k+1〉.
Lema
Bi,k (t) > 0 za t ∈ 〈ti , ti+k+1〉.
Konkretinije, Bi,k (ti+k+1) = 0, a Bi,k (ti) može biti jednak ilirazlicit 0, ovisno o cvorovima.
Dokaz.Prema definiciji, Bi,0 > 0 za t ∈ 〈ti , ti+1〉 pa je prvatvrdnja istinita za k = 0.
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Dokaz (nastavak).Pretpostavimo da je prva tvrdnja istinita za B-splajnovestupnja k − 1.Dakle, Bi,k−1(t) > 0 za t ∈ 〈ti , ti+k 〉 i Bi+1,k−1(t) > 0 zat ∈ 〈ti+1, ti+k+1〉.Ubacujuci te tvrdnje u de Boor – Coxovu rekurziju,dobivamo da je prvi izraz pozitivan za t > ti , a drugiizraz je pozitivan za t < ti+k+1.Prema tome, Bi,k (t) je pozitivan na presijeku tih dvajuintervala, tj. Bi,k (t) > 0 za t ∈ 〈ti , ti+k+1〉.Buduci da je Bj,0(tj+1) = 0 za sve j , druga tvrdnja vrijediza k = 0.Pretpostavimo da je Bj,k−1(tj+k ) = 0 za sve j .
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Dokaz (nastavak).Tada je
Bi,k (ti+k+1) =ti+k+1 − titi+k − ti
Bi,k−1(ti+k+1)+
+ti+k+1 − ti+k+1
ti+k+1 − ti+1Bi+1,k−1(ti+k+1)
=ti+k+1 − titi+k − ti
· 0 + 0 · 0 = 0
zbog prethodne leme za ti+k < ti+k+1zbog pretpostavke indukcije za ti+k = ti+k+1zbog pretpostavke indukcije
Za slucaj kada je ti = ti+1, vrijedi Bi,1(ti) = Bi,1(ti+1) =1, ali ako je ti < ti+1 tada je Bi,1(ti) = 0.
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
DefinitionFunkcija koja je razlicita od 0 samo na konacnom intervalurealnog pravca zove se lokalna funkcija.
B-splajnovi su lokalne funkcije za sve i i k .
KorolarAko je t ∈ 〈tj , tj+1〉, za tj < tj+1, i i ∈ {j − k , j − k + 1, . . . , j}tada je Bi,k (t) > 0 za njih ukupno k + 1
Dokaz.Iz prethodne leme znamo da je nosac od Bi,k (t)sadržan u [ti , ti+k+1〉.Ako je tj ∈ {ti , ti+1, . . . , ti+k}, tada je Bi,k (t) > 0 zat ∈ 〈tj , tj+1〉.Dakle, i = j , j − 1, . . . , j − k .
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
TeoremAko je γ(t) krivulja definirana de Boorovim algoritmom iα(t) =
∑ni=0 PiBi,k (t), gdje su Bi,k (t) definirane de Boor –
Coxovom rekurzijom, tada je γ(t) = α(t).
Dokaz.Za t ∈ [tj , tj+1〉 je
α(t) =n∑
i=0
PiBi,k (t)
=
j∑i=j−k
PiBi,k (t)
buduci da su to jedini B-splajnovi koji su razliciti od 0 u t .
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Dokaz (nastavak).Iz rekurzije slijedi
α(t) =
j∑i=j−k
Pi
(t − ti
ti+k − tiBi,k−1(t) +
ti+k+1 − tti+k+1 − ti+1
Bi+1,k−1(t))
=
j∑i=j−k
Piti+k+1 − t
ti+k+1 − ti+1Bi+1,k−1(t) +
j∑i=j−k
Pit − ti
ti+k − tiBi,k−1(t)
=
j+1∑i=j−k+1
Pi−1ti+k − tti+k − ti
Bi,k−1(t) +
j∑i=j−k
Pit − ti
ti+k − tiBi,k−1(t)
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Dokaz (nastavak).
Nosac od Bj+1,k−1(t) se nalazi unutar [tj+1, tj+k+1〉, paje Bj+1,k−1(t) = 0 za t ∈ [tj , tj+1〉.Nosac od Bj−k ,k−1(t) se nalazi unutar [tj−k , tj〉, pa jeBj−k ,k−1(t) = 0 za t ∈ [tj , tj+1〉.Zbog toga nam ostaje
α(t) =
j∑i=j−k+1
(Pi−1
ti+k − tti+k − ti
Bi,k−1(t) + Pit − ti
ti+k − tiBi,k−1(t)
)
=
j∑i=j−k+1
(Pi−1
ti+k − tti+k − ti
+ Pit − ti
ti+k − ti
)Bi,k−1(t)
=
j∑i=j−k+1
P [1]i Bi,k−1(t).
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Dokaz (nastavak).Indukcijom se dalje pokazuje da je
α(t) =
j∑i=j
P [k ]i Bi,0(t)
=P [k ]j
=γ(t)
KorolarZa t ∈ [ti , ti+1〉, krivulja B-splajnova je konveksnakombinacija od Pi−k , . . . ,Pi . To se zove svojstvo konveksneljuske.
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Slika: Krivulja i njen kontrolni podpoligon za unutarnji interval.
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Svojstva B-spajnova
Definicija
Pretpostavimo da je t vektor cvorova sa N + 1 elemenata.Tada postoji tocnon N − k B-splajnova stupnja k koji sudefinirani na vektoru t.Definiramo notaciju
Sk ,t =
{N−k−1∑
i=0
PiBi,k (t) : Pi ∈ R
}.
Sk ,t se zove prostor B-splajnova stupnja k na vektorucvorova t.
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Lema
Za vektor cvorova t = {ti}Ni=0 i za t ∈ [tk , tN−k 〉 vrijedi
N−k−1∑i=0
Bi,k (t) = 1, za sve k ≥ 0.
Dalje, za t < tk ili t > tN−k je
N−k−1∑i=0
Bi,k (t) < 1.
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
TeoremAko je Bi,k (t) B-splajn stupnja k definiran na vektorucvorova t, tamo gdje derivacija postoji (izmedu cvorova iponekad u samim cvorovima) ona se može izracunatipomocu izraza
B′i,k (t) = k(
Bi,k−1(t)ti+k − ti
−Bi+1,k−1(t)
ti+k+1 − ti+1
).
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
TeoremZa krivulju B-splajnova
γ(t) =N−k−1∑
i=0
PiBi,k (t),
j -ta derivacija je dana sa
d j
dt j γ(t) =
N−(k−j)−1∑i=0
Qj,iBi,k−j(t),
gdje su
Qj,i =
{Pi , za j = 0(k − j + 1)
Qj−1,i−Qj−1,i−1ti+k−j+1−ti
, za j > 0,
a Qj−1,−1 = Qj−1,N−(k−j)−1 = Θ.
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
KorolarPretpostavimo da vrijede uvjeti prethodnog teorema. Tadaza t ∈ [tj , tj+1〉, i = j − (k − 1) + `, . . . , j , i ` = 1, . . . , k − 1vrijedi
Q[`]1,i = k
P [`]i − P [`]
i−1
ti+k−` − ti.
KorolarMoguce je izvrijedniti i tocku na krivulji i derivaciju u njoj sajednom primijenom de Boorovog algoritma, jer je
Q[k−1]1,j = k
P [k−1]j − P [k−1]
j−1
tj+1 − tj.
Ovi korolari slijede iz primjene de Boorovog algoritma naγ′(t) =
∑N−ki=0 Q1,iBi,k−1(t) i iz prethodnog teorema.
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
DefinicijaDefiniramo
PPk ,u,m ={f (t) : f (t)|〈ui ,ui+1〉 polinom stupnja manje od ili
jednak k, i f ∈ C(k−mi ) u ui}.
Ako je prostor po dijelovima polinoma definiran na [a,b],tada oznacavamo
PPk ,u,m[a,b].
Lako se može pokazati da je PPk ,u,m vektorski prostor.
TeoremAko je t vektor cvorova dobiven iz u i m, tada je
Bi,k ∈ PPk ,u,m[tk , tN−k ].
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
KorolarAko je zadan vektor cvorova {ti , ti+1, . . . , ti+k+1} koji imarazlicite rastuce vrijednosti {ui1 , . . . ,uis}, pri cemu se svakaod njih ponavlja sa multiplicitetima {mi1 , . . . ,mis}, tada jeBi,k ∈ C(k−mij
) u uij .
TeoremBi,k je unimodalan, tj. postoji tocno jedam ekstrem na〈ti , ti+k+1〉.
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Neprekidnost u krajevima krivulje
Pretpostavimo da imamo definiranu krivuljuγ(t)
∑N−k−1i=0 PiBi,k (t) sa pripadajucim vektorom
cvorova {t0, . . . , tN}.Njezina domena je [tk , tN−k 〉.
Pocetna krajnja tocka
Vrijedi tk = ujk .Ako je tk = tk+1, tada je B0,k ≡ 0 i nece imati nikakavdoprinos u γ.Zato pretpostavljamo da je tk < tk+1.Neka je tk+1−mjk
= · · · = tk , i mora biti mjk ≤ k + 1.
Za mjk < k + 1 B0,k je klase C(k−mjk ) u tk .Za mjk = k + 1 je t0 = t1 = · · · = tk < tk+1 i B0,k imaprekid u tk .
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Zbog definicije B-splajnova oni su neprekidni zdesna:
B0,k (tk ) = limt→t+k
B0,k (t)
= limt→t+k
tk+1 − ttk+1 − t1
B1,k−1(t)
= limt→t+k
tk+1 − ttk+1 − t1
tk+1 − ttk+1 − t2
B2,k−2(t)
=...
= limt→t+k
(tk+1 − ttk+1 − tk
)k
Bk,0
=1
To znaci da su Bi,k (t) i = 0, . . . neprekidni sa unutarnjestrane lijevog ruba domene.
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Završna krajnja tocka
Pretpostavljamo da je tN−k−1 < tN−k kako ne bi bioBN−k−1,k ≡ 0.Ako je tN−k = · · · = tN , i multiplicitet tocke tN−k je k + 1,BN−k−1,k ima prekid u tN−k .Isto kao i kod pocetne krajnje tocke
limt→t−N−k
BN−k−1,k (t) = limt→t−N−k
(t − tN−k−1
tN−k − tN−k−1
)k
BN−k−1,0(t)
=1
Medutim iz de Boor – Coxove rekurzije slijedi da je
BN−k−1,k (tN−k ) = 0.
Zbog toga BN−k−1,k (t) nije neprekidna sa unutarnjestrane desnog ruba domene.
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Ako želimo neprekidnost i na tom rubu domenemoramo modificirati de Boor – Coxovu rekurziju.
Definicija
Neka je zadan vektor cvorova {ti}Ni=0, i pretpostavimo da jej = max{i : ti < ti+1, i ∈ {0, . . . ,N − 1}}. Definiramo
Bi,0(t) =
1, za t ∈ [ti , ti+1〉, i < j1, za t ∈ [tj , tj+1], i = j0, inace
Ova modifikacija utjece samo na zadnji netrivijalni B-splajnsvih stupnjeva, koji time postaje neprekidan u desnom rubudomene. BN−k−1,k (tN−k ) = 1.
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Bernsteinove funkcije kao B-splajnovi
TeoremNeka su
u = {a,b} i m = {k + 1, k + 1},a t = {t0 = t1 = · · · = tk < tk+1 = · · · = t2k+1} je vektorcvorova, gdje su t0 = a i tk+1 = b.
Tada za t ∈ [a,b], ` = 0, . . . , k i i = 0, . . . , ` vrijedi
Bi+k−`,`(t) = θi,`
(t − ab − a
).
Dakle, za ovaj poseban izbor vektora cvorova B-splajnovisvode se na Bernsteinove funkcije miješanja.
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
KorolarZa t = {t0 = t1 = · · · = tk < tk+1 = · · · = t2k+1} je
Sk ,t = Pk [tk , tk+1],
i za ovaj poseban izbor vektora cvorova krivulja B-splajnovasvodi se na Bézierovu krivulju.
TeoremAko je t = {t0 = t1 = · · · = tk < tk+1 = · · · = t2k+1}, tada suB-splajnovi linearno nezavisni i cine bazu prostora Sk ,t.
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Uniformni B-splajnovi
Razmatramo slucaj kada su udaljenosti izmedususjednih cvorova jednake, tj.
ti = t0 + ih, h ∈ R+.
Lako se može pokazati da ako vektor cvorovatransformiramo tako da je h = 1 i t0 = 0, B-splajnovi senece promijeniti.Ovime se i racunanje B-splajnova i krivulja B-splajnovaznatno pojednostavljuje.Dakle, ti = i i domena krivulja B-splajnova je [k ,n + 1].Tada je za sve i-ove
Bi+1,0(t) =
{1, t ∈ [i + 1, i + 2〉0, t /∈ [i + 1, i + 2〉
=Bi,0(t − 1)
Prema tome, Bi+1,0(t) je translatirana verzija od Bi,0(t).
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Indukcijom cemo pokazati da to vrijedi i za B-splajnovevišeg stupnja.Pretpostavimo da vrijedi
Bj+1,k−1(t) = Bj,k−1(t − 1), za svet i j .
Tada je
Bi+1,k (t) =t − (i + 1)
((i + 1) + k)− (i + 1)Bi+1,k−1(t)+
+((i + 1) + k + 1)− t
((i + 1) + k + 1)− ((i + 1) + 1)B(i+1)+1,k−1(t)
=(t − 1)− i(i + k)− i
Bi+1,k−1(t) +(i + k + 1)− (t − 1)
(i + k + 1)− (i + 1)B(i+1)+1,k−1(t)
=(t − 1)− i(i + k)− i
Bi,k−1(t − 1) +(i + k + 1)− (t − 1)
(i + k + 1)− (i + 1)Bi+1,k−1(t − 1)
odakle jeBi+1,k (t) = Bi,k (t − 1).
Ovime smo dokazali sljedeci teorem.
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
TeoremZa vektor cvorova t definiran tako da je ti = i , je
Bi+1,k (t) = Bi,k (t − 1) za sve t .
KorolarZa vektor cvorova t definiran tako da je ti = i , vrijedi
Bi+j,k (t) = Bi,k (t − j),
za sve t, i za sve i, j i k za koje su B-splajnovi definirani.
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
NapomenaZbog svojih svojstava krivulje uniformnih B-splajnovamogu se osim de Boorovim algoritmom racunati na dvadrugacija nacina:
1 matricnom metodom,2 spremanje u tablicu vrijednosti samo jednog B-splajna,
buduci da se ostali mogu dobiti translacijom tog jednogB-splajna.
Ove dvije metode su znacajno brže od de Boorovogalgoritma.Medutim uniformni B-splajnovi nisu toliko fleksibilni kaoneuniformni.
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Matricna metoda za racunanje krivuljauniformnih kubicnih B-splajnova
Prema prethodnom korolaru postoji samo jedanistaknuti B-splajn (svi ostali izgledaju isto, samo sudefinirani na translatiranim domenama).Na intervalu [tj , tj+1〉 postoji 4 netrivijalna kubicnaB-splajna: Bj−3,3(t), Bj−2,3(t), Bj−1,3(t) i Bj,3(t).Dozvoljavajuci da indeksi vektora cvorova i kontrolnihtocaka zapocinju sa −3, za [tj , tj+1〉 i j = 0, . . . ,n − 3možemo pisati
γ(t) = [ Bj−3,3(t) Bj−2,3(t) Bj−1,3(t) Bj,3(t) ]
Pj−3Pj−2Pj−1Pj
.
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Medutim za uniformne B-splajnove vrijedi
Bj−3,3(t) =B−3,3(t − j)Bj−2,3(t) =B−2,3(t − j)Bj−1,3(t) =B−1,3(t − j)
Bj,3(t) =B0,3(t − j)
Kako je [tj , tj+1〉 = [j , j + 1〉, slijedi t − j ∈ [0,1〉.Dakle, za t ∈ [0,1〉 je
γ(t+j) = [ B−3,3(t) B−2,3(t) B−1,3(t) B0,3(t) ]
Pj−3Pj−2Pj−1Pj
.
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Slijedi, ako znamo vrijednosti B-splajnova B−3,3(t),B−2,3(t), B−1,3(t), B0,3(t) za t ∈ [0,1〉 znat cemoizvrijedniti tocku γ(t) za bilo koji t .Postupak se vrši na sljedeci nacin.
1 Izaberi vrijednosti xp, p = 0, . . . ,m, takve da su0 = x0 < · · · < xm = 1.
2 Izvrijedni Bi,3(xp) za i = −3,−2,−1,0 i p = 0, . . . ,m.3 Za j = 0, . . . ,n − 3 izracunaj
γ(xp+j) = [ B−3,3(xp) B−2,3(xp) B−1,3(xp) B0,3(xp) ]
Pj−3Pj−2Pj−1Pj
,pri cemu
p =
{0, . . . ,m − 1, za j = 0, . . . ,n − 40, . . . ,m, za j = n − 3 .
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Iako se ova metoda cini vrlo jednostavnom, potrebno jeizracunati i spremiti m + 1 vrijednosti za 4 razlicitaB-splajna.Postupak racunanja možemo razvijati i dalje i definirati
B =[ B−3,3(t) B−2,3(t) B−1,3(t) B0,3(t) ]
=[ t3 t2 t 1 ]C
buduci da je svaki B-splajn polinom na segmentu [0,1].Za t ∈ [0,1〉 se može izracunati
B−3,3(t) =(1− t)3
3!
B−2,3(t) =3t3 − 6t2 + 4
3!
B−1,3(t) =−3t3 + 3t2 + 3t + 1
3!
B0,3(t) =t3
3!
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Sada možemo zapisati elemente matrice C:
C =
−1/6 1/2 −1/2 1/61/2 −1 1/2 0−1/2 0 1/2 01/6 2/3 1/6 0
.Napokon možemo sve to zapisati zajedno. Za t ∈ [0,1〉je
γ(t+j) = [ t3 t2 t 1 ]
−1/6 1/2 −1/2 1/61/2 −1 1/2 0−1/2 0 1/2 01/6 2/3 1/6 0
Pj−3Pj−2Pj−1Pj
.
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Vektorski prostori B-splajnova
LemaNeka je
Sk ,t =
{∑i
PiBi,k (t) : Pi ∈ Rq
}skup svih linearnih kombinacija modificiranih normaliziranihB-splajnova stupnja k na vektoru cvorova t sa koeficijentimau Rq. Tada je Sk ,t vektorski prostor.
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
PrimjerUsporedimo
vektor cvorova {0,0,0,0,1,2,2,2,2}s vektorom cvorova {0,1,2,3,4,5,6,7,8}.
Ako je k = 3 i n = 4, tada postoji 5 B-splajnova kojemožemo koristiti za generiranje krivulja u oba slucaja.
1 Za prvi vektor cvorova domena krivulje je[t3, t5] = [0,2].
U tom slucaju B0,3 je klase C(−1) u t = 0, i vrijediB0,3(0) = 1.Bi,3, za i = 1,2,3,4 su neprekidne u t = 0, i vrijediBi,3(0) = 0.Zbog toga je
γ(t3) =4∑
i=0
PiBi,3(t3) = P0.
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Primjer (nastavak)
Analaogno je B4,3 klase C(−1) u t = 2, i vrijediB4,3(2) = 1 (modificirana vrijednost).Bi,3, za i = 0,1,2,3 su neprekidne u t = 2, i vrijediBi,3(2) = 0.Zbog toga je
γ(t5) =4∑
i=0
PiBi,3(t5) = P4.
2 Za drugi vektor cvorova domena krivulje je[t3, t5] = [3,5].
U tom slucaju svi B-splajnovi su klase C(2) na cijelojdomeni.Vrijedi B0,3(t3) > 0, B1,3(t3) > 0, B2,3(t3) > 0 iB3,3(t3) = B4,3(t3) = 0.
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Primjer (nastavak)Zbog toga je
γ(t3) =4∑
i=0
PiBi,3(t3) =2∑
i=0
PiBi,3(t3).
Analogno vrijedi B0,3(t5) = B1,3(t5) = 0, B2,3(t5) > 0,B3,3(t5) > 0 i B4,3(t5) > 0.
γ(t5) =4∑
i=0
PiBi,3(t5) =4∑
i=2
PiBi,3(t5).
Kada se krivulja promatra kao parametarska funkcija, akoeficijenti {Pi} su tocke u R3, ti koeficijenti nam daju uvid unjen smještaj i oblik.
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Primjer
Sljedece slike prikazuju primjere krivulja B-splajnova sarazlicitim vektorima cvorova i razlicitim stupnjevima, alidefinirane sa istim kontrolnim poligonom.Ovi primjeri pokazuju veliku fleksibilnost B-splajnovanad Bézierovom krivuljom.
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Slika: (a) k = 2, t = {0,0,0,1,2,3,3,3};(b) k = 3, t = {0,0,0,0,1.5,3,3,3,3}.
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Slika: (a) k = 3, t = {0,0,0,0,0.5,3,3,3,3};(b) k = 3, t = {0,0,0,0,2.5,3,3,3,3}.
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Pretpostavimo da sut sa card(t) = n + k + 2τττ sa card(τττ) = m + k + 2
dva vektora cvorova koji definiraju prostore B-splajnovaSk ,t i Sk ,τττ za m,n > k .Razmatrat cemo prostore funkcija sa istim domenama,kada je Sk ,τττ potprostor od Sk ,t.Neka je tk = τk i tn+1 = τm+1 da bi domene bilejednake.Neka su u i υυυ vektori prijelomnih tocaka za t i τττ redom, ineka su m i µµµ odgovarajuci vektori multipliciteta.Ako je Sk ,τττ je gladi u ui nego Sk ,t, tada je multiplicitetod ui iz υυυ niži od multuiplicitet od ui iz u (može biti cak ijednak 0, pa ui /∈ υυυ).U tom slucaju bi moglo biti Sk ,τττ ⊂ Sk ,t.
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
TeoremPretpostavimo da su t i τττ vektori cvorova sa duljinaman + k + 2 i m + k + 2, gdje je n > m ≥ k. Ako t sadržielemente od τττ sa istim ili vecim multiplicitetom, tada je
Sk ,τττ ⊂ Sk ,t.
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
LemaNeka je τττ proizvoljni vektor cvorova sa odgovarajucimB-splajnovima Bi,k (t).
Neka je t ∈ R takav da je τ` ≤ t < τ`+1, tako dat = τττ ∪ {t} predstavlja novi vektor cvorova saodgovarajucim B-splajnovima Cj,k (t).
Tada je
Bi,k (t) =
Ci,k , i≤`−k−1
t − titi+k+1 − ti
Ci,k (t) +ti+k+2 − t
ti+k+2 − ti+1Ci+1,k (t), `−k≤i≤`
Ci+1,k (t), `+1≤i
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
KorolarZa τττ i t definirane u prethodnoj lemi vrijedi
n∑i=0
PiBi,k (t) =n+1∑j=0
QjCj,k (t),
gdje su
Qj =
Pj , j ≤ `− k
t − tjtj+k+1 − tj
Pj +tj+k+1 − ttj+k+1 − tj
Pj−1, `− k + 1 ≤ j ≤ `
Pj−1, `+ 1 ≤ j
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
KorolarNeka je τττ proizvoljni vektor cvorova sa pripadajucimprostorom B-splajnova Sk ,τττ .
Neka je t ∈ R takav da je τ0 ≤ t < τn+k+1, tako dat = τττ ∪ {t} predstavlja novi vektor cvorova sapripadajucim prostorom B-splajnova Sk ,t.
Ako t /∈ [tk , tn+1〉, tada Sk ,t promatramo na istoj domenikao i Sk ,τττ .
Tada jeSk ,τττ ⊂ Sk ,t.
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Definicija
Pretpostavimo da imamo dva vektora cvorova τττ i t, gdje jeτττ ⊂ t, odnosno
t = {ti} = τττ ∪ ηηη
gdje je ηηη = {ηi}qi=0 neki nepadajuci niz. ηηη može sadržavatiistu vrijednost više puta. Tada se t zove profinjenje od τττ .
TeoremPretpostavimo
τττ je proizvoljni vektor cvorova takav da je τi < τi+k+1 zasve i, sa pripadajucim prostorom B-splajnova Sk ,τττ ,t je neko profinjenje od τττ takvo da je tj < tj+k+1 za svej, sa pripadajucim prostorom B-splajnova Sk ,t.
Tada jeSk ,τττ ⊂ Sk ,t.
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Primjer
Slika: Krivulja i originalni kontrolni poligon;τττ = {0,0,0,0,1,4,5,7,10,10,10,10}.
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Primjer (nastavak)
Slika: Originalni i profinjeni kontrolni poligoni za umetnuti novicvor; t = {0,0,0,0,1,2,4,5,7,10,10,10,10}.
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Primjer (nastavak)
Slika: Originalni i profinjeni kontrolni poligoni za umetnute novecvorove na pola puta izmedu svih razlicitih τ -ova;t = {0,0,0,0,0.5,1,2.5,4,4.5,5,6,7,8.5,10,10,10,10}.
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Primjer (nastavak)
Slika: Originalni i profinjeni kontrolni poligoni za umetnuta dvanova cvora izmedu svaka dva razlicita τ -ova; t ={0,0,0,0,0.25,0.75,1,2,3,4,4.4,4.7,5,6,6,7,8,9,10,10,10,10}.
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Primjer (nastavak)
Slika: Originalni i profinjeni kontrolni poligoni za višestrukeumetnute cvorove;t = {0,0,0,0,1,2,2,2,2,4,5,7,7,7,7,10,10,10,10}.
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Primjer (nastavak)
Slika: Profinjenje profinjene krivulje na isti nacin;t1 = {0,0,0,0,0.5,1,2.5,4,4.5,5,6,7,8.5,10,10,10,10} it2 = {0,0,0,0,0.25,0.5,0.75,1,1.75,2.5,3.25,4,4.25,4.5,4.75,5,5.5,6,6.5,7,7.75,8.5,9.25,10,10,10,10}.
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
TeoremNeka je γ(t) =
∑i PiBi,k (t) krivulja B-splajnova sa
vektorom cvorova t0.Pretpostavimo da je tj = {tj,p}p profinjenje odtj−1 = {tj−1,q}q, tj. tj−1 ⊂ tj ukljucujuci multiplicitete.Neka je ∆j = maxp |tj,p − tj,p−1|.Dalje, neka je Dj(t) po dijelovima linearna krivulja kojapredstavlja kontrolni poligon vektora cvorova j-togprofinjenja.
Tada‖γ(t)− Dj‖ ≤ C(‖∆j‖)2‖γ′‖,
gdje je C konstanta koja ne ovisi niti o vektorima cvorova nitio funkciji γ.
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
TeoremAko je k ≥ 0 cijeli broj, a t je vektor cvorova sa n + k + 2elemenata, k ≤ n, tada je {Bi,k ,t, i = 0, . . . ,n} linearnonezavisan skup u Sk ,t i cini njegovu bazu.
Teorem
Sk ,t = PPk ,u,m.
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Raspored cvorova
Potrebni su nam konkretni kriteriji za odabir vektora cvorova.
Teorem
Neka je {ti}n+k+1i=0 vektor cvorova sa odgovarajucim
B-splajnovima {Bi,k (t)}ni=0, i neka je γ(t) =∑n
i=0 PiBi,k (t),t ∈ [tk , tn+1] promatrana krivulja B-splajnova. Pretpostavimoda je ti < ti+k+1 za sve i tako da niti jedna bazna funkcija(B-splajn) nije degenerirana. Pretpostavimo da postojiindeks j takav da je tj = · · · = tj+k−1. Tada vrijedi sljedece.
1 Ako je tj−1 < tj < tj+k (multipliciteta k), krivulja je klaseC(0) u tj i interpolira Pj−1.
2 Ako je tj−1 = tj (multipliciteta k + 1) tada je krivuljaklase C(−1) u tj−1 i vrijedi
limt→t−j−1
γ(t) = Pj−2, i limt→t+j−1
γ(t) = Pj−1.
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Teorem (nastavak)3 Ako je tj = tj+k (multipliciteta k + 1) tada je krivulja
klase C(−1) u tj i vrijedi
limt→t−j
γ(t) = Pj−1, i limt→t+j
γ(t) = Pj .
4 Ako je tj+k−1 < tj+k ≤ tn+1, tada je
limt→t+j
γ′(t) =k
tj+k − tj(Pj − Pj−1).
5 Ako je tk ≤ tj−1 < tj , tada je
limt→t−j
γ′(t) =k
tj − tj−1(Pj−1 − Pj−2).
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Korolar
Za vektor cvorova t = {ti}n+k+1i=0 takav da je t0 = · · · = tk i
tn+1 = · · · = tn+k+1 krivulja
γ(t) =n∑
i=0
PiBi,k (t)
interpolira tocke P0 u t = tk i Pn u t = tn+1, itangentna je na P1 − P0 u t = tk , i na Pn − Pn−1 ut = tn+1.
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Slika: Za k = 3 vektor cvorova je t = {0,1,2,3,4,5}, bezvišestrikih cvorova. Svi dijelovi krivulje spajaju se sa glatkocomC(2). Na slici su prikazane i konveksne ljuske kontrolnih tocakasvakog pojedinog dijela.
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Slika: Za k = 3 vektor cvorova je t = {0,1,1,2,3,4}, sa jednimdvostrukim cvorom. Dio krivulje oznacen sa Q4 sveo se na tocku.Konveksne ljuske od Q3 i Q5 sijeku se u bridu P2P3 na kojoj moraležati njihova spojna tocka. Krivulja je klase C(1) u toj tocci.
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Slika: Za k = 3 vektor cvorova je t = {0,1,1,1,2,3}, sa jednimtrostrukim cvorom. Dijelovi krivulje oznacen sa Q4 i Q5 sveli su sena tocke. Konveksne ljuske od Q3 i Q6 sijeku se u tocci P3 u kojojmora ležati njihova spojna tocka. Krivulja je klase C(0) u toj tocci.
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Slika: Za k = 3 vektor cvorova je t = {0,1,1,1,1,2}, sa jednimcetverostrukim cvorom. Dijelovi krivulje oznacen sa Q4, Q5 i Q6sveli su se na tocke. Konveksne ljuske od Q3 i Q7 imaju prazanpresjek, zbog cega krivulja ima prekid izmedu P3 i P4.
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Definicija
Krivulja B-splajnova stupnja k sa vektorom cvorovat = {ti}n+k+1
i=0 gdje je t0 = · · · = tk i tn+1 = · · · = tn+k+1 zovese otvorena krivulja B-splajnova.
Definicija
Krivulja B-splajnova stupnja k definirana na [tk , tn+1] kodkoje ne vrijede uvijeti na multiplicitete nužni za interpolacijubilo koje od krajnjih kontrolnih tocaka zove se plivajucakrivulja B-splajnova.
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
DefinicijaDefiniramo ∆i = ti+1 − ti .
Ako je ∆i = ∆i+1 za sve i, tada se sve krivuljeB-splajnova koje koriste t kao svoj vektor cvorova zovuuniformne plivajuce krivulje B-splajnova.Ako je t vektor cvorova koji odgovara otvorenoj krivuljiB-splajnova i ∆k+i = ∆k+i+1 za i = 0, . . . ,n − k − 1,tada se sve odgovarajuce otvorene krivulje zovuuniformne otvorene krivulje B-splajnova.Sve krivulje ciji vektori cvorova ne zadovoljavaju gornjeuvjete zovu se neuniformne krivulje B-splajnova.
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Interpolacija B-splajnovima
Neka nam je zadan skup od s + 1 uredenih parovapodataka {(ui ,pi)}si=0.Problem interpolacije u prostoru Sk ,t svodi se napronalaženje koeficijenata Pj takvih da
pi =n∑
j=0
PjBj,k ,t(ui), i = 0, . . . , s.
Neka nam je zadan skup od s + 1 uredenih trojkipodataka {(ui ,pi ,qi)}si=0.Problem Hermiteove interpolacije u prostoru Sk ,t svodise na pronalaženje koeficijenata Pj takvih da
pi =n∑
j=0
PjBj,k ,t(ui), i = 0, . . . , s,
qi =n∑
j=0
PjB′j,k ,t(ui), i = 0, . . . , s.
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
C(2) kubicna interpolacija u cvorovima
Koristit cemo neuniformne otvorene kubicneB-splajnove.Rješavat cemo problem interpolacije tocaka{(ui ,pi)}si=0 sa C(2) po dijelovima kubicnompolinomijalnom krivuljom.Cvorovi ce biti definirani u {ui}si=0.Da bi ovi uvjeti bili zadovoljeni, mora vrijediti sljedece:
Domena interpolacijeske krivulje je [u0,us].Krivulja mora biti klase C(2) na spojevima, zato unutarnjicvorovi moraju biti jednostruki s vrijednostima {ui}s−1
i=1 .Dakle, vektor cvorova t = {tj} mora biti definiran sa
tj =
u0, j = 0,1,2,3uj−3, j = 4, . . . , s + 2us, j = s + 3, s + 4, s + 5, s + 6
Postoji s + 3 razlicitih B-splajnova Bj,3 definiranih ovimvektorom cvorova.
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Buduci da imamo s + 1 interpolacijskih tocaka, amoramo odrediti s + 3 koeficijenta Pj , ostaje nam 2stupnja slobode.Postoji nekoliko nacina kako da postavimo uvjete na tadva dodatna stupnja slobode.
1 Zahtijevamo da je γ′′(u0) = 0 i γ′′(us) = 0. Ova vrstainterpolanta zove se interpolant prirodnim splajnom.
2 Zahtijevamo da je interpolant klase C(3) u u1 i us−1. Tose zove uvijet bez cvora, jer prva dva segmenta [u0,u2]i zadnja dva segmenta [us−2,us] cvorova specificirajujedan kubicni polinom kao da u1 i us−1 i nisu cvorovi.
3 Zahtijevamo da su zadane tangente u krajnjim tockamakrivulje, tj. γ′(u0) = p′0 i γ′(us) = p′s. Ova vrstainterpolanta zove se kompletan interpolant kubicnimsplajnom i on se najcešce koristi.
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Ako je n = s + 2, tada tražimo kompletan interpolantkubicnim splajnom oblika
γ(t) =n∑
i=0
PiBi,3(t),
takav da vrijedi
pj =γ(uj) =n∑
i=0
PiBi,3(uj) j = 0, . . . , s
p′j =γ′(uj) =n∑
i=0
PiB′i,3(uj) j = 0, s
Buduci da smo odredili da je interpolant otvorenakrivulja B-splajnova, mora biti
P0 = p0, Pn = ps.
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Dalje, u u0 = t0 = · · · = t3 samo B0,3 i B1,3 imajuderivacije razlicite od nule.
B0,3 je klase C(−1) u u0.B1,3 je klase C(0) u u0.Bi,3 je barem klase C(1) u u0 za i ≥ 2, a za t < u0 jeBi,3 ≡ 0. Dakle, B′i,3(u0) = 0.
Buduci da vrijedi∑n
i=0 B′i,3(t) = 0 za sve t , imamo
B′0,3(u0) = −B′1,3(u0).
SlicnoB′n−1,3(us) = −B′n,3(us).
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Napokon moramo odrediti koji B-splajnovi poprimajuvrijednost razlicitu od nule u ui , i = 1, . . . , s − 1.Buduci da je ti+3 = ui < ui+1 = ti+4, samo Bi,3, Bi+1,3,Bi+2,3 i Bi+3,3 mogu biti razliciti od nule u ui .Ali na intervalu [ti+2, ti+3〉 samo Bi−1,3, Bi,3, Bi+1,3 iBi+2,3 mogu poprimiti vrijednosti razlicite od nule.Sada, Bi−1,3 i Bi+3,3 su klase C(2) u ti+3, i buduci dasvaki od njih poprima nulu na jednoj strani od tog cvorai vrijednosti razlicite od nule na drugoj, vrijedi
Bi−1,3(ui) = 0, Bi+3,3(ui) = 0.
Dakle slijedi
pi =i+2∑j=i
PjBj,3(ui).
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Dobivene zakljucke možemo iskoristiti za dobivanjesustava
B
P0P1P2...
Pn−2Pn−1Pn
=
p0p′0p1...
ps−1p′sps
.
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Za bi,j = Bi,3(uj) i b′i,j = B′i,3(uj), matrica B je oblika
B =
1 0 0 0 · · · 0 0 0 0b′0,0 b′1,0 0 0 · · · 0 0 0 00 b1,1 b2,1 b3,1 · · · 0 0 0 0
. . .. . .
. . .0 0 0 0 · · · bn−3,s−1 bn−2,s−1 bn−1,s−1 00 0 0 0 · · · 0 0 b′n−1,s b′n,s0 0 0 0 · · · 0 0 0 1
.
Rješenje ovog (n + 1)× (n + 1) sustava linearnihjednadžbi daje koeficijente B-splajnova.Ova matrica može biti velikih dimenzija, ali jetridijagonalna pa za nju postoji mnogo efikasnihnumerickih metoda.Za parametarsku interpolaciju (Pi ∈ R3), sustav serješava posebno za svaku koordinatu koeficijenata.
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Po dijelovima kubicna Hermiteova interpolacija
Neka je k = 3 i pretpostavimo da je zadano m + 1 trojkikoji se sastoje od vrijednosti parametra, tocke nakrivulji i njene derivacije {(ui ,pi ,qi)}mi=0.Ponovo konstruiramo vektor cvorova t za otvorenukrivulju B-splajnova sa
ti =
u0, i = 0,1,2,3uj , i = 2j + 2,2j + 3, j = 1, . . . ,m − 1um, i = 2m + 2,2m + 3,2m + 4,2m + 5
Prostor Sk ,t je klase C(1) za svaku vrijednost parametraui , i = 1, . . . ,m − 1, jer je multiplicitet svakogunutarnjeg cvora jednak 2.t ima N + 1 = 2m + 6 = n + 5 elemenata, i postojin + 1 = 2m + 2 razlicitih B-splajnova Bi,3 definiranihovim vektorom cvorova.
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
S druge strane moramo riješiti sustav od 2m + 2linearnih jednadžbi za nepoznate koeficijente.
pj =γ(uj) =2m+1∑i=0
PiBi,3(uj) j = 0, . . . ,m
qj =γ′(uj) =2m+1∑i=0
PiB′i,3(uj) j = 0, . . . ,m
Primijetimo da je Bi,3(uj) 6= 0 i B′i,3(uj) 6= 0 zai = 2j ,2j + 1.
uj = t2j+2 = t2j+3, pa su jedini B-splajnovi (klase C(1)) zakoje je uj unutar nosaca B2j,3 i B2j+1,3.
Dakle slijedi
pj =
2j+1∑i=2j
PiBi,3(uj), qj =
2j+1∑i=2j
PiB′i,3(uj)
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Dobivene zakljucke možemo iskoristiti za dobivanjesustava
H
P0P1P2...
Pn−2Pn−1Pn
=
p0q0p1q1...
psqs
.
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Opcenito, elementi matrice H su oblika
h`,i =
{Bi,3(uj), ` = 2jB′i,3(uj), ` = 2j + 1 , i = 0, . . . ,2m + 1,
pri cemu je matrica H blok dijagonalna matrica, sa2× 2 blokovima na dijagonali
Hj =
[B2j,3(uj) B2j+1,3(uj)B′2j,3(uj) B′2j+1,3(uj)
].
Dakle,
H =
D0 0 0. . .
0 0 Dm
.
Prikazivanjekrivulja
Nela Bosner
Konike
Bézierovekrivulje
B-splajnoviKonstruktivne podijelovimapolinomijalne krivulje
B-splajn funkcijemiješanja
Svojstva B-spajnova
Neprekidnost ukrajevima krivulje
Bernsteinove funkcijekao B-splajnovi
Uniformni B-splajnovi
Matricna metoda zaracunanje krivuljauniformnih kubicnihB-splajnova
Vektorski prostoriB-splajnova
Raspored cvorova
InterpolacijaB-splajnovima
C(2) kubicnainterpolacija ucvorovima
Po dijelovimakubicna Hermiteovainterpolacija
Slika: (a) Podaci; (b) podaci, po dijelovima Hermiteov interpolant ikompletan interpolant kubicnim splajnom.