Raunarskagrafikapredavanjadoc.dr. Samir [email protected]
25. Parametarske krivePredstavljanje krivuljaParametarske kriveParametarske kubne krivuljeHermitovi kubni splajnoviHermitove funkcije mijeanja
Predstavljanje krivuljaSloeni geometrijski oblici u vektorskoj grafici se ne mogu uvijek opisati ravnim i krunim (lunim) segmentima.
Predstavljanje krivuljaPomou niza taakaKrivulja je predstavljena priblino, kao izlomljena linija nije pogodno za glatke linijeTeko za manipulaciju jer se sve take moraju premjetati pojedinanoUmjesto toga, krivulja se modelira kao polinomx = x(t), y = y(t), z = z(t) gdje su x(), y(), z() polinomi, a t je parametar
PolinomiLinearni:
Kvadratni:
Kubni:
Predstavljanje krivuljaKontrolne takeSet taaka koje imaju utjecaj na oblik krivuljevoroviKontrolne take koje lee na krivojSplajnovi za interpolacijuKrivulje koje prolaze kroz kontrolne take (vorove)Aproksimativni splajnoviSamo kontrolne take utjeu na oblik
Parametarske kriveFleksibilno predstavljanje krivuljeNe moraju biti funkcijeMogu imati vie vrijednosti u odnosu na bilo koju dimenziju
Kubni polinomix(t) = axt3 + bxt2 + cxt + dxy(t) = ayt3 + byt2 + cyt + dyz(t) = azt3 + bzt2 + czt + dzNeka je t: (0 t 1)Ako se uvede oznaka T = [t3 t2 t 1]Matrica koeficijenata CKrivulja: Q(t) = TC
Parametarske kriveKako odrediti tangentu na krivulju?Ako je f(x) =tangenta za (x=3) jeIzvod od Q(t) je vektor tangente u t:
IzvodiOdreivanje izvoda (tangenti) krivulje:
Segmenti krivuljeKrivulje se konstruiu povezivanjem krajeva vie manjih segmenataMoraju postojati pravila o tome kako se vri povezivanje
Kontinuitet opisuje vezuParametarski kontinuitetGeometrijski kontinuitet
Parametarski kontinuitetParametarski kontinuitet je koncept koji opisuje promjenu vrijednosti parametra du krivuljeMoe se uporediti s krivuljom koja opisuje kretanje objekta, i u tom sluaju vrijeme predstavlja parametar "t" Promjena se opisuje izvodimaKontinuitet predstavlja pokazatelj zakrivljenosti krivulje na prelazu segmenata
Parametarski kontinuitetC1: krivulje imaju prekide (diskontinuitete)C0: krivulje su spojene (imaju zajedniku taku)C1: prvi izvodi krivulja su jednakiC2: prvi i drugi izvodi krivulja su jednakiCn: izvodi od prvog do n-tog su jednaki
Geometrjski kontinuitetGeometrijski kontinuitet:G0 kontinuitet predstavlja neprekidnost krivulje u taki dodira segmenataG1 kontinuitet podrazumijeva zajedniki pravac vektora tangente u taki dodira segmenata.G2 kontinuitet podrazumijeva da segmenti imaju zajedniki centar zakrivljenosti u taki dodiraSmjer (ne obavezno i intenzitet) tangenti se poklapa, odnosno vrijednosti tangenti na krajevima dva segmenta su proporcionalne
Parametarske kubne krivuljeDa bi se osigurao C2 kontinuitet, krivulje moraju biti najmanje treeg redaData je parametarska definicija kubnog splajna (3. reda) u dvije dimenzijeKako je proiriti na tri dimenzije?
Parametarske kubne krivuljeMoe se predstaviti i u matrinom obliku
KoeficijentiKako izabrati koeficijente?[ax bx cx dx] i [ay by cy dy] moraju zadovoljiti ogranienja koja nameu vorovi i uslovi kontinuiteta
Parametarske krivuljeKrivulju je teko konceptualizirati kao x(t) = axt3 + bxt2 + cxt + dx (Crtai ne razmiljaju o koeficijentima ili kubnim jednainama) Umjesto toga, krivulja se definie kao kombinacija 4 precizno definisana kubna polinoma Svaki tip krivulje definie razliite kubne polinome
Parametarske krivuljeHermitove - dvije krajnje take i dva vektora tangenti u krajevimaBezier - dvije krajnje take i dvije druge take koje definiu vektore tangenti u krajevimaSplajnovi - etiri kontrolne take C1 i C2 kontinuitet u takama dodiraPribliavaju se svojim kontrolnim takama, ali ih ne moraju uvijek dodirnuti
Hermitovi kubni splajnoviPrimjer vorova i kontinuiteta
Hermitovi kubni splajnoviPo jedna kubna krivulja za svaku dimenzijuKrivulja u x/y ravni ima dvije krivulje:
Hermitovi kubni splajnovi2-D Hermitov kubni splajn je definisan sa 8 parametara: a, b, c, d, e, f, g, hKako se intuitivne krajnje take pretvaraju u ovih 8 (relativno) neintuitivnih parametara?Poznato je:(x, y) poloaj za t = 0, p1(x, y) poloaj za t = 1, p2(x, y) izvod za t = 0, dp/dt(x, y) izvod za t = 1, dp/dt
Hermitovi kubni splajnoviPoznat je:(x, y) poloaj za t = 0, p1
Hermitovi kubni splajnoviPoznat je:(x, y) poloaj za t = 1, p2
Hermitovi kubni splajnoviZa sad imamo 4 jednaine, ali 8 nepoznatihKoriste se izvodi:
Hermitovi kubni splajnoviPoznat je:(x, y) izvod za t = 0, dp/dt
Hermitovi kubni splajnoviPoznat je:(x, y) izvod za t = 1, dp/dt
Hermitova specifikacijaMatrina jednaina za Hermitovu krivuljut = 0t = 1t = 0t = 1t3 t2 t1 t0p1p2r p1r p2
Rjeavanje Hermitove matrice
Matrice splajna i geometrijeMHermiteGHermite
Rezultujua jednaina Hermitovog splajna
Primjeri Hermitovih krivulja
Funkcije mijeanja (Blending Functions)Mnoenjem prve dvije matrice u donjoj lijevoj jednaini, dobiju se 4 funkcije od 't' koje mijeaju 4 kontrolna parametraTo su funkcije mijeanja
Hermitove funkcije mijeanjaGrafika zavisnost funkcije mijeanja od parametra 't'
Hermitove funkcije mijeanjaSvaka funkcija mijeanja reflektuje utjecaj P1, P2, DP1, DP2 na oblik splajna
Hermitove funkcije mijeanjaFunkcije mijeanja se koriste za interpolaciju krivulja.Svaka interpolirana taka je linearna kombinacija ove 4 funkcije mijeanja.
*******************