Parametarske Krive Hermit

Embed Size (px)

DESCRIPTION

Parametarske krive

Citation preview

  • 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.

    *******************