ZPG Křivk. Hermitov iterpolce. Fergusoov křivk (). KŘIVKY A PLOCHY Cíl Po prostudováí této kpitol budete umět defiovt iterpolčí proximčí křivk pro dé bod defiovt ploch z dých prvků plikovt křivk ploch prktických příkldech Výkld Úvod V této kpitole budete sezámei s křivkmi plochmi, které se vužívjí jedk v techické prxi dále pro potřeb počítčové grfik. V techické prxi jde především o rovié křivk, které vjdřují určitý děj. Může jít o fzikálí děj - změ teplot, změ tvru, vývoj populce pod. V těchto přípdech je poždová křivk vjádře zdými bod, které jsou uspořádá. Zdvtel požduje proložit těmito bod křivku pro potřebu zjištěí hodot mezi jedotlivými měřeími. Jko příkld je možo uvést měřeí teplot počsí. Teplot se odečítjí v určitém čsovém itervlu. Jestliže se berou v úvhu teplot jedé stici, lze měřeými bod proložit iterpolčí křivku, která právě těmito bod bude procházet. Jestliže se berou měřeé hodot z více stic, elze proložit iterpolčí křivku, která bude procházet měřeými bod, le je uto jít proximčí křivku, která se bude měřeým bodům co ejlépe přibližovt. Jestliže zdvtel má předstvu, jká fukce vjdřuje příslušý chemický, fzikálí je použit metod ejmeších čtverců pro lezeí hledé křivk dou fukci. Nemáme-li žádý poztek o dém ději, je uto vbírt z více fukcí použít tu fukci, kde rozdíl mezi měřeými hodotmi teoretickými je ejmeší. Dlší plikce roviých křivek v počítčové grfice jsou křivk, kde záleží tvru vlstostech křivek ejde zde o křivk, které vjdřují ějký děj. N příkld fot, výtvré křivk, pod. Pro tto křivk jsou většiou zdá bod, kterými křivk procházejí ebo eprocházejí, le jsou těmito bod říze. Dlším poždvkem bývá spojitost, křivost křivk pod. Do této skupi křivek ptří Fergusov, Bézierov Coosov křivk. 4
ZPG Křivk. Hermitov iterpolce. Fergusoov křivk () V oblsti strojí jsou důležité tzv. kiemtické křivk, které vzikjí skládáí pohbů (rotčí, posu). Jsou to ckloid, kochoid, spirál pod. Tto křivk, stejě jko Nurbs ejsou obshem tohoto předmětu. Jsou v obshu volitelých předmětů z počítčové grfice... Rovié křivk Pro pochopeí křivek ploch, které se používjí v počítčové grfice je uté připomeout ěkteré kpitol mtemtik resp. geometrie. Nejprve připomeutí zákldích způsobů zdáí vjádřeí křivek. ) Explicití rovice = f ( x ), kde x <, b >. Příkld: = x + x +... jde o prbolu... Pozámk: Pozor defiičí obor fukce f(x). N příkld řetězové fukce., kde f x je uto řešit přípd jmeovtelů zlomků, f g x které musí být růzé od ul. b) Prmetrické rovice. x = x ( t ) (.) = ( t ), kde t b Jde o prmetrické vjádřeí dráh pohbujícího se bodu. Teto bod má čsové souřdice x ( t ) ( t ). Příkld : Jsou dá prmetrické rovice: x.... x = r * cos ( t ) jde o kružici se středem v počátku poloměrem r. = r * si ( t ), kde t. S rostoucím t - úhlem jsou zobrze bod kružice. c) Vektorová rovice. R = R ( t ), t b. polohový vektor OK. Jde o smbolický zápis vlstích prmetrických rovic (.). Vektorová rovice R ( t ) je dá vzthem: R ( t ) = ( x ( t ), ( t ) ) ) b) Obr.. 4
ZPG Křivk. Hermitov iterpolce. Fergusoov křivk () derivci dr / dt... ozčíme R' ( t ). R' ( t ) = ( x' ( t ), ' ( t ) ) vektor je rovoběžý s tečou v bodě K. Lieárí vektorová fukce: R ( t ) = A + B * t, kde t určuje úsečku, která vzike posuutím úsečk OA. Počátečí bod je A ( t = ), kocový je bod C ( t = ). (Obr..b).. Prostorové křivk Zdáí vjádřeí je obdobé jko v roviě. Je přidá. rozměr. x = x ( t ) = ( t ) z = z ( t ), kde t b. x Příkld : Zobrzte jede závit šroubovice. Poloměr řídící kružice je r výšk závitu v. (V kosoúhlém promítáí = o, q =.7.) x = r * cos ( t ) = r * si ( t ) z = v * t, kde t, v. ( Proveďte pro r = 5, v =. Zobrzte jede závit souřdicové os promítáí řídící kružice v roviě ( x, ) v roviě z = v. Výšk zvitu šroubovice v = v *.) Vektorová rovice křivk. Obdobě jko v roviě u přímk (úsečk) má obecý zápis tvr: R ( t ) = ( x ( t ), ( t ), z ( t ) ), t b. Derivce (teč): R' ( t ) = ( x' ( t ), ' ( t ), z'( t )). R' je tečý vektor v obecém bodě K( x( t ),( t ), z(t)) křivk. Pro zobrzeí prostorové křivk je vhodé zobrzit mimo hlví průmět prostorové křivk, ještě dlší (pomocý) průmět do souřdicové rovi. N obrázku. je zobrze kosoúhlý průmět šroubovice š. Pro lepší ázorost jsou zobrze souřdicové os x, z prví průmět š šroubovice š. Zobrzeí prvího průmětu prostorové křivk souřdicových os je pro ázorost ezbtá. 4
ZPG Křivk. Hermitov iterpolce. Fergusoov křivk () Příkld : Určete vektorovou rovici úsečk AB pro jedotlivé proměé dé polohovými vektor bodů A (x A, A, z A ) B (x B, B, z B ). Vektorová rovice má tvr R = A * (- t) + B * t, kde bod A ( pro t = ) je počátečí bod B ( pro t = ) je kocový bod. Prmetrické rovice ted jsou:.. Ploch x = x A * ( - t ) + x B * t = A * ( - t ) + B * t z = z A * ( - t ) + z B * t pro t. V mtemtice geometrii jsme ploch vjdřovli převážě v explicití formě z = f ( x, ). Ploch je "grfem" fukce dvou proměých. Plochu "vtvoříme" tím, že vkreslíme řez této ploch rovimi, ejčstěji rovoběžými se souřdicovými rovimi. Nebo-li z = f ( X, )... řez roviou // s (, z ) z = f ( x, Y )... řez roviou // s ( x, z ). Ploch obrázku. je omeze rovimi x = ; x = ; = ; =. N obrázku. jsou to křivk f(x,y) rovoběžé s roviou (x, z) křivk f(x,) rovoběžé s roviou (, z). Obr.. Při volbě jedoho z prmetrů x resp. dosteme "prmetrické" rovice křivek ploch. Pro x (, b), (c,d) dosteme "okrjové" křivk ploch. Prmetrické rovice: x = x ( u, w ) ( < u < b ) = ( u, w ) ( c < w < d ) z = z ( u, w ). 44
ZPG Křivk. Hermitov iterpolce. Fergusoov křivk () N příkld: Prmetrické rovice - pro OTÁČENÍ + POSUV ( šroubový pohb ) jsou: x = f ( w ) * cos (u ) - g ( w ) * si ( u ) = f ( w )* si ( u ) + g ( w ) * cos ( u ) otáčeí okolo os z (. ) z = h ( w ) + v * u w, u /, v...... posu ve směru os z pro Šroubová ploch je tvořeá šroubovým pohbem křivk k. (Obr..4 ) Kde x = f ( w ), = g ( w ), z = h(w), w. Zobrzeí ploch je možé v podsttě dvojím způsobem. Čstější zobrzováí ploch je tzv. "drátěý model". Jde o křivk ploše, které jsou buď rovié řez ebo křivk vziklé rotčím resp. šroubovým pohbem bodů tvořící křivk..4. Rovié křivk V techické prxi jsou velice čsto řeše úloh tpu: jsou dá bod v roviě je třeb těmito bod proložit křivku, která prochází přesě těmito bod, ebo prochází v miimálí blízkosti těchto bodů. Křivkám, které procházejí přesě zdými bod se zývjí iterpolčí křivk. Křivk, které procházejí v miimálí blízkosti zdých bodů se zývjí proximčí. Výpočet hodot f(x) uvitř itervlu křivk vjádřeé ltickým předpisem se zývá iterplolcí křivk. Výpočet mimo itervl měřeých hodot se zývá extrpolcí. (Obr..5) Obr..5 N obrázku č..5 je iterpolčí křivk zdá bod v itervlu < x, x >. V tomto itervlu křivk dé bod iterpoluje, mimo teto itervl křivk extrpoluje. Obr..4 45
ZPG Křivk. Hermitov iterpolce. Fergusoov křivk () REGRESNÍ (proximčí) křivk prochází s určitou přesostí dými měřeými bod. N obrázku.6 je ukázk plikce proximčích křivek zdé bod. Aproximčí křivk jsou : přímk, prbol kubická prbol. N obrázku.6 jsou zobrze proximčí křivk, které proximují čtři zdé bod v roviě. Jde o křivk.,.. stupě. Co rozhoduje o kvlitě proximčí křivk?. Poždvek stupeň křivk. Jsou-li dá více ež dv obecé bod - prvk, elze proximovt přímkou.. Jestliže pro jedu ezávisle proměou máme více měřeých hodot. N obrázku.6 hodotě x i odpovídjí tři měřeé hodot. Příkld 4: Určete proximčí křivku pro bod P (, ), P (, ), P (, ). Obecá rovice přímk (křivk) f(x) = x + tk, b kvdrtická odchlk bl miimálí. Je třeb určit koeficiet, =? x Pro : : : :.. ( ) P. P... ( ) ( ) P... ( ) ( ) Určíme miimum fukce, ( ) ( ) Extrhujeme ulové. prciálí derivce : (.4) (.5 ) 46 xi =x +bx+c =x +bx +cx+d =x+b x Obr..6 Obr..7.
ZPG Křivk. Hermitov iterpolce. Fergusoov křivk () 4 Z (.4 ) (.5 ) ple : ;. 4 5 4 7 Aproximčí - lieárí - fukce (dle metod ejmeších čtverců) je ted : 6 f x x 4 4. Grf této fukce emusí procházet zdými pevými bod..4.. Iterpolce lgebrickým polomem Iterpolčí polom pro (+) dých bodů x x x x,,,,,,...,, je předepsáo ( + ) podmíek. Nechť x x x x... jsou dá bod x x x x,,,,,,...,,. To je pro jedu hodotu x i ezávisle proměé je jed hodot i : p (x i ) = i, i =,,...,. (.6 ) Pk existuje právě jede iterpolčí polom p (x) stupě ejvýše. Příkld 5: Pro bod (, ), (, ), (, ) určete iterpolčí polom. Iterpolčí polom bude stupě. ve tvru: p x x x Po doszeí (viz ( 6 )) dosteme soustvu: 5,,. 9 Iterpolčí polom je ted ve tvru p x 5. x. 5x Výpočet ted vede řešeí soustv lieárích rovic. Zobecěím lze odvodit tzv. Lgrgeův tvr iterpolčího polomu. x x x x i j p x i i x x (.7 ) i i i i j i j i j Ověřte příkldu bodů P (, ), P (, ), P (, ). Bude pltit =. p x x x x x x x x x x xx x x x x x x xx x x x x x 47
ZPG Křivk. Hermitov iterpolce. Fergusoov křivk () Po výpočtu: x x x x x x x x x x 5. x 5. x. Jestliže pro zdé hodot x x x... x pltí x i+ - x i = kostt i =,,..., - tbulk hodot je ekvidisttí, je zde možo použít tzv. Newtoov tvru iterpolčího polomu. i p x i x x x x... x x i i i! h (.8) Obecě bude pltit: K výpočtu se používá diferecí vpřed v dé tbulce. Tto diferece jsou dá tkto : ) (ultá diferece je rov fukčí hodotě); i b) i i i i k k c) i i. Příkld 6: Pro zdou tbulku hodot sestvte iterpolčí polom. x - - 5 4 Tbulk je ekvidisttí krok h =. x - - 5 4 i i i i i 4 i 5 i 5-4 6-7 - -4 4-5 4-4 5 4 5 48
ZPG Křivk. Hermitov iterpolce. Fergusoov křivk () V tbulce jsou uvede diferece vpřed pomocí (.8 ) můžeme psát : 49 x x x x x x x x x x p5x 5 4 6 7!!! 4! x x x x x 6 4x 75x 65x 5x 4 x 5. 5! Pro cvičeí: vkreslete grf vzčte zdé vstupí hodot..4.. Hermitov iterpolce vchází ze zdých bodů ( x, ), ( x, ),..., ( x, ) hodot derivcí ',..., ' v jedotlivých bodech. Lze dokázt, že existuje právě jede polom h(x) stupě ejvýše + tk, že h(x i ) = i, i =,..., (.9 ) h'(x i ) = i ', i =,...,. (.) Příkld: Npište Hermitův iterpolčí polom dý tbulkou: i x i i 6 i - -4 9 Pltí =, ted polom h(x) bude stupě ejvýše 5. Je uto ted určit koeficiet,..., 5 polomu h(x) = x 5 + x 4 + x + x + 4 x + 5 Z (.9) x =. +!. +. +. + 4. + 5 = pro x =. + + + + 4 + 5 = pro x =. 4 + 8 + 7 + 9 + 4 + 5 = 6 Z (.) ( h(x) = 5 x 4 +4 x + x + x + 4 ) pro x = 4 = - pro x = 5 + 4 + + + 4 = -4 pro x = 45 + 8 + 7 + 6 + 4 = 9 Řešeím soustv dosteme: = ; = -; = ; = ; 4 = -; 5 =. Hermitův polom ted je: h(x) = x 5 - x 4 + x - x + Obecé odvozeí HP pro =. Jsou dá bod ( x, ), ( x, ) ' '. HP: h x x x x x x x i =, (. ) i i i i xi xi i ' i =, (. )
ZPG Křivk. Hermitov iterpolce. Fergusoov křivk () Rovice (. ) (.) jsou vlstě soustvou 4 lieárích rovic s koeficiet,,,. Provedeme řešeí pro x = x >. x = (. ) = x > (. ) x + x + x + = (.) x = (. ) = x > (. ) x +x + =. rovici z (. ) ásobíme třemi. 4. rovici z (. ) ásobíme x ( x > ) odečteme od rovice dvojku. x x x '. po doszeí do druhé rovice z (.) vpočteme ' ' x x x ' '. x Obecě pro přípd x >, x > x pro bod ( x, ), ( x, ) derivce ' ' můžeme psát Hermitův polom ve tvru: h x x x x x x x, kde ' ' k k ' ' k k ', k x x (.4 ) Příkld 7: Z tbulk (předcházejícího příkldu) Tb. : Tb. : i i x i x i i i 6 i - -4 i -4 9 5
ZPG Křivk. Hermitov iterpolce. Fergusoov křivk () Z (.) ple: k 4 4 h x x x x k 4 6 6 9 4 9 8 8 4 h x x x x ( pro x ) ( pro x )..4.. Fergusoov křivk. Jestliže jsou dá dv bod s tečými vektor v ich užijeme Hermitovu iterpolci složk vektorového vjádřeí křivk pro jedotkovou změu prmetru obloucích, získáme tzv. Fergusoov křivk. Mohou být i třídimezioálí. Ve vzthu (.4 ) pro k = obecě: R t F t G F t H F t g F t h pro t <, >. G, H... polohové vektor bodů; g, h... vektor teče v bodech, ve kterých je Fergusoov křivk jedozčě urče. Pro F i, i =,,, pltí : F t t t F t t t F t t t t g F t t t t <, >. H h Pro t =... R(t) = G; pro t =... R(t) = H G Pro g = h... GH je proximováo úsečkou..4.4. Iterpolce po obloucích. Čstým přípdem zdáí křivk jsou pouze bod s tím, že je možé křivku vkreslit po částech. Změou prmetru se měí pouze křivk v určitém itervlu ikoliv celém zdém itervlu. N rozdíl o Lgrgeov resp. Newtoov iterpolce, kde změou jediého prmetru v dém bodě, se změil křivk celém itervlu. Teto způsob 5
ZPG Křivk. Hermitov iterpolce. Fergusoov křivk () iterpolce, tk kde je to možé, je v počítčové grfice čsto vužívá. Je všk uto zchovt spojitost křivk. Spojitost křivk zjistíme tk, že vpočítáme ebo zdáme teč v zdých bodech. Je ted třeb zát derivci v jedotlivých bodech. Sh je o co ejedodušší výpočet - rchlost výpočtu. Pro přesější vkresleí křivek je složitější výpočet tím delší čs výpočtu. Výpočet teče v opěrých bodech. Jestliže pro fukci záme ( + ) opěrých bodů chceme vužít iterpolce po obloucích, kde jedotlivé oblouk jsou popsá polom třetího stupě, je možé vužít HP, jestliže v těchto opěrých bodech vpočteme ', ',..., '. K určeí derivcí ', ',..., - použijeme vzorce i i ' x i x i i Obr..8. (.5 ) pro i =,,.., - (Obr..8) Z geometrického hledisk budeme předpokládt, že teč v dém bodě grfu bude rovoběžá se spojicí sousedích bodů. Pro určeí teč v bodech x x se zprvidl určí derivce polomem druhého stupě, kde x = x, resp. x = x určíme derivce ', resp. ' tohoto polomu. Koeficiet,, polomu x x x x (.5) dosteme pro x x z toho vpočteme x x x x x x x x x x x x ' x xx x x xx x x x x x x x x x x x x x (.6 ) (.7 ) 5
ZPG Křivk. Hermitov iterpolce. Fergusoov křivk () Z (.5 ) ple ' =. Ted derivce v bodě x : (,8) ' x x x x x x x x x x x x Podobě lze vpočítt ' derivováím polomu: x x x x. (.9 ) Vzth (.6 ) (.7 ) budou mít tvr : x x x x x x x x x x x x x x Z (.9 ) ple ' x x. Ted derivce v bodě x : ' x x x x x x x x x x x x x x x x x x x x Příkld 8: Pro tbulku i x i i 6 určete po obloucích kubické polom s pomocí Hermitov iterpolce, kde výpočet hodot ', ' ' bude dle výše uvedeých vzthů. Z (.8 ) => ' Ze (.7 ) pro určeí derivce => Z (. ) => 6 ' x 6 ' x 5 4, 6 6 5, 6 5 5 4,. (.) 5
ZPG Křivk. Hermitov iterpolce. Fergusoov křivk () Vzthu (.4 ) použijeme pro ob oblouk grfu fukce. Polom jsou dá tbulkmi: i x i i i -4 5 Pltí. T. j. 4 8 5 h x x 4x pro x <, > i x i i 6 i 5 4 6 8 6 4 5 5 h x x x x 5 pro x <, >. 5 9 4 5 9 5 Výsledá fukce h x x 4x pro x 5 x x 5x pro x je zázorě dále uvedeém obrázku.9. (Bez ohledu měřítko.) Obr..9. 54
Zákld počítčové grfik. Křivk ploch.. Kotrolí otázk.. Jk lze vjádřit křivk v počítčové grfice v roviě?. Jk lze vjádřit křivk v počítčové grfice v prostoru?. Druh rovic pro vjádřeí křivek (ploch) v počítčové grfice. 4. Chrkterizujte druh iterpolčích křivek, které se používjí v počítčové grfice. 5. Děleí zdáí křivek z hledisk počítčové grfik. 6. Specifikujte pojm iterpolčí křivk, regresí křivk, křivk určeé lomeou črou. 7. Lgrgeův - Newtoův iterpolčí polom. N příkldě uveďte jeho plikci. 8. Iterpolce po obloucích. Uveïte příkld Hermitovu iterpolci. Úloh k řešeí.. Npište progrm iterpolci pro bod: (, ), (, 8 ), ( 4, ), ( 6, ), ( 7, 6 ). Zobrzte zdé bod vkreslete polom, který dými bod prochází. Zobrzeí proveïte ) polomem b) po obloucích. 55