B-spline a racionální B-spline křivky

Rozměr: px
Začít zobrazení ze stránky:

Download "B-spline a racionální B-spline křivky"

Transkript

1 Univerzita Karlova v Praze Matematicko-fyzikální fakulta BAKALÁŘSKÁ PRÁCE Viktor Šíp B-spline a racionální B-spline křivky Katedra numerické matematiky Vedoucí bakalářské práce: Doc. RNDr. Karel Najzar, CSc. Studijní program: Obecná matematika 29

2 Prohlašuji, že jsem svou bakalářskou práci napsal samostatně a výhradně s použitím citovaných pramenů. Souhlasím se zapůjčováním práce a jejím zveřejňováním. V Praze dne Viktor Šíp 2

3 Obsah B-spline křivky 5. Úvod Bázové funkce B-spline křivek B-spline křivky Vícenásobné uzly Derivace B-spline křivek Poznámka o Bézierových křivkách NURBS křivky 7 2. Definice a základní vlastnosti Homogenní souřadnice Derivace NURBS křivek Základní algoritmy Změna tvaru křivky Vložení uzlu Odstranění uzlu Zvýšení stupně křivky Konstrukce kuželoseček Kvadratické racionální Bézierovy křivky a kuželosečky Konstrukce kruhu Literatura 39 3

4 Název práce: B-spline a racionální B-spline křivky Autor: Viktor Šíp Katedra (ústav): Katedra numerické matematiky Vedoucí bakalářské práce: Doc. RNDr. Karel Najzar, CSc. vedoucího: knaj@karlin.mff.cuni.cz Abstrakt: V předložené práci studujeme B-spline křivky a neuniformní racionální B-spline křivky, zkráceně NURBS křivky. Tyto křivky jsou dnes již zavedeným standardem v oblasti CAD systémů a počítačové grafiky vůbec. Mezi jejich hlavní výhody patří jednoduché vyjádření, rychlé a srozumitelné algoritmy pro práci s nimi a schopnost reprezentovat libovolné tvary. Práce shrnuje základní vlastnosti B-spline křivek, které posléze zobecníme na NURBS křivky. Je vysvětlena i idea reprezentace NURBS křivek B-spline křivkami pomocí homogenních souřadnic. Dále jsou popsány základní algoritmy pro práci s křivkami: změna tvaru křivky, vložení a odstranění uzlu a zvýšení stupně křivky. V závěru se věnujeme reprezentaci kuželoseček pomocí NURBS křivek. Klíčová slova: B-spline křivky, NURBS křivky, kuželosečky Title: B-spline and rational B-spline curves Author: Viktor Šíp Department: Department of Numerical Mathematics Supervisor: Doc. RNDr. Karel Najzar, CSc. Supervisor s address: knaj@karlin.mff.cuni.cz Abstract: In the present work we study B-spline curves and nonuniform rational B-spline curves, abbreviated as NURBS curves. These curves are well-established standard in the field of CAD systems and computer graphics. Among their main advantages are simple representation, fast and comprehensible algorithms and their ability to form variety of shapes. The work sums up the basic properties of B-spline curves as well as their generalisation: NURBS curves. The idea of representing NURBS curves with B-spline curves using homogenous coordinates is also illustrated afterwards. Further, we discuss the basic algorithms: changing the shape of the curve, knot insertion, knot removal and degree elevation. At the end of the work we desribe representing conic sections using NURBS curves. Keywords: B-spline curves, NURBS curves, conic sections 4

5 Kapitola B-spline křivky. Úvod Historie B-spline křivek a ploch se začala psát v 6. letech 2. století. Motivací byla potřeba matematického popisu ploch při konstrukci karoserií aut či lodních trupů. Rozvoj počítačů a počítačové grafiky přinesl pro B-spline křivky nové aplikace, a dnes jsou již B-spline křivky (a z nich odvozené racionální B-spline křivky) zavedeným standartem. Důvody, proč se rozšířily B-spline křivky, jsou následující: Rychlé, numericky stabilní a srozumitelné algoritmy pro práci s nimi Jednoduchý a pamětově nenáročný formát dat Možnost snadných lokálních úprav křivky Výhodou B-spline křivek je i zachování základních principů práce s nimi při rozšíření na B-spline plochy (kterými se ovšem v tomto textu zabývat nebudeme)..2 Bázové funkce B-spline křivek B-spline křivky bychom chtěli sestrojit jako lineární kombinaci nějakých bázových funkcí, od kterých požadujeme hezké analytické vlastnosti. Tyto funkce sestrojíme následovně. Mějme vektor uzlů a = (a,a,...,a m ) takový, že a i a i+ a a i < a i+p+ pro všechna i a dané p. Pak bázové B-spline funkce stupně p N p i definujeme takto: { pokud u Ni [ai,a (u) = i+ ) (.) jinak 5

6 a kde N p i (u) = αp i N p i (u) + ( α p i+ )Np i+ α p i = (u a i )/(a i+p a i ) (u), (.2) Pokud jsou některé uzly vícenásobné (to jsou takové, pro které platí a i = a i+ ), můžeme ve vztahu.2 obdržet zlomek /. Ten dodefinujeme konvencí :=. Řekneme, že vektor uzlů je uniformní, pokud a i+ a i = a i+2 a i+ pro všechna i. V opačném případě říkáme, že vektor uzlů je neuniformní. Pro příklady se podívejte na Obr.. až.3. Z definice vidíme, že funkce N p i se počítá z funkcí N p i a N p i+. Tento vztah si můžeme jednoduše znázornit. Podívejme se na tabulku., kde vidíme schéma výpočtu jednotlivých N p i s uniformním uzlovým vektorem na intervalu (, 5). [, ) N N N 2 N 3 N 4 ր ր ր ր [, 2) N N N 2 N 3 ր ր ր [2, 3) N2 N2 N2 2 ր [3, 4) N 3 N 3 ր [4, 5) N 3 ր Tabulka.: Schéma výpočtu všech N p i (,, 2, 3, 4, 5) s uzlovým vektorem Vyšetřujme konstrukci bázové funkce N 2. Při jejím výpočtu používáme pouze funkce N, N 2 a N 3. Ty jsou ovšem nenulové pouze na intervalech [, 2), [2, 3) a [3, 4), mimo ně jsou nulové. Tudíž funkce N 2 je nulová mimo interval [, 4). Zobecníme-li si toto pozorování, dostaneme následující vlastnost: N p i je nenulová pouze na intervalu [a i,a i+p+ ). Na schéma se můžeme podívat i z druhé strany. Vidíme, že kupříkladu funkce N 2 se užívá při výpočtu dvou bázových funkcí stupně (N a N 2). Protože funkce N 2 je jako jediná bázová funkce stupně nenulová na intervalu [2, 3), jsou dvě vyjmenované funkce jediné (stupně ), které jsou 6

7 (a) Stupeň, vektor uzlů (,,2,3,4) (b) Stupeň 2, vektor uzlů (,,2,3,4,5) (c) Stupeň 3, vektor uzlů (,, 2, 3, 4, 5, 6) Obrázek.: Příklady bázových funkcí Obrázek.2: Bázové funkce stupně 2 s neuniformním vektorem uzlů (,, 7, 8, 9, ) Obrázek.3: Bázové funkce stupně 2 s vektorem uzlů s trojnásobnými koncovými uzly (,,, 2, 4, 6, 6, 6) 7

8 na intervalu [2, 3) nenulové. Totéž platí i pro tři bázové funkce stupně 2 (N 2, N 2 a N 2 2), a tak dále. Snadno vidíme, že platí: Na každém intervalu [a i,a i+ ) je nenulových nejvíce p + bázových funkcí stupně p. Jsou jimi funkce N p i p, Np i p+,...,np i Podívejte se, že tato tvrzení platí pro naše ukázkové funkce z Obr Shrňme si tedy důležité vlastnosti bázových funkcí:. N p i je nezáporný polynom stupně p. To zřejmě plyne přímo z definice. 2. N p i je nenulová pouze na intervalu [a i,a i+p+ ). 3. Na každém intervalu [a i,a i+ ) je nenulových nejvíce p+ bázových funkcí stupně p. Jsou jimi funkce N p i p, Np i p+,...,np i. Obě tyto vlastnosti jsme si zdůvodnili výše. 4. Součet všech bázových funkcí stupně p je v každém bodě u [a i,a i+ ) roven, tj. p N p i (u) = i= Tvrzení lze dokázat přímo z definice indukcí podle p, uvědomíme-li si, že podle předchozí vlastnosti jsou na intervalu [a i,a i+ ) nenulové pouze funkce N p i p, Np i p+,...,np i. 5. V každém k-násobném uzlu má bázová funkce N p i spojitost třídy C p k..3 B-spline křivky Mějmě opět vektor uzlů a = (a,a,...,a m ) a navzájem různé body P,P,...P n. Definujeme B-spline křivku stupně p příslušnou bodům P,P,...P n, kde n = m p, u [a,a m ], jako parametrickou křivku s(u) s předpisem n s(u) = P i N p i (u). i= Graf po částech lineární funkce spojující body {P i } n i= nazveme řídící polygon křivky s(u), body {P i } nazýváme řídící body. 8

9 Na B-spline křivku se můžeme dívat jako na součet několika křivek, definovaných vždy na intervalu [a i,a i+ ). Body, které křivky oddělují, tedy body s(a i ), budeme nazývat uzlové body. B-spline křivka svými řídícími body obecně neprochází, je jimi pouze omezena (co se tím přesně myslí si vysvětlíme později). Dokonce ani nemusí začínat (končit) ve svém prvním (posledním) řídícím bodě. To nastává, pokud pro její vektor uzlů platí a = a =... = a p a a m p = a m p+ =... = a m. Taková křivka se nazývá otevřená a navíc má v krajních bodech stejnou tečnu jako její řídící polygon. Pokud předpoklad o násobnosti počátečních a koncových uzlů není splněn, říkáme, že křivka je plovoucí. Budeme-li chtít, aby křivka tvořila uzavřenou smyčku, musíme jako posledních p řídících bodů vzít znovu prvních p bodů. Křivku pak nazveme uzavřenou Obrázek.4: Otevřená, plovoucí a uzavřená B-spline křivka V dalším textu, pokud se nezmíníme jinak, budeme nadále uvažovat pouze křivky otevřené. Důležité vlastnosti B-spline křivek:. B-spline křivka stupně p je křivka po částech polynomiální stupně p. Na rozdíl od Bézierových křivek (viz sekce.6), jejichž stupeň závisí na počtu kontrolních bodů, pomocí B-spline křivek aproximujeme libovolně složité tvary pomocí polynomu zvoleného stupně. 2. Tzv. Strong Convex Hull Property: Pro u [a i,a i+ ) leží křivka s(u) v konvexním obalu bodů P i p,...p i. Na intervalu [a i,a i+ ) jsou nenulové pouze bázové funkce N p i p, N p i p+,...,np i. Protože tyto funkce jsou v našem předpisu koeficienty u bodů P i p,...p i, pouze tyto body mají nenulové koefici- Nutno podotknout, že tato terminologie není zcela ustálená: v literatuře se pro křivky otevřené (open) též používá výraz sevřené (clamped) a pro křivky plovoucí (floating) opět výraz otevřené. 9

10 enty. Navíc jsou všechny N p i nezáporné a jejich součet je v každém bodě u roven, s(u) tedy leží v konvexním obalu bodů P i p,...p i. Odtud vyplývají jednoduché důsledky: Celá B-spline křivka leží v konvexním obalu všech jejích řídících bodů. Chceme-li, aby část křivky ležela na úsečce, stačí umístit body P i p,...p i na přímku. Část křivky s(u) pro u [a i,a i+ ) pak leží v jejich konvexním obalu, což je úsečka Obrázek.5: Konvexní obal odpovídající zelené části křivky 3. Změna křivky posunutím jednoho bodu se projeví pouze lokálně. Tedy změníme-li bod P i, křivka se změní jen na intervalu [a i,a i+p+ ). Koeficientem u bodu P i je funkce N p i, a ta je nenulová pouze na intervalu [a i,a i+p+ ). Jinde tedy nemá změna tohoto bodu žádný vliv. To je velice užitečné, nebot při změně jediného bodu nemusíme přepočítávat celou křivku, stačí jen malá část. 4. B-spline křivka je spojitá třídy C p k v uzlu násobnosti k. 5. Vlastnost Variation Diminishing Property: Tím se rozumí, že počet průsečíků libovolné přímky s grafem s(u) je nejvýše roven počtu průsečíků s řídícím polygonem. To nám říká to, že graf s(u) se vlní podobně jako řídící polygon. 6. Afinní invariance: Afinní transformaci křivky můžeme provést transformací řídících bodů a následnou konstrukcí křivky.

11 3 3 3 Obrázek.6: Přesun bodu a změna křivky Obrázek.7: Variation Diminishing Property Afinní transformace T : R n R n je dána vztahem T(X) = A X + v, kde A je matice řádu n a v vektor. Aplikujeme-li ji na B-spline křivku, dostáváme ( n ) ( n ) T(s(u)) = T N p i (u)p i = A N p i (u)p i + v = i= n A N p i (u)p i + i= i= i= i= n n N p i (u)v = N p i (u)(a P i + v) =

12 = n N p i (u)t(p i), i= kde jsme využili rovnosti p i= Np i (u) =. Poznamenejme, že mezi afinní transformace patří rotace, translace a diletace. Místo náročné transformace křivky lze pouze příslušným způsobem upravit řídící body a z nich sestrojit B-spline křivku..4 Vícenásobné uzly O vícenásobných uzlech jsme se doposud příliš nezmiňovali. Napřed se podíváme, jak vícenásobné uzly ovlivní bázové funkce. Uvažujme bázové funkce N p i a N p i+. První je nenulová na intervalu [a i,a i+p+ ), druhá na [a i+,a i+p+2 ). Posuneme-li nyní bod a i+p+2 do bodu a i+p+, funkci N p i+ se interval, na kterém je nenulová, zmenší na [a i+,a i+p+ ), zatímco funkci N p i se tento interval nezmění. V bodě a i+p+ se tak počet nenulových funkcí o jedna sníží. Obecně, zvýšíme-li násobnost uzlu o k, počet nenulových bázových funkcí v tomto uzlu se sníží o k. Vzhledem k tomu, že v každém bodu je nejvíce p + nenulových bázových funkcí stupně p, platí: V uzlu násobnosti k je nejvíce p k + nenulových bázových funkcí stupně p. Z toho plyne tento důsledek: Máme-li uzel násobnosti p, je v něm nenulová jediná bázová funkce, a tedy je jediný bod, který má v tomto uzlu nenulový koeficient. Křivka tedy prochází tímto bodem. Pro příklad se podívejme na Obrázek.8. Zde vidíme bázové funkce stupně 3 odpovídající vektoru (,,,,, 2, 3, 4, 5, 5, 5, 5). Na druhém obrázku vytvoříme dvojnásobný uzel přesunutím uzlu a 8 ze 4 na 3, a na třetím přesuneme a 6 ze 2 na 3, čímž dostaneme trojnásobný uzel v bodu 3. Na Obrázku.9 vidíme kubické B-spline křivky odpovídající vektorům uzlů z předcházejícího příkladu. Vidíme, že na posledním obrázku (s trojnásobným uzlem) již křivka prochází vrcholem řídícího polygonu..5 Derivace B-spline křivek Pro derivaci bázových funkcí platí vztah (N p i ) = p N p p i N p i+ a i+p a i a i+p+ a. (.3) i+ 2

13 (a) Jednoduchý uzel v bodě (b) Dvojnásobný uzel v bodě (c) Trojnásobný uzel v bodě 3 Obrázek.8: Zvyšování násobnosti uzlu To lze dokázat indukcí podle p, tento důkaz lze nalézt např. v [2]. My budeme chtít spočítat derivaci křivky stupně p n s(u) = P i N p i (u) i= s vektorem uzlů a = (a,a,...,a n+p+ ). Uvažujme křivku otevřenou, pro kterou je a = a =... = a p a a n+ = a n+2 =... = a n+p+. Ze vzorce.3 dostáváme: s (u) = kde = n (N p i ) (u)p i = i= ( p n i= = p Np (u)p a p a n ( i= N p i+ (u) P i+ a i+p+ a i+ n + p i= p N p i a i+p a i ) ( p n i= N p i+ (u) P i+ P i První a poslední člen jsou z definice rovny, takže n s (u) = i= ) p N p i+ P i a i+p+ a i+ ) N p i+ (u) P i a i+p+ a i+ p Np n+(u)p n a i+p+ a i+ a n+p+ a n+ N p i+ (u)q i Q i = p P i+ P i a i+p+ a i+. 3

14 Obrázek.9: Vliv vícenásobného uzlu na křivku Vezmeme-li vektor a = (a,a 2,...,a n+p ), tedy vektor vzniklý z a vynecháním prvního a posledního uzlu, pak platí, že funkce N p i+ (u), počítaná na vektoru a, je rovna funkci N p i (u), počítané na a. Pak tedy derivace křivky s(u) stupně p je B-spline křivkou stupně p s vektorem uzlů a ve tvaru n s (u) = N p i (u)q i. (.4) i= Tuto křivku nazýváme hodografem křivky s(u). Na Obr.. vidíme příklad: kubickou křivku a její kvadratickou derivaci. Nyní také můžeme dokázat vyslovené tvrzení, že tečna otevřené křivky v jejích krajních bodech je rovnoběžná se směrem P P, případně směrem P n P n. Pokud totiž a =... = a p, pak v bodě a je mezi funkcemi N p i jediná nenulová, a to funkce N p. Pro tu platí takže Obdobně pro tečnu v bodě a m. N p (a ) =, s (a ) = Q = p P P a p+ a. 4

15 s () s (3) s () s () s (3) s () s (2) 2 s (2) (a) Kubická křivka s uzlovým vektorem (,,,,,2,3,3,3,3) (b) Kvadratická derivace křivky Obrázek.: Křivka a její derivace.6 Poznámka o Bézierových křivkách Bézierovy křivky, ač je můžeme konstruovat i jednodušeji, jsou speciálním případem B-spline křivek. Jsou to takové B-spline křivky, které nemají žádné vnitřní uzly - jejich vektor uzlů je ve tvaru (a,...,a,b,...,b), přičemž uzly a i b jsou násobnosti p+, kde p je stupeň křivky. Obyčejně uvažujeme a = a b =. Bézierovy křivky sdílejí s B-spline křivkami základní vlastnosti (jako je vlastnost konvexního obalu, hladkost, Variation Diminishing Property), také pro ně platí, že tečny v krajních bodech mají stejný směr jako krajní úsečky řídícího polygonu. Přesněji platí, že s () = p(p P ) a s () = p(p 2 P ). Bézierovy křivky mají zásadní nevýhody: protože nemají vnitřní uzly, nelze je měnit jen lokálně. Problémem je také, že jejich stupeň závisí na počtu řídících bodů. U křivek vyšších stupňů také platí, že Bézierova křivka aproximuje řídící polygon značně hůře, než B-spline křivka (jejíž stupeň nezávisí na počtu řídících bodů). To jsou zásadní problémy, proto je v praxi výhodnější používat B-spline křivky, které tyto nevýhody nemají. Naproti tomu, jejich výhodou je jednodušší algebraické vyjádření těchto křivek: jejich bázové funkce jsou ve tvaru ( ) p N p i (u) = u i ( u) p i. i 5

16 (a) Bézierova křivka stupně 2 (b) Bézierova křivka stupně 5 Obrázek.: Bézierovy křivky Později si ukážeme, že každou B-spline křivku můžeme rozdělit na několik Bézierových křivek, tzv. segmentů. Tyto vlastnosti dělají z Bézierových křivek silný teoretický nástroj, užívaný při odvození některých algoritmů pro B-spline křivky. 6

17 Kapitola 2 NURBS křivky 2. Definice a základní vlastnosti B-spline křivky, ač mají mnoho pěkných vlastností, mají i své nevýhody: nelze pomocí nich vykreslit ani některé zdánlivě jednoduché křivky, jako je kruh. Kruh, stejně jako elipsu či hyperbolu, není možné přesně reprezentovat pomocí polynomiálních funkcí. K jejich vyjádření potřebujeme funkce racionální, tedy podíl dvou funkcí polynomiálních. Navíc, při lokální modifikaci B-spline křivek jsme omezeni pouze na posunování řídících bodů. Když ovšem polohu bodů měnit nechceme, nemáme již v ruce žádný nástroj. Tyto problémy řeší racionální B-spline křivky. Obecně budeme uvažovat neuniformní vektor uzlů, odtud plyne používaná zkratka NURBS - NeUniformní Racionální B-Spline křivky. Mějmě tedy vektor uzlů a = (a,a,...,a m ), řídící body {P i } n i= a váhy {w i } n i=. NURBS křivku stupně p (kde platí n = m p ) definujeme předpisem s(u) = n i= Np i (u)w ip i n i= Np i (u)w i u [a,a m ]. Nezmíníme-li se jinak, uvažujeme kladné váhy w i > a vektor uzlů takový, že a = a =... = a p a a m p = a m p+ =... = a m, tedy křivka je otevřená. Položíme-li R p i (u) = N p i (u)w i n j= Np j (u)w, j 7

18 2 2 3 Obrázek 2.: B-spline křivka (modrá) a NURBS křivka s vahami (,, 3,, 3,, ) (tyrkysová) můžeme si definici přepsat do tvaru s(u) = n R p i (u)p i. i= Funkcím R p i říkáme racionální bázové funkce. Následující vlastnosti jsou analogické k vlastnostem bázových funkcí B-spline křivek, jak jsme si je vyslovili v sekci.2.. R p i je nezáporná, po částech racionální funkce. 2. Platí n i= Rp i (u) = pro všechna u [a,a m ]. 3. R p i je nulová mimo interval [a i,a i+p+ ). 4. Na intervalu [a i,a i+ ) jsou nenulové pouze funkce R p i p (u),...,rp i (u). 5. V uzlu násobnosti k je funkce R p i spojitá třídy C p k. 6. Je-li w i = a pro všechna i a pro nenulové a, pak R p i (u) = Np i (u) pro všechna i a u [a,a m ]. Stejně tak můžeme vyslovit základní vlastnosti NURBS křivek.. Strong convex hull property: pro u [a i,a i+ ) leží s(u) v konvexním obalu bodů P i p,...p i. 8

19 2. Variation Diminishing Property: Počet průsečíků libovolné přímky s grafem je nejvýše roven počtu průsečíků této přímky s řídícím polygonem. 3. Změna křivky se projeví pouze lokálně. Pokud posuneme bod P i nebo změníme váhu w i, křivka se změní jen na intervalu [a i,a i+p+ ). 4. Afinní a projektivní invariance: Je-li na křivku aplikována afinní či projektivní transformace, můžeme transformaci aplikovat na řídící body a z nich sestrojit transformovanou křivku. NURBS křivky jsou tedy zobecněním B-spline křivek, kde používáme ještě dodatečnou informaci: váhy bodů, které udávají, jak se který bod projeví na výsledné křivce. Pokud jsou všechny váhy stejné, dostáváme B-spline křivku. Všechny vlastnosti a algoritmy, uvedené dále, tedy platí i pro B-spline křivky jakožto speciální tvar NURBS křivek. 2.2 Homogenní souřadnice Idea racionálních křivek má elegantní interpretaci, použijeme-li homogenní souřadnice. Mějme bod P = (x, y) z dvourozměrného euklidovského prostoru a nějaké nenulové w. Bod P si můžeme vyjádřit jako bod P w = (wx,wy,w) = (X,Y,Z) v trojrozměrném prostoru. Body P w z E 3 lze převést zpět na body z E 2 zobrazením na rovinu Z =. Označíme-li toto zobrazení H, pak ( X P = H(P w ) = H(X,Y,Z) = Z, Y ) pokud Z. Z Pro Z = ztotožňujeme P se směrem (X,Y ). Převedení do homogenních souřadnic nám tedy bod P = (x, y) zobrazí někam na přímku procházející počátkem a bodem (x, y, ). Naopak zobrazení H zobrazuje celou tuto přímku do jediného bodu na rovině Z =. Tuto konstrukci můžeme pochopitelně provést i v trojrozměrném prostoru, pak dostaneme body P w z čtyřrozměrného prostoru. Tuto myšlenku nyní použijeme při konstrukci NURBS křivky. Pro NURBS křivku s(u) = n i= Rp i (u)p i s řídícími body {P i } z dvourozměrného (trojrozměrného) prostoru a vahami {w i } zkonstruujeme odpovídající body {P w i } z prostoru trojrozměrného (čtyřrozměrného). Pro tyto body definujeme (neracionální) B-spline křivku n s w (u) = N p i (u)p w i. i= 9

20 z (wx,wy,w) x (x,y,) z= y Obrázek 2.2: Homogenní souřadnice Zobrazením H na rovinu Z = dostaneme ( n ) n H(s w (u)) = H N p i (u)p w i= i = Np i (u)w ip i n i= Np i (u)w = s(u), i i= což je křivka, od které jsme vyšli. Vidíme tedy, že místo NURBS křivky z n-rozměrného prostoru můžeme zkonstruovat B-spline křivku z (n + )-rozměrného prostoru. Tu pak dokážeme převést zpět na n-rozměrnou NURBS křivku vydělením prvních n souřadnic poslední souřadnicí. To se může hodit: neznáme-li nějaký algoritmus či vzorec pro NURBS křivky, ale známe-li ho pro jednodušší B-spline křivky, stačí zkonstruovat B-spline křivku v prostoru vyšší dimenze, provést algoritmus a křivku zobrazit zpět do původního prostoru. 2.3 Derivace NURBS křivek Užitečnost myšlenky homogenních souřadnic nám ukáže následují postup. Při výpočtu derivace NURBS křivky využijeme jejího vyjádření jako B-spline křivky v prostoru vyšší dimenze, jak jsme si ho právě vysvětlili. Derivaci B-spline křivky už spočítat dovedeme, viz sekce.5. Můžeme psát: s(u) = s(u)w(u) = a(u) w(u) w(u), 2

21 z z= y x Obrázek 2.3: Konstrukce NURBS křivky kde w(u) je poslední souřadnice bodu s w (u) a a(u) je vektorová funkce, jejíž složky jsou první dvě (popř. tři, je-li NURBS křivka z E 3 ) souřadnice bodu s w (u). Potom s (u) = a (u)w(u) a(u)w (u) w(u) 2 = a (u) s(u)w (u) w(u) = a (u)w(u) s(u)w(u)w (u) w(u) 2 =. (2.) Protože w(u) a a(u) jsou souřadnice bodu s w (u), můžeme jejich první derivace spočítat pomocí vzorce pro derivace B-spline křivek.4, a pak už jen stačí dosadit do vzorce 2.. 2

22 Kapitola 3 Základní algoritmy 3. Změna tvaru křivky NURBS křivka je dána pomocí řídících bodů {P i }, jejich vah {w i } a uzlového vektoru a. Chceme-li křivku měnit, můžeme bud posunout nějaký bod, změnit váhu bodu či pozměnit uzly. Změna uzlů bohužel nemá žádnou jednoduchou geometrickou interpretaci, a nelze tedy předem jasně říci, jak změna ovlivní tvar křivky. Pro naše účely, kdy chceme tvar křivky přiblížit naší představě, je tedy změna uzlů nevhodná. Zaměříme se na zbylé dvě možnosti. Již jsme říkali, že posunutí řídícího bodu ovlivní pouze část křivky. Můžeme si snadno přesně vyjádřit, jak je křivka pozměněna. Mějme křivku s(u) = n i= Rp i (u)p i, které posuneme jeden řídící bod P k do bodu P k + v. Vzniklá křivka má tvar t(u) = = k n R p i (u)p i + R p k (u)(p k + v) + R p i (u)p i i= i=k+ n R p i (u)p i + R p k (u)v = s(u) + Rp k (u)v i= Z tohoto zápisu vidíme, že mimo interval [a k,a k+p+ ) se křivka nezmění, protože tam je funkce R p k nulová. To je dobře, křivku chceme měnit pouze lokálně. A na intervalu [a k,a k+p+ ) se každý bod posune ve směru vektoru v o vzdálenost závislou na hodnotě funkce R p k (u) v daném bodě. Druhou možností je změna vah. Podle definice má NURBS křivka tvar n i= s(u) = Np i (u)w ip i n i= Np i (u)w. i 22

23 2 2 3 Obrázek 3.: Křivka před (modrá) a po posunutí bodu (tyrkysová) Vyberme bod P k, jehož (nezápornou) váhu w k měníme. Pak i k s(u) = Np i (u)w ip i + N p k (u)w kp k i k Np i (u)w i + N p k (u)w. k Pro zjednodušení označme A = N p k (u)w k, B = i k N p i (u)w i, X = i k N p i (u)w ip i. A rovnici přepíšeme s(u) = X + A P k B + A. Napřed uvažujme w k =. Pak A = a každý bod na křivce má tvar s (u) = X B. Pro w k > pak počítejme, jak vypadá vektor s(u) s (u) = X + A P k A + B X B = BX + A BP k A X BX B(A + B) ( A = P k X ) = A A + B B A + B (P k s (u)) = 23

24 Co nám to říká? Vektor s(u) s (u) má stejný směr jako vektor P k s (u). Navíc, A A + B = N p k (u)w k i k Np i (u)w i [, ], takže bod s(u) leží na úsečce s (u)p k pro všechna w k. Snadno vidíme, že i k lim s(u) = lim Np i (u)w ip i + N p k (u)w kp k w k w k i k Np i (u)w i + N p k (u)w = P k, k pro u [a k,a k+p+ ). Shrneme naše poznatky: Měníme-li w k, bod s(u) vždy leží na úsečce s (u)p k. Pro w k = křivka prochází bodem s (u), pokud w k zvětšujeme, s(u) se blíží k bodu P k Obrázek 3.2: NURBS křivky s vahami w 4 = {,.3,, }. 3.2 Vložení uzlu Naším cílem bude vložit nový uzel do vektoru uzlů dané křivky, a to tak, aby daná křivka nezměnila svůj tvar. Uzel můžeme vložit i na místo již existujícího uzlu, a tím tak zvýšit jeho násobnost. I pro nově vzniklou křivku musí nadále platit rovnost n = m p, kde n je počet řídících 24

25 bodů, m počet uzlů a p stupeň křivky. Přidáme-li tedy uzel, musíme přidat i nový řídící bod. K čemu nám to bude? Pomocí vkládání uzlů lze odvodit De Boorův algoritmus pro výpočet hodnoty křivky v bodě. Především však poslouží k snadnému tvarování křivky: budeme-li chtít provést drobné úpravy na nějaké části křivky, vložíme si tam dostatek nových uzlů, abychom mohli s křivkou manipulovat pouze na daném intervalu. Využijeme zde zápisu NURBS křivky jako B-spline křivky v prostoru vyšší dimenze pomocí homogenních souřadnic. K dané NURBS křivce s(u) sestrojíme odpovídající B-spline křivku s w (u) s řídícími body P w,p w,...,p w n podle postupu ze sekce 2.2. Index w zde udává, že pracujeme s body, resp. křivkou, sestrojených z původních bodů pomocí vektoru vah w. Necht je tato křivka stupně p a její vektor uzlů je a = (a,a,...,a m ). Chceme vložit nový uzel t [a j,a j+ ). Musíme tedy najít řídící body Q w,q w,...,q w n+, a to tak, aby n N p i (u)p n+ w i = N p i (u)qw i, (3.) i= kde N p i (u) jsou bázové funkce příslušné upravenému vektoru uzlů ā = (a,a,...,a j,t,a j+,...,a m ) Víme, že na intervalu [a j,a j+ ) jsou nenulové pouze bázové funkce N p j p, Np j p+,...,np j, přidání uzlu tedy změní jen jim příslušné body P w j p,p w j p+,...p w j. Nové řídící body sestrojíme tak, aby řídící polygon P w j pp w j p+...p w j byl nahrazen polygonem P w j pq w j p+...q w j P w j, který tomu původnímu seřezává rohy. Přesněji, bod Q w j p+ hledáme na úsečce P w j p P w j p+, bod Q w j p+2 na úsečce P w j p+ P w j p+2 a tak dále, až k bodu Q w j, který najdeme na úsečce P w j P w j. Pro názornou ukázku se podívejte na Obr. 3.3 a 3.4. Lze ukázat, že pokud pro nové řídící body platí: P w Q w i pro i j p i = ( α i )P w i + α i P w i pro j p + i j (3.2) P w i pro i j + i= kde pak je rovnice 3. splněna. α i = t a i a i+p a i, 25

26 Shrneme si postup: stačí spočítat nové řídící body podle tohoto vzorce a do vektoru uzlů vložit na správné místo nový uzel. V případě NURBS křivky musíme ještě předtím sestrojit odpovídající B-spline křivku, a po spočtení nových řídících bodů vydělit jejich souřadnice souřadnicí poslední. Tím dostaneme upravené řídící body NURBS křivky, jejich váhy jsou právě poslední souřadnice řídících bodů B-spline křivky Obrázek 3.3: Vložení uzlu jednoduché a vícenásobné Původní křivka byla určena n řídícími body. Po provedení tohoto algoritmu se těchto n bodů nahradí n+ novými řídícími body, přičemž nový řídící polygon se až na p bodů neliší od předchozího. Naopak v těchto p bodech ořezává rohy původnímu, a přibližuje se tak dané křivce, viz Obr Můžeme dokonce vyslovit tvrzení o konvergenci řídícího polygonu při zahušt ování vektoru uzlů. Věta. Mějme interval [a,b], necht h = max{(a i+ a i ) [a i,a i+ ] [a,b]} a necht γ i = (a i a i+n )/n. Pak max s(γ i ) P w i = O(h 2 ), kde maximum bereme přes všechna i taková, že [a i+,a i+n ] [a,b]. Čísla γ i se nazývají Grevillovy abscisy. Můžeme také chtít vložit jeden uzel vícekrát. Vzorec 3.2 můžeme pro tento případ zobecnit. Budeme chtít r-krát vložit uzel t [a j,a j+ ), který již je násobnosti s, kde r+s p. Pak body vzniklé po r-tém vložení jsou 26

27 dány rekurzí Q w Q w i,r pro i j p + r i,r = ( α i,r )Q w i,r + α i,r Q w i,r pro j p + r i j s, Q w i,r pro i j s + (3.3) kde t a i α i,r = a i+p r+ a i a Q w i, = P w i. Počet nových řídících bodů je p s + r, ty nahradí p s + původních řídících bodů. Ostatní zůstávají nezměněny. Příklad. Mějme B-spline křivku stupně p = 3 s vektorem uzlů a = (,,,,, 7, 7, 7, 7) a řídícími body P,...,P 4. Chceme třikrát vložit uzel v bodě t = 3. Na rozdíl od předchozího obecného postupu nyní nepracujeme s NURBS křivkou, ale s neracionální B-spline křivkou s(u). Tu nemusíme pomocí homogenních souřadnic převádět na B-spline křivku s w (u), takže horní index w u původních i nových řídících bodů P i a Q i,r v tomto příkladě vynecháváme. Vidíme, že p = 3, m = 8, n = 4, j = 4 a s =. Vkládáme-li uzel poprvé, tedy r =, pak platí: Q, = P a Q, = P, Body Q 2,,Q 3, a Q 4, spočteme podle vzorce 3.3, Q 5, = P 4. Řídící polygon křivky se po jednoduchém vložení uzlu skládá ze 6 bodů: P P Q 2, Q 3, Q 4, P 4. Pro představu se podívejte na Obr Podobně při druhém vložení (r = 2): první 3 body se nemění, Q,2 = Q, = P, Q,2 = Q, = P, Q 2,2 = Q 2,, body Q 3,2 a Q 4,2 opět musíme spočítat podle vzorce 3.3, a pro poslední 2 body platí Q 5,2 = Q 4, a Q 6,2 = Q 5, = P 4. Nyní řídící polygon vypadá takto: P P Q 2, Q 3,2 Q 4,2 Q 4, P 4. Při posledním vložení: 27

28 První čtyři body zůstávají stejné jako minule, tedy Q,3 = P, Q,3 = P, Q 2,3 = Q 2,, Q 3,3 = Q 3,2. Bod Q 4,3 spočteme dle vzorce 3.3. Zbylé body, až na posunutý index, necháme také stejné jako předtím: Q 5,3 = Q 4,2, Q 6,3 = Q 4,, Q 7,3 = P 4. Řídící polygon se tedy sestává z osmi bodů P P Q 2, Q 3,2 Q 4,3 Q 4,2 Q 4, P 4. Q 2, P 2 2 P Q 3,2 Q 3, Q 4,3 P Q 4,2 P 3 Q 4, P Obrázek 3.4: Trojnásobné vložení uzlu V praxi je ovšem nepohodlné určovat hodnotu parametru u, kam chceme vložit nový uzel. Intuitivnější je vybrat na křivce bod, který chceme vložit, a podle toho dopočítat u. Pokud daný bod Q leží na úsečce P i P i+, můžeme ho vyjádřit vyjádřit ve tvaru Q = ( t)w ip i + tw i+ P i+ ( t)w i + tw i+ pro t [, ]. Odtud získáme t = w i Q P i w i Q P i + w i+ P i+ Q, 28

29 a dostáváme hledané u: u = a i+ + t(a i+p+ a i+ ). Tomuto procesu se říká inverzní vložení uzlu. Ještě si ukážeme jednoduché aplikace vkládání uzlů. První z nich je De Boorův algoritmus. Ten nám umožňuje rychle a jednoduše určit polohu bodu s(t) pro t [a,a m ]. Jeho myšlenka je prostá: Již víme (viz sekce.4), že v uzlu násobnosti p křivka stupně p prochází řídícím bodem. Pokud je tedy t uzel násobnosti s, stačí ho r-krát vložit, tak, aby r + s = p. Pak t je uzel násobnosti p a křivka v něm prochází posledním spočítaným řídícím bodem. Tento bod je tedy hledaným bodem s(t). Ještě jednou: pro zjištění polohy s(t) stačí tedy vložit uzel t tolikrát, aby jeho násobnost byla p, a poslední spočítaný bod pak je právě s(t). A to je přesně de Boorův algoritmus. V předcházejícím příkladě jsme takto nevědomky spočítali hodnotu křivky v bodě 3: po trojnásobném vložení uzlu už křivka prochází posledním spočítaným bodem Q 4,3, takže s(3) = Q 4,3. Další aplikací je rozdělení křivky. To osvětlíme opět na našem příkladu. Mějme znovu kubickou B-spline křivku, danou na intervalu [, 7] s vektorem uzlů a = (,,,,, 7, 7, 7, 7) a řídícími body P,...,P 4, kterou chceme rozdělit na dvě křivky dané na intervalech [, 3] a [3, 7]. Stejně jako u de Boorova algoritmu vložíme třikrát uzel 3, tedy aby jeho násobnost byla p = 3. Vezmeme si B-spline křivku s (u), danou body P,P,Q 2,,Q 3,2,Q 4,3 s vektorem uzlů a = (,,,,, 3, 3, 3, 3), a s 2 (u), danou body Q 4,3,Q 4,2,Q 4,,P 4 s vektorem uzlů a 2 = (3, 3, 3, 3, 7, 7, 7, 7). Pro ně platí s(u) [,3] = s (u) a s(u) [3,7] = s 2 (u). Opakovaným vkládáním uzlu jsme tedy dokázali křivku rozdělit na dvě křivky, které jsou na sobě nezávislé, a lze je tedy libovolně upravovat, posunovat či zcela smazat bez ovlivnění druhé části křivky. Povšimněte si, že pokud otevřenou křivku stupně p s vektorem uzlů a = (a,...,a m ) rozdělíme ve všech jejích vnitřních uzlech a i, dostaneme m křivek stupně p s uzlovým vektorem (a i,...,a i,a i+,...,a i+ ), kde násobnost obou uzlů je p+. Tyto křivky jsou tedy Bézierovy a my jsme tímto rozdělili B-spline křivku na m Bézierových segmentů definovaných na intervalech [a i,a i+ ). 29

30 Obrázek 3.5: B-spline křivka před a po rozdělení na Bézierovy segmenty 3.3 Odstranění uzlu Stručně se zmíníme i o algoritmu opačném, tedy odstranění uzlu. Budeme mít křivku s(u) s vektorem uzlů a, který obsahuje bod t násobnosti k. My budeme chtít tento uzel odstranit, bez toho, aby se změnil tvar křivky. Komplikací je, že odstranění uzlu, na rozdíl od vložení, nelze provést vždy. Víme, že B-spline křivky obecně mají v k-násobném uzlu spojitost třídy C p k, avšak řídící body mohou ležet tak, že je křivka hladší. A to přesně potřebujeme, protože chceme-li snížit násobnost uzlu o jedničku, musí mít křivka v daném bodě spojitost třídy alespoň C p k+. Pokud to platí, lze uzel odstranit. Necht tedy t = a r je k-násobný uzel takový, že a r k+ =... = a r a r+. Z tvaru derivace křivky (viz sekce.5) sestavíme rovnice pro spojitost v bodě t pro nové řídící body Q i, které po odstranění uzlu nahradí body P i. Po úpravách dostaneme p k + rovnic tvaru kde P i = α i Q i + ( α i )Q i, α i = t a i a i+p+ a i pro i = r p,...,r k. Protože Q r p = P r p a Q r k = P r k+, dostali jsme p k + rovnic o p k neznámých bodech Q i. Pokud je soustava řešitelná (s danou tolerancí), lze uzel odstranit. Pak nahradíme p k+ řídících bodů p k novými body, získanými z této soustavy. Povšimněte si podobnosti této rovnice se vzorcem 3.2 pro výpočet nových bodů při vložení uzlu. Rozdíl je v tom, že zatímco u vzorce 3.2 byl hledaný bod na levé straně, zde levou stranu známe a chceme 3

31 spočítat body na pravé straně. Je to logické: vložení uzlu a odstranění uzlu jsou inverzní operace, proto dostáváme stejné rovnice, jen neznámé jsou rozdílné. Dva zmíněné algoritmy - přidání a odstranění uzlu - se spolu využívají při úpravě křivek. Chceme-li někde křivku nějak pozměnit, přidáme dostatečné množství uzlů, abychom část křivky izolovali od zbytku, který měnit nechceme, a abychom také získali velký počet bodů pro úpravu. S těmi pak můžeme libovolně manipulovat (posunováním či změnami vah). Když jsme hotovi, a křivka má tvar, jaký chceme, odstraníme tolik uzlů, kolik můžeme, abychom si reprezentaci křivky zase zjednodušili a neuchovávali zbytečné množství informací. 3.4 Zvýšení stupně křivky Zvýšením stupně NURBS křivky rozumíme algoritmus, při kterém křivku stupně p vyjádříme jako křivku stupně p +, a to tak, aby se tvar i parametrizace křivky nezměnily. Pro zjednodušení budeme dále uvažovat B-spline křivky, s tím, že NURBS křivky na ně můžeme převést pomocí homogenních souřadnic. Tento algoritmus je potřeba, pokud máme dvě křivky různého stupně a chceme je spojit dohromady. K tomu potřebujeme, aby měly obě stejný stupeň, proto křivce s nižším stupněm stupeň zvyšíme. Mějme B-spline křivku stupně p s vektorem uzlů a = (a,a,...,a m ) a řídícími body {P i } tvaru s(u) = n P i N p i (u). i= Ta je po částech polynomiální stupně p, a zřejmě ji můžeme psát jako lineární kombinaci bázových funkcí stupně p +, tedy s(u) = n i= Q i N p+ i (u), s vektorem uzlů ā a řídícími body Q i. Najít tyto body a vektor uzlů je cílem algoritmu zvýšení stupně křivky. Necht uzel a i má násobnost r i. Křivka s(u) je v tomto uzlu spojitá třídy C p r i. Aby zde měla křivka i po zvýšení stupně spojitost stejné třídy, násobnost tohoto uzlu musíme zvýšit o. To platí pro všechny uzly, nový vektor uzlů dostaneme zvýšením násobnosti každého uzlu o jedničku. 3

32 Je více způsobů, jak spočítat polohu bodů Q i. My ukážeme následující postup:. Rozdělit křivku na Bézierovy segmenty. 2. Zvýšit stupeň Bézierova segmentu. 3. Odstranit nepotřebné uzly. V sekci 3.2 jsme si ukázali, že rozdělení křivky na Bézierovy segmenty provedeme rozdělením křivky ve všech jejích uzlech, tedy že každému uzlu doplníme násobnost na hodnotu p. První krok tedy zvládneme aplikací známých algoritmů. Každý Bézierův segment je nyní stupně p, a my chceme jeho stupeň zvýšit o jedničku. Pro Bézierovu křivku, na rozdíl od B-spline křivek, to lze provést jednoduše: dá se odvodit, že pro nové řídící body Bézierova segmentu platí vztah Q i = ( α i )P i + α i P i, kde α i = i/(p + ) pro i =,...,p +. V posledním kroku odstraníme přebytečné uzly vložené v prvním kroku. Oproti výše zmíněnému algoritmu máme tu výhodu, že víme, kolikrát lze jaký uzel odstranit. Chceme-li zvýšit stupeň křivky vícekrát, můžeme tento algoritmus použít opakovaně, při tom se však nevyhneme některým nadbytečným výpočtům. Lze odvodit i vztah pro řídící body po r-tém zvýšení stupně, ty mají tvar: P r i = min(p,i) j=max(,i r) ( p j)( r i r) P j ( p+r i ) i =,...p + r. 32

33 Kapitola 4 Konstrukce kuželoseček 4. Kvadratické racionální Bézierovy křivky a kuželosečky Podívejme se napřed na neracionální kvadratickou Bézierovu křivku. Ta je, stejně jako B-spline křivky stupně 2, polynomiální druhého stupně, což znamená, že leží na části paraboly. Parabolu tedy dokážeme sestrojit i s pomocí neracionálních křivek. A právě rozšíření na racionání křivky nám umožní zkonstruovat i ostatní kuželosečky - hyperbolu, elipsu a též kruh jako speciální případ elipsy. Stejně jako jsme rozšířili B-spline křivky na NURBS křivky, můžeme definovat i racionální Bézierovy křivky pomocí vah řídících bodů. Racionální Bézierovy křivky jsou tedy NURBS křivky bez vnitřních uzlů, to jest křivky s vektorem uzlů tvaru (a,...,a,b,...,b). Kvadratické racionální Bézierovy křivky jsou dány pomocí tří bodů P,P,P 2 a jejich vah, přičemž mají tvar s(u) = ( u)2 w P + 2u ( u)w P + u 2 w 2 P 2 ( u) 2 w + 2u( u)w + u 2 w 2 pro u [, ]. Obyčejně bereme w =,w 2 =, a jediná volitelná váha je tak w. Dostáváme tak vyjádření s(u) = u2 (P + 2w P + P 2 ) + u( 2P + 2w P ) + P u 2 (2 2w ) + u( 2 + 2w ) + (4.) Lze ukázat, že křivka daná tímto podílem dvou kvadratických funkcí je vždy kuželosečkou. Její typ závisí na váze w. Podívejme se na kořeny jmenovatele zlomku. Jeho diskriminant je D = ( 2 + 2w ) 2 4(2 2w ) = 4(w 2 ). 33

34 Dostáváme Pokud w [, ), pak jmenovatel nemá nulový bod, tedy křivka nemá žádné body v nekonečnu a je to elipsa. Pokud w =, pak jmenovatel má jediný nulový bod, tedy křivka má jeden bod v nekonečnu a je to parabola. Pokud w (, ), pak má jmenovatel dva nulové body, tedy křivka má dva body v nekonečnu a je to hyperbola. 2 P X 3 X X.3 P M P 2 2 Obrázek 4.: Části kuželoseček pro w = {.3,, 3} Tuto racionální Bézierovu křivku určujeme body P,P,P 2 a vahou prostředního z nich. Určení váhy ale nemusí být vždy zcela intuitivní, namísto toho můžeme zadat bod X, kterým bude křivka procházet, třeba pro u = /2. Ten vypadá takto: X = s(/2) = + w M + w + w P, kde M je střed úsečky P P 2. Hodnota w je pak určena vztahem w = X M P X. (4.2) 34

35 Bod X lze položit kamkoliv na úsečku MP 2. Typ křivky pak záleží na jeho poloze: posunujeme-li bod X od bodu P k bodu M, křivka leží postupně na hyperbole, parabole (pro X = M+P ) a elipse, až nakonec 2 pro X = M přechází na úsečku. Obvykle ale budeme mít dánu kuželosečku a budeme chtít sestrojit racionální Bézierovu křivku, která leží na této kuželosečce. Ta může být zadána mnoha způsoby: implicitně, parametricky či geometricky pomocí ohniska, řídící přímky a excentricity. Všechny tyto tvary můžeme převést na jednoznačné určení kuželosečky pomocí tří bodů, kterými kuželosečka prochází (P, X, P 2 ), a tečen v bodech P a P 2. Protože pro racionální Bézierovy křivky platí, že tečna v krajních bodech má směr krajních úseček řídícího polygonu, se znalostí bodů P a P 2 a tečen kuželosečky v těchto bodech dokážeme najít i bod P. Nyní musíme zjistit váhu w bodu P. Napřed spočítáme u, pro nějž křivka prochází bodem X, tedy s(u) = X. Víme, že pro pevné u se body s(u) nachází na jedné přímce pro libovolnou váhu w, a to na přímce určené body P a X (viz Obr. 4.). Označme M průsečík této přímky s úsečkou P P 2. Tuto úsečku vyjádříme jako křivku s(u) s w =. Její tvar je s (u) = ( u)2 P + u 2 P 2, (4.3) ( u) 2 + u 2 jak si můžeme ověřit dosazením do 4.. Stačí nám tedy zjistit hodnotu u tak, aby s (u) = M. Z rovnice 4.3 plyne, že platí P M = P ( u)2 P + u 2 P 2 ( u) 2 + u 2 = u 2 P u 2 P 2 ( u) 2 + u 2, MP 2 = ( u) 2 P + u 2 P 2 P ( u) 2 + u 2 2 = ( u) 2 P ( u) 2 P 2 ( u) 2 + u 2, a tedy P M MP 2 = u 2 ( u). 2 Odtud po úpravách dostaneme u = a + a, kde a = P M MP 2. Dosazením této hodnoty a bodu X do rovnice 4. a následnými úpravami získáme vztah w = ( u)2 P X + u 2 X P 2, 2u ( u) P X který jsme hledali. 35

36 4.2 Konstrukce kruhu Podle návodu z předchozí sekce sestrojíme oblouk kruhu pomocí racionální Bézierovy křivky. Mějme body P,P,P 2. Vzhledem k symetrii kruhu budeme požadovat, aby P P = P P 2, body tedy musí tvořit rovnoramenný trojúhelník. Úhel P P P 2 označme jako α. Je zapotřebí najít váhu w, aby Bézierova křivka určená těmito body ležela na kruhu. Pro výpočet uvažujme jednotkovou kružnici. Mějme tedy O střed kružnice o poloměru, jinak se přidržme předchozího značení. Náčrtek situace vidíme na Obr P.5 α/2 O M X α P.5 P Obrázek 4.2: Konstrukce kruhového oblouku Z trigonometrických vztahů snadno spočteme, že a tedy, podle vzorce 4.2, OM = sin(α/2), OP = sin(α/2), w = MX P X = OM OP = sin(α/2) = sin(α/2) sin(α/2) Máme-li tedy tři body P,P,P 2, které tvoří rovnostranný trojúhelník, a váhu w = sin(α/2), racionální Bézierova křivka tvoří kruhový oblouk. Na Obr. 4.3 vidíme takto zkonstruovaný čtvrtkruh s řídícími body (, ), (, ), (, ) s vahou w = sin(π/4) = 2/2. Napojením těchto oblouků můžeme získat celý kruh. A zde přicházejí ke slovu NURBS křivky. 36

37 .5.5 Obrázek 4.3: Čtvrtkruh pomocí racionální Bézierovy křivky Příklad. Konstrukce jednotkového kruhu pomocí čtvrtkruhů Jestliže napojíme na sebe čtyři řídící polygony, jak jsme je právě sestrojili, dostaneme devět řídících bodů: {P i } = {(, ), (, ), (, ), (, ), (, ), (, ), (, ), (, ), (, )}. Váhy těchto bodů jsou {w i } = {, 2/2,, 2/2,, 2/2,, 2/2, }. Všechny čtyři oblouky jsou stejně dlouhé, uzly proto volíme ekvidistantně, a navíc vnitřní uzly bereme dvojnásobné, aby se křivka dotýkala řídícího polygonu v místech napojení oblouků. Vektor uzlů je tedy a = (,,, /4, /4, /2, /2, 3/4, 3/4,,, ). Vidíme, že máme 2 uzlů, a rovnost m = n + p + je splněna. Stejně tak můžeme kruh vepsat libovolnému pravidelnému n-úhelníku. Za řídící body vezmeme jeho vrcholy a středy stran, jejich váhy jsou vždy pro středy stran a sin(α/2) pro vrcholy, kde α je úhel u vrcholu n-úhelníku. Vektor uzlů bereme ekvidistantní s dvojnásobnými vnitřními uzly. 37

38 P 7 P =P 8 P P 6 P 2 P 5 P 4 P 3 Obrázek 4.4: NURBS kruh pomocí čtyř oblouků (a) n=3 (b) n=6 Obrázek 4.5: NURBS kruh sestrojený pomocí n-úhelníku 38

39 Literatura [] Najzar K.: Základy teorie splinů, Karolinum, Praha, 26. [2] Piegl L., Tiller W.: The NURBS Book, Springer-Verlag, Berlin, 997. [3] Prautzsch H., Boehm W., Paluszny M: Bézier and B-spline Techniques, Springer-Verlag, Berlin, 22. [4] Shene, C.-K.: Introduction to Computing with Geometry Notes [online], aktualizováno [cit ]. Dostupné z: < NOTES/notes.html>. 39

Bézierovy křivky Bohumír Bastl KMA/GPM Geometrické a počítačové modelování Bézierovy křivky GPM 1 / 26

Bézierovy křivky Bohumír Bastl KMA/GPM Geometrické a počítačové modelování Bézierovy křivky GPM 1 / 26 Bézierovy křivky Bohumír Bastl (bastl@kma.zcu.cz) KMA/GPM Geometrické a počítačové modelování Bézierovy křivky GPM 1 / 26 Opakování Spline křivky opakování Bézierovy křivky GPM 2 / 26 Opakování Interpolace

Více

Aproximační křivky. Trocha historie. geometrické modelování veliký pokrok v oblasti letectví 1944 Roy Liming

Aproximační křivky. Trocha historie. geometrické modelování veliký pokrok v oblasti letectví 1944 Roy Liming Trocha historie geometrické modelování veliký pokrok v oblasti letectví 944 Roy Liming analytik, North American Aviation (výrobce letadel) společně s konstruktérem a designérem Edgardem Schmuedem matematizace

Více

Jana Dannhoferová Ústav informatiky, PEF MZLU

Jana Dannhoferová Ústav informatiky, PEF MZLU Počítačová grafika Křivky Jana Dannhoferová (jana.dannhoferova@mendelu.cz) Ústav informatiky, PEF MZLU Základní vlastnosti křivek křivka soustava parametrů nějaké rovnice, která je posléze generativně

Více

Těleso racionálních funkcí

Těleso racionálních funkcí Těleso racionálních funkcí Poznámka. V minulém semestru jsme libovolnému oboru integrity sestrojili podílové těleso. Pro libovolné těleso R je okruh polynomů R[x] oborem integrity, máme tedy podílové těleso

Více

Aproximační křivky. Trocha historie. geometrické modelování veliký pokrok v oblasti letectví 1944 Roy Liming

Aproximační křivky. Trocha historie. geometrické modelování veliký pokrok v oblasti letectví 1944 Roy Liming Trocha historie geometrické modelování veliký pokrok v oblasti letectví 944 Roy Liming analytik, North American Aviation (výrobce letadel) společně s konstruktérem a designérem Edgardem Schmuedem matematizace

Více

Křivky a plochy technické praxe

Křivky a plochy technické praxe Kapitola 7 Křivky a plochy technické praxe V technické praxi se setkáváme s tím, že potřebujeme křivky a plochy, které se dají libovolně upravovat a zároveň je jejich matematické vyjádření jednoduché.

Více

Odvození středové rovnice kružnice se středem S [m; n] a o poloměru r. Bod X ležící na kružnici má souřadnice [x; y].

Odvození středové rovnice kružnice se středem S [m; n] a o poloměru r. Bod X ležící na kružnici má souřadnice [x; y]. Konzultace č. 6: Rovnice kružnice, poloha přímky a kružnice Literatura: Matematika pro gymnázia: Analytická geometrie, kap. 5.1 a 5. Sbírka úloh z matematiky pro SOŠ a studijní obory SOU. část, kap. 6.1

Více

ANALYTICKÁ GEOMETRIE LINEÁRNÍCH ÚTVARŮ V ROVINĚ

ANALYTICKÁ GEOMETRIE LINEÁRNÍCH ÚTVARŮ V ROVINĚ ANALYTICKÁ GEOMETRIE LINEÁRNÍCH ÚTVARŮ V ROVINĚ Parametrické vyjádření přímky v rovině Máme přímku p v rovině určenou body A, B. Sestrojíme vektor u = B A. Pro bod B tím pádem platí: B = A + u. Je zřejmé,

Více

6 Lineární geometrie. 6.1 Lineární variety

6 Lineární geometrie. 6.1 Lineární variety 6 Lineární geometrie Motivace. Pojem lineární varieta, který budeme v této kapitole studovat z nejrůznějších úhlů pohledu, není žádnou umělou konstrukcí. Příkladem lineární variety je totiž množina řešení

Více

Teorie informace a kódování (KMI/TIK) Reed-Mullerovy kódy

Teorie informace a kódování (KMI/TIK) Reed-Mullerovy kódy Teorie informace a kódování (KMI/TIK) Reed-Mullerovy kódy Lukáš Havrlant Univerzita Palackého 10. ledna 2014 Primární zdroj Jiří Adámek: Foundations of Coding. Strany 137 160. Na webu ke stažení, heslo:

Více

15. listopadu Matematický ústav UK Matematicko-fyzikální fakulta. Hermitovská interpolace

15. listopadu Matematický ústav UK Matematicko-fyzikální fakulta. Hermitovská interpolace Geometrické modelování Zbyněk Šír Matematický ústav UK Matematicko-fyzikální fakulta Hermitovská interpolace 15. listopadu 2017 Zbyněk Šír (MÚ UK) - Geometrické modelování 15. listopadu 2017 1 / 23 Hermiteovská

Více

Kristýna Bémová. 13. prosince 2007

Kristýna Bémová. 13. prosince 2007 Křivky v počítačové grafice Kristýna Bémová Univerzita Karlova v Praze 13. prosince 2007 Kristýna Bémová (MFF UK) Křivky v počítačové grafice 13. prosince 2007 1 / 36 Pojmy - křivky a jejich parametrické

Více

Důkazy vybraných geometrických konstrukcí

Důkazy vybraných geometrických konstrukcí Gymnázium Christiana Dopplera, Zborovská 45, Praha 5 Ročníková práce Důkazy vybraných geometrických konstrukcí Vypracovala: Ester Sgallová Třída: 8.M Školní rok: 015/016 Seminář : Deskriptivní geometrie

Více

Vektorové podprostory, lineární nezávislost, báze, dimenze a souřadnice

Vektorové podprostory, lineární nezávislost, báze, dimenze a souřadnice Vektorové podprostory, lineární nezávislost, báze, dimenze a souřadnice Vektorové podprostory K množina reálných nebo komplexních čísel, U vektorový prostor nad K. Lineární kombinace vektorů u 1, u 2,...,u

Více

Vektory a matice. Obsah. Aplikovaná matematika I. Carl Friedrich Gauss. Základní pojmy a operace

Vektory a matice. Obsah. Aplikovaná matematika I. Carl Friedrich Gauss. Základní pojmy a operace Vektory a matice Aplikovaná matematika I Dana Říhová Mendelu Brno Obsah 1 Vektory Základní pojmy a operace Lineární závislost a nezávislost vektorů 2 Matice Základní pojmy, druhy matic Operace s maticemi

Více

Lingebraické kapitolky - Analytická geometrie

Lingebraické kapitolky - Analytická geometrie Lingebraické kapitolky - Analytická geometrie Jaroslav Horáček KAM MFF UK 2013 Co je to vektor? Šipička na tabuli? Ehm? Množina orientovaných úseček majících stejný směr. Prvek vektorového prostoru. V

Více

1 Linearní prostory nad komplexními čísly

1 Linearní prostory nad komplexními čísly 1 Linearní prostory nad komplexními čísly V této přednášce budeme hledat kořeny polynomů, které se dále budou moci vyskytovat jako složky vektorů nebo matic Vzhledem k tomu, že kořeny polynomu (i reálného)

Více

0.1 Úvod do lineární algebry

0.1 Úvod do lineární algebry Matematika KMI/PMATE 1 01 Úvod do lineární algebry 011 Lineární rovnice o 2 neznámých Definice 011 Lineární rovnice o dvou neznámých x, y je rovnice, která může být vyjádřena ve tvaru ax + by = c, kde

Více

KMA/GPM Barycentrické souřadnice a

KMA/GPM Barycentrické souřadnice a KMA/GPM Barycentrické souřadnice a trojúhelníkové pláty František Ježek jezek@kma.zcu.cz Katedra matematiky Západočeské univerzity v Plzni, 2008 19. dubna 2009 1 Trojúhelníkové pláty obecně 2 Barycentrické

Více

V předchozí kapitole jsme podstatným způsobem rozšířili naši představu o tom, co je to číslo. Nadále jsou pro nás důležité především vlastnosti

V předchozí kapitole jsme podstatným způsobem rozšířili naši představu o tom, co je to číslo. Nadále jsou pro nás důležité především vlastnosti Kapitola 5 Vektorové prostory V předchozí kapitole jsme podstatným způsobem rozšířili naši představu o tom, co je to číslo. Nadále jsou pro nás důležité především vlastnosti operací sčítání a násobení

Více

Analytická geometrie kvadratických útvarů v rovině

Analytická geometrie kvadratických útvarů v rovině Analytická geometrie kvadratických útvarů v rovině V následujícím textu se budeme postupně zabývat kružnicí, elipsou, hyperbolou a parabolou, které souhrnně označujeme jako kuželosečky. Současně budeme

Více

ANALYTICKÁ GEOMETRIE V ROVINĚ

ANALYTICKÁ GEOMETRIE V ROVINĚ ANALYTICKÁ GEOMETRIE V ROVINĚ Analytická geometrie vyšetřuje geometrické objekty (body, přímky, kuželosečky apod.) analytickými metodami. Podle prostoru, ve kterém pracujeme, můžeme analytickou geometrii

Více

Necht tedy máme přirozená čísla n, k pod pojmem systém lineárních rovnic rozumíme rovnice ve tvaru

Necht tedy máme přirozená čísla n, k pod pojmem systém lineárních rovnic rozumíme rovnice ve tvaru 2. Systémy lineárních rovnic V této kapitole se budeme zabývat soustavami lineárních rovnic s koeficienty z pole reálných případně komplexních čísel. Uvádíme podmínku pro existenci řešení systému lineárních

Více

transformace je posunutí plus lineární transformace má svou matici vzhledem k homogenním souřadnicím [1]

transformace je posunutí plus lineární transformace má svou matici vzhledem k homogenním souřadnicím [1] [1] Afinní transformace je posunutí plus lineární transformace má svou matici vzhledem k homogenním souřadnicím využití například v počítačové grafice Evropský sociální fond Praha & EU. Investujeme do

Více

6 Skalární součin. u v = (u 1 v 1 ) 2 +(u 2 v 2 ) 2 +(u 3 v 3 ) 2

6 Skalární součin. u v = (u 1 v 1 ) 2 +(u 2 v 2 ) 2 +(u 3 v 3 ) 2 6 Skalární součin Skalární součin 1 je operace, která dvěma vektorům (je to tedy binární operace) přiřazuje skalár (v našem případě jde o reálné číslo, obecně se jedná o prvek nějakého tělesa T ). Dovoluje

Více

2. kapitola: Euklidovské prostory

2. kapitola: Euklidovské prostory 2. kapitola: Euklidovské prostory 2.1 Definice. Euklidovským n-rozměrným prostorem rozumíme neprázdnou množinu E n spolu s vektorovým prostorem V n a přiřazením, které každému bodu a z E n a každému vektoru

Více

NURBS REPREZENTACE KŘIVEK V MAPLE

NURBS REPREZENTACE KŘIVEK V MAPLE 25. KONFERENCE O GEOMETRII A POČÍTAČOVÉ GRAFICE Karolína Kundrátová NURBS REPREZENTACE KŘIVEK V MAPLE Abstrakt Parametrizace křivek jako NURBS (tj. neuniformní racionální B-spliny) patří k moderním postupům

Více

Definice. Vektorový prostor V nad tělesem T je množina s operacemi + : V V V, tj. u, v V : u + v V : T V V, tj. ( u V )( a T ) : a u V které splňují

Definice. Vektorový prostor V nad tělesem T je množina s operacemi + : V V V, tj. u, v V : u + v V : T V V, tj. ( u V )( a T ) : a u V které splňují Definice. Vektorový prostor V nad tělesem T je množina s operacemi + : V V V, tj. u, v V : u + v V : T V V, tj. ( u V )( a T ) : a u V které splňují 1. u + v = v + u, u, v V 2. (u + v) + w = u + (v + w),

Více

Texty k přednáškám z MMAN3: 4. Funkce a zobrazení v euklidovských prostorech

Texty k přednáškám z MMAN3: 4. Funkce a zobrazení v euklidovských prostorech Texty k přednáškám z MMAN3: 4. Funkce a zobrazení v euklidovských prostorech 1. července 2008 1 Funkce v R n Definice 1 Necht n N a D R n. Reálnou funkcí v R n (reálnou funkcí n proměnných) rozumíme zobrazení

Více

1 Polynomiální interpolace

1 Polynomiální interpolace Polynomiální interpolace. Metoda neurčitých koeficientů Příklad.. Nalezněte polynom p co nejmenšího stupně, pro který platí p() = 0, p(2) =, p( ) = 6. Řešení. Polynom hledáme metodou neurčitých koeficientů,

Více

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ. Modernizace studijního programu Matematika na PřF Univerzity Palackého v Olomouci CZ.1.07/2.2.00/28.

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ. Modernizace studijního programu Matematika na PřF Univerzity Palackého v Olomouci CZ.1.07/2.2.00/28. INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Modernizace studijního programu Matematika na PřF Univerzity Palackého v Olomouci CZ.1.07/2.2.00/28.0141 Báze vektorových prostorů, transformace souřadnic Michal Botur Přednáška

Více

3 Projektivní rozšíření Ēn prostoru E n

3 Projektivní rozšíření Ēn prostoru E n 3 Projektivní rozšíření Ēn prostoru E n Projektivním rozšířením eukleidovského prostoru E n rozumíme jeho doplnění o nevlastní body. Výsledný prostor značíme Ēn. Takovéto rozšíření eukleidovského prostoru

Více

Otázku, kterými body prochází větev implicitní funkce řeší následující věta.

Otázku, kterými body prochází větev implicitní funkce řeší následující věta. 1 Implicitní funkce Implicitní funkce nejsou funkce ve smyslu definice, že funkce bodu z definičního oboru D přiřadí právě jednu hodnotu z oboru hodnot H. Přesnější termín je funkce zadaná implicitně.

Více

Definice 13.1 Kvadratická forma v n proměnných s koeficienty z tělesa T je výraz tvaru. Kvadratická forma v n proměnných je tak polynom n proměnných s

Definice 13.1 Kvadratická forma v n proměnných s koeficienty z tělesa T je výraz tvaru. Kvadratická forma v n proměnných je tak polynom n proměnných s Kapitola 13 Kvadratické formy Definice 13.1 Kvadratická forma v n proměnných s koeficienty z tělesa T je výraz tvaru f(x 1,..., x n ) = a ij x i x j, kde koeficienty a ij T. j=i Kvadratická forma v n proměnných

Více

Michal Zamboj. January 4, 2018

Michal Zamboj. January 4, 2018 Meziřádky mezi kuželosečkami - doplňkový materiál k přednášce Geometrie Michal Zamboj January 4, 018 Pozn. Najdete-li chybu, neváhejte mi napsat, může to ušetřit tápání Vašich kolegů. Pozn. v dokumentu

Více

KŘIVKY A PLOCHY. Obrázky (popř. slajdy) převzaty od

KŘIVKY A PLOCHY. Obrázky (popř. slajdy) převzaty od KŘIVKY A PLOCHY JANA ŠTANCLOVÁ jana.stanclova@ruk.cuni.cz Obrázky (popř. slajdy) převzaty od RNDr. Josef Pelikán, CSc., KSVI MFF UK Obsah matematický popis křivek a ploch křivky v rovině implicitní tvar

Více

i=1 Přímka a úsečka. Body, které leží na přímce procházející body a a b můžeme zapsat pomocí parametrické rovnice

i=1 Přímka a úsečka. Body, které leží na přímce procházející body a a b můžeme zapsat pomocí parametrické rovnice I. Funkce dvou a více reálných proměnných 1. Úvod Značení: V textu budeme používat označení: N pro množinu všech přirozených čísel; R pro množinu všech reálných čísel; R n pro množinu všech uspořádaných

Více

Základní vlastnosti křivek

Základní vlastnosti křivek křivka množina bodů v rovině nebo v prostoru lze chápat jako trajektorii pohybu v rovině či v prostoru nalezneme je také jako množiny bodů na ploše křivky jako řezy plochy rovinou, křivky jako průniky

Více

8.3). S ohledem na jednoduchost a názornost je výhodné seznámit se s touto Základní pojmy a vztahy. Definice

8.3). S ohledem na jednoduchost a názornost je výhodné seznámit se s touto Základní pojmy a vztahy. Definice 9. Lineární diferenciální rovnice 2. řádu Cíle Diferenciální rovnice, v nichž hledaná funkce vystupuje ve druhé či vyšší derivaci, nazýváme diferenciálními rovnicemi druhého a vyššího řádu. Analogicky

Více

Věta 12.3 : Věta 12.4 (princip superpozice) : [MA1-18:P12.7] rovnice typu y (n) + p n 1 (x)y (n 1) p 1 (x)y + p 0 (x)y = q(x) (6)

Věta 12.3 : Věta 12.4 (princip superpozice) : [MA1-18:P12.7] rovnice typu y (n) + p n 1 (x)y (n 1) p 1 (x)y + p 0 (x)y = q(x) (6) 1. Lineární diferenciální rovnice řádu n [MA1-18:P1.7] rovnice typu y n) + p n 1 )y n 1) +... + p 1 )y + p 0 )y = q) 6) počáteční podmínky: y 0 ) = y 0 y 0 ) = y 1 y n 1) 0 ) = y n 1. 7) Věta 1.3 : Necht

Více

JAK NA HYPERBOLU S GEOGEBROU

JAK NA HYPERBOLU S GEOGEBROU Trendy ve vzdělávání 015 JAK NA HYPERBOLU S GEOGEBROU KRIEG Jaroslav, CZ Resumé Článek ukazuje, jak pomocí GeoGebry snadno řešit úlohy, které vedou na konstrukci hyperboly, případně jak lehce zkonstruovat

Více

obecná rovnice kružnice a x 2 b y 2 c x d y e=0 1. Napište rovnici kružnice, která má střed v počátku soustavy souřadnic a prochází bodem A[-3;2].

obecná rovnice kružnice a x 2 b y 2 c x d y e=0 1. Napište rovnici kružnice, která má střed v počátku soustavy souřadnic a prochází bodem A[-3;2]. Kružnice množina bodů, které mají od středu stejnou vzdálenost pojmy: bod na kružnici X [x, y]; poloměr kružnice r pro střed S[0; 0]: SX =r x 0 2 y 0 2 =r x 2 y 2 =r 2 pro střed S[m; n]: SX =r x m 2 y

Více

0.1 Úvod do lineární algebry

0.1 Úvod do lineární algebry Matematika KMI/PMATE 1 01 Úvod do lineární algebry 011 Vektory Definice 011 Vektorem aritmetického prostorur n budeme rozumět uspořádanou n-tici reálných čísel x 1, x 2,, x n Definice 012 Definice sčítání

Více

KOMPLEXNÍ ČÍSLA INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

KOMPLEXNÍ ČÍSLA INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ KOMPLEXNÍ ČÍSLA Gymnázium Jiřího Wolkera v Prostějově Výukové materiály z matematiky pro vyšší gymnázia Autoři projektu Student na prahu 21. století - využití ICT ve vyučování matematiky na gymnáziu INVESTICE

Více

5. Lokální, vázané a globální extrémy

5. Lokální, vázané a globální extrémy 5 Lokální, vázané a globální extrémy Studijní text Lokální extrémy 5 Lokální, vázané a globální extrémy Definice 51 Řekneme, že f : R n R má v bodě a Df: 1 lokální maximum, když Ka, δ Df tak, že x Ka,

Více

MATICE. a 11 a 12 a 1n a 21 a 22 a 2n A = = [a ij]

MATICE. a 11 a 12 a 1n a 21 a 22 a 2n A = = [a ij] MATICE Matice typu m/n nad tělesem T je soubor m n prvků z tělesa T uspořádaných do m řádků a n sloupců: a 11 a 12 a 1n a 21 a 22 a 2n A = = [a ij] a m1 a m2 a mn Prvek a i,j je prvek matice A na místě

Více

Interpolace Uvažujme třídu funkcí jedné proměnné ψ(x; a 0,..., a n ), kde a 0,..., a n jsou parametry, které popisují jednotlivé funkce této třídy. Mějme dány body x 0, x 1,..., x n, x i x k, i, k = 0,

Více

Matematika (CŽV Kadaň) aneb Úvod do lineární algebry Matice a soustavy rovnic

Matematika (CŽV Kadaň) aneb Úvod do lineární algebry Matice a soustavy rovnic Přednáška třetí (a pravděpodobně i čtvrtá) aneb Úvod do lineární algebry Matice a soustavy rovnic Lineární rovnice o 2 neznámých Lineární rovnice o 2 neznámých Lineární rovnice o dvou neznámých x, y je

Více

Michal Zamboj. December 23, 2016

Michal Zamboj. December 23, 2016 Meziřádky mezi kuželosečkami - doplňkový materiál k přednášce Geometrie Michal Zamboj December 3, 06 Pozn. Najdete-li chybu, neváhejte mi napsat, může to ušetřit tápání Vašich kolegů. Pozn. v dokumentu

Více

Maticí typu (m, n), kde m, n jsou přirozená čísla, se rozumí soubor mn veličin a jk zapsaných do m řádků a n sloupců tvaru:

Maticí typu (m, n), kde m, n jsou přirozená čísla, se rozumí soubor mn veličin a jk zapsaných do m řádků a n sloupců tvaru: 3 Maticový počet 3.1 Zavedení pojmu matice Maticí typu (m, n, kde m, n jsou přirozená čísla, se rozumí soubor mn veličin a jk zapsaných do m řádků a n sloupců tvaru: a 11 a 12... a 1k... a 1n a 21 a 22...

Více

Greenova funkce pro dvoubodové okrajové úlohy pro obyčejné diferenciální rovnice

Greenova funkce pro dvoubodové okrajové úlohy pro obyčejné diferenciální rovnice Greenova funkce pro dvoubodové okrajové úlohy pro obyčejné diferenciální rovnice Jan Tomeček Tento stručný text si klade za cíl co nejrychlejší uvedení do teorie Greenových funkcí pro obyčejné diferenciální

Více

příkladů do cvičení. V textu se objeví i pár detailů, které jsem nestihl (na které jsem zapomněl) a(b u) = (ab) u, u + ( u) = 0 = ( u) + u.

příkladů do cvičení. V textu se objeví i pár detailů, které jsem nestihl (na které jsem zapomněl) a(b u) = (ab) u, u + ( u) = 0 = ( u) + u. Několik řešených příkladů do Matematiky Vektory V tomto textu je spočteno několik ukázkových příkladů které vám snad pomohou při řešení příkladů do cvičení. V textu se objeví i pár detailů které jsem nestihl

Více

MATURITNÍ TÉMATA Z MATEMATIKY

MATURITNÍ TÉMATA Z MATEMATIKY MATURITNÍ TÉMATA Z MATEMATIKY 1. Základní poznatky z logiky a teorie množin Pojem konstanty a proměnné. Obor proměnné. Pojem výroku a jeho pravdivostní hodnota. Operace s výroky, složené výroky, logické

Více

10. cvičení - LS 2017

10. cvičení - LS 2017 10. cvičení - LS 2017 Michal Outrata Příklad 1 Spočtěte následující itu daných posloupností: (a) (b) (c) n 3 +5n 2 n 3 6n 2 +3 n ; n 4 3n 2 6 n 4 + 3n 2 + 6; n 2 15n+2(1 n). 2(n 2) 3 2n 3 Příklad 2 Pro

Více

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague 1 / 40 regula Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague regula 1 2 3 4 5 regula 6 7 8 2 / 40 2 / 40 regula Iterační pro nelineární e Bud f reálná funkce

Více

X = A + tu. Obr x = a 1 + tu 1 y = a 2 + tu 2, t R, y = kx + q, k, q R (6.1)

X = A + tu. Obr x = a 1 + tu 1 y = a 2 + tu 2, t R, y = kx + q, k, q R (6.1) .6. Analtická geometrie lineárních a kvadratických útvarů v rovině. 6.1. V této kapitole budeme studovat geometrické úloh v rovině analtick, tj. lineární a kvadratické geometrické útvar vjádříme pomocí

Více

9 Kolmost vektorových podprostorů

9 Kolmost vektorových podprostorů 9 Kolmost vektorových podprostorů Od kolmosti dvou vektorů nyní přejdeme ke kolmosti dvou vektorových podprostorů. Budeme se zabývat otázkou, kdy jsou dva vektorové podprostory na sebe kolmé a jak to poznáme.

Více

(4x) 5 + 7y = 14, (2y) 5 (3x) 7 = 74,

(4x) 5 + 7y = 14, (2y) 5 (3x) 7 = 74, 1. V oboru celých čísel řešte soustavu rovnic (4x) 5 + 7y = 14, (2y) 5 (3x) 7 = 74, kde (n) k značí násobek čísla k nejbližší číslu n. (P. Černek) Řešení. Z první rovnice dané soustavy plyne, že číslo

Více

1 Mnohočleny a algebraické rovnice

1 Mnohočleny a algebraické rovnice 1 Mnohočleny a algebraické rovnice 1.1 Pojem mnohočlenu (polynomu) Připomeňme, že výrazům typu a 2 x 2 + a 1 x + a 0 říkáme kvadratický trojčlen, když a 2 0. Číslům a 0, a 1, a 2 říkáme koeficienty a písmenem

Více

Zavedeme-li souřadnicový systém {0, x, y, z}, pak můžeme křivku definovat pomocí vektorové funkce.

Zavedeme-li souřadnicový systém {0, x, y, z}, pak můžeme křivku definovat pomocí vektorové funkce. KŘIVKY Křivka = dráha pohybujícího se bodu = = množina nekonečného počtu bodů, které závisí na parametru (čase). Proto můžeme křivku také nazvat jednoparametrickou množinou bodů. Zavedeme-li souřadnicový

Více

19 Eukleidovský bodový prostor

19 Eukleidovský bodový prostor 19 Eukleidovský bodový prostor Eukleidovským bodovým prostorem rozumíme afinní bodový prostor, na jehož zaměření je definován skalární součin. Víme, že pomocí skalárního součinu jsou definovány pojmy norma

Více

Lineární algebra : Metrická geometrie

Lineární algebra : Metrická geometrie Lineární algebra : Metrická geometrie (16. přednáška) František Štampach, Karel Klouda LS 2013/2014 vytvořeno: 6. května 2014, 10:42 1 2 Úvod Zatím jsme se lineární geometrii věnovali v kapitole o lineárních

Více

Matematika I, část I. Rovnici (1) nazýváme vektorovou rovnicí roviny ABC. Rovina ABC prochází bodem A a říkáme, že má zaměření u, v. X=A+r.u+s.

Matematika I, část I. Rovnici (1) nazýváme vektorovou rovnicí roviny ABC. Rovina ABC prochází bodem A a říkáme, že má zaměření u, v. X=A+r.u+s. 3.4. Výklad Předpokládejme, že v prostoru E 3 jsou dány body A, B, C neležící na jedné přímce. Těmito body prochází jediná rovina, kterou označíme ABC. Určíme vektory u = B - A, v = C - A, které jsou zřejmě

Více

1 Projekce a projektory

1 Projekce a projektory Cvičení 3 - zadání a řešení úloh Základy numerické matematiky - NMNM20 Verze z 5. října 208 Projekce a projektory Opakování ortogonální projekce Definice (Ortogonální projekce). Uvažujme V vektorový prostor

Více

1 Řešení soustav lineárních rovnic

1 Řešení soustav lineárních rovnic 1 Řešení soustav lineárních rovnic 1.1 Lineární rovnice Lineární rovnicí o n neznámých x 1,x 2,..., x n s reálnými koeficienty rozumíme rovnici ve tvaru a 1 x 1 + a 2 x 2 +... + a n x n = b, (1) kde koeficienty

Více

Plochy počítačové grafiky II. Interpolační plochy Bezierovy pláty nad obdélníkovou a trojúhelníkovou sítí Recionální Bezierovy pláty B-spline NURBS

Plochy počítačové grafiky II. Interpolační plochy Bezierovy pláty nad obdélníkovou a trojúhelníkovou sítí Recionální Bezierovy pláty B-spline NURBS II Interpolační plochy Bezierovy pláty nad obdélníkovou a trojúhelníkovou sítí Recionální Bezierovy pláty B-spline NURBS Konstrukce a zadání plochy hraniční křivky sítí bodů Kinematicky vytvořené křivky

Více

Necht L je lineární prostor nad R. Operaci : L L R nazýváme

Necht L je lineární prostor nad R. Operaci : L L R nazýváme Skalární součin axiomatická definice odvození velikosti vektorů a úhlu mezi vektory geometrická interpretace ortogonalita vlastnosti ortonormálních bázi [1] Definice skalárního součinu Necht L je lineární

Více

Afinita je stručný název pro afinní transformaci prostoru, tj.vzájemně jednoznačné afinní zobrazení bodového prostoru A n na sebe.

Afinita je stručný název pro afinní transformaci prostoru, tj.vzájemně jednoznačné afinní zobrazení bodového prostoru A n na sebe. 4 Afinita Afinita je stručný název pro afinní transformaci prostoru, tj.vzájemně jednoznačné afinní zobrazení bodového prostoru A n na sebe. Poznámka. Vzájemně jednoznačným zobrazením rozumíme zobrazení,

Více

vyjádřete ve tvaru lineární kombinace čtverců (lineární kombinace druhých mocnin). Rozhodněte o definitnosti kvadratické formy κ(x).

vyjádřete ve tvaru lineární kombinace čtverců (lineární kombinace druhých mocnin). Rozhodněte o definitnosti kvadratické formy κ(x). Řešené příklady z lineární algebry - část 6 Typové příklady s řešením Příklad 6.: Kvadratickou formu κ(x) = x x 6x 6x x + 8x x 8x x vyjádřete ve tvaru lineární kombinace čtverců (lineární kombinace druhých

Více

SROVNÁNÍ KVALITATIVNÍCH VLASTNOSTÍ INTERPOLAČNÍCH NURBS KŘIVEK

SROVNÁNÍ KVALITATIVNÍCH VLASTNOSTÍ INTERPOLAČNÍCH NURBS KŘIVEK VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA STROJNÍHO INŽENÝRSTVÍ ÚSTAV MATEMATIKY FACULTY OF MECHANICAL ENGINEERING INSTITUTE OF MATHEMATICS SROVNÁNÍ KVALITATIVNÍCH VLASTNOSTÍ

Více

Obsah. Aplikovaná matematika I. Gottfried Wilhelm Leibniz. Základní vlastnosti a vzorce

Obsah. Aplikovaná matematika I. Gottfried Wilhelm Leibniz. Základní vlastnosti a vzorce Neurčitý integrál Aplikovaná matematika I Dana Říhová Mendelu Brno Obsah Primitivní funkce, neurčitý integrál Základní vlastnosti a vzorce Základní integrační metody Úpravy integrandu Integrace racionálních

Více

Učební texty k státní bakalářské zkoušce Matematika Vlastní čísla a vlastní hodnoty. študenti MFF 15. augusta 2008

Učební texty k státní bakalářské zkoušce Matematika Vlastní čísla a vlastní hodnoty. študenti MFF 15. augusta 2008 Učební texty k státní bakalářské zkoušce Matematika Vlastní čísla a vlastní hodnoty študenti MFF 15. augusta 2008 1 14 Vlastní čísla a vlastní hodnoty Požadavky Vlastní čísla a vlastní hodnoty lineárního

Více

EUKLIDOVSKÉ PROSTORY

EUKLIDOVSKÉ PROSTORY EUKLIDOVSKÉ PROSTORY Necht L je lineární vektorový prostor nad tělesem reálných čísel R. Zobrazení (.,.) : L L R splňující vlastnosti 1. (x, x) 0 x L, (x, x) = 0 x = 0, 2. (x, y) = (y, x) x, y L, 3. (λx,

Více

Shodná zobrazení. bodu B ležet na na zobrazené množině b. Proto otočíme kružnici b kolem

Shodná zobrazení. bodu B ležet na na zobrazené množině b. Proto otočíme kružnici b kolem Shodná zobrazení Otočení Příklad 1. Jsou dány tři různé soustředné kružnice a, b a c. Sestrojte rovnostranný trojúhelník ABC tak, aby A ležel na a, B ležel na b a C ležel na c. Řešení. Zvolíme vrchol A

Více

Afinní transformace Stručnější verze

Afinní transformace Stručnější verze [1] Afinní transformace Stručnější verze je posunutí plus lineární transformace má svou matici vzhledem k homogenním souřadnicím body a vektory: afinní prostor využití například v počítačové grafice a)

Více

1 Soustavy lineárních rovnic

1 Soustavy lineárních rovnic 1 Soustavy lineárních rovnic 1.1 Základní pojmy Budeme uvažovat soustavu m lineárních rovnic o n neznámých s koeficienty z tělesa T (potom hovoříme o soustavě m lineárních rovnic o n neznámých nad tělesem

Více

Projekt OPVK - CZ.1.07/1.1.00/ Matematika pro všechny. Univerzita Palackého v Olomouci

Projekt OPVK - CZ.1.07/1.1.00/ Matematika pro všechny. Univerzita Palackého v Olomouci Projekt OPVK - CZ.1.07/1.1.00/26.0047 Matematika pro všechny Univerzita Palackého v Olomouci Tematický okruh: Geometrie Různé metody řešení Téma: Analytická geometrie v prostoru, vektory, přímky Autor:

Více

Matematická analýza pro informatiky I.

Matematická analýza pro informatiky I. Matematická analýza pro informatiky I. 10. přednáška Diferenciální počet funkcí více proměnných (II) Jan Tomeček jan.tomecek@upol.cz http://aix-slx.upol.cz/ tomecek/index Univerzita Palackého v Olomouci

Více

17 Kuželosečky a přímky

17 Kuželosečky a přímky 17 Kuželosečky a přímky 17.1 Poznámka: Polára bodu M ke kuželosečce Nechť X = [x 0,y 0 ] je bod. Zavedeme následující úpravy: x x 0 x y y 0 y xy (x 0 y + xy 0 )/ x (x 0 + x)/ y (y 0 + y)/ (x m) (x 0 m)(x

Více

Čebyševovy aproximace

Čebyševovy aproximace Čebyševovy aproximace Čebyševova aproximace je tzv hledání nejlepší stejnoměrné aproximace funkce v daném intervalu Hledáme funkci h x, která v intervalu a,b minimalizuje maximální absolutní hodnotu rozdílu

Více

Kinematika rektifikace oblouku (Sobotkova a Kochaňského), prostá cykloida, prostá epicykloida, úpatnice paraboly.

Kinematika rektifikace oblouku (Sobotkova a Kochaňského), prostá cykloida, prostá epicykloida, úpatnice paraboly. Kinematika rektifikace oblouku (Sobotkova a Kochaňského), prostá cykloida, prostá epicykloida, úpatnice paraboly. Výpočty trajektorií bodů při složených pohybech. Příklad 1: Je dána kružnice k s poloměrem

Více

1 Determinanty a inverzní matice

1 Determinanty a inverzní matice Determinanty a inverzní matice Definice Necht A = (a ij ) je matice typu (n, n), n 2 Subdeterminantem A ij matice A příslušným pozici (i, j) nazýváme determinant matice, která vznikne z A vypuštěním i-tého

Více

FREDHOLMOVA ALTERNATIVA

FREDHOLMOVA ALTERNATIVA FREDHOLMOVA ALTERNATIVA Pavel Jirásek 1 Abstrakt. V tomto článku se snažíme shrnout dosavadní výsledky týkající se Fredholmovy alternativy (FA). Postupně zmíníme FA na prostorech konečné dimenze, FA pro

Více

Matematická analýza III.

Matematická analýza III. 1. - limita, spojitost Miroslav Hušek, Lucie Loukotová UJEP 2010 Úvod Co bychom měli znát limity posloupností v R základní vlastnosti funkcí jedné proměnné (definiční obor, monotónnost, omezenost,... )

Více

3. SB 3. SC. Kružnice nemá s úběžnicí žádný společný bod. Obraz nemá žádný nevlastní bod. Tímto obrazem je křivka zvaná elipsa.

3. SB 3. SC. Kružnice nemá s úběžnicí žádný společný bod. Obraz nemá žádný nevlastní bod. Tímto obrazem je křivka zvaná elipsa. Kružnice ve středové kolineaci v rovině. I AB o. IA ' 3. SB 4. B' SB IA'. II AC o. IIA ' 3. SC 4. C' SC IIA' Kružnice ve středové kolineaci v rovině Kružnice nemá s úběžnicí žádný společný bod. Obraz nemá

Více

Lineární zobrazení. 1. A(x y) = A(x) A(y) (vlastnost aditivity) 2. A(α x) = α A(x) (vlastnost homogenity)

Lineární zobrazení. 1. A(x y) = A(x) A(y) (vlastnost aditivity) 2. A(α x) = α A(x) (vlastnost homogenity) 4 Lineární zobrazení Definice: Nechť V a W jsou vektorové prostory Zobrazení A : V W (zobrazení z V do W nazýváme lineárním zobrazením, pokud pro všechna x V, y V a α R platí 1 A(x y = A(x A(y (vlastnost

Více

Extrémy funkce dvou proměnných

Extrémy funkce dvou proměnných Extrémy funkce dvou proměnných 1. Stanovte rozměry pravoúhlé vodní nádrže o objemu 32 m 3 tak, aby dno a stěny měly nejmenší povrch. Označme rozměry pravoúhlé nádrže x, y, z (viz obr.). ak objem této nádrže

Více

Elementární křivky a plochy

Elementární křivky a plochy Příloha A Elementární křivky a plochy A.1 Analytický popis geometrických objektů Geometrické vlastnosti, které jsme dosud studovali, se týkaly především základních geometrických objektů bodů, přímek, rovin

Více

14. přednáška. Přímka

14. přednáška. Přímka 14 přednáška Přímka Začneme vyjádřením přímky v prostoru Přímku v prostoru můžeme vyjádřit jen parametricky protože obecná rovnice přímky v prostoru neexistuje Přímka v prostoru je určena bodem A= [ a1

Více

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ. Modernizace studijního programu Matematika na PřF Univerzity Palackého v Olomouci CZ.1.07/2.2.00/28.

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ. Modernizace studijního programu Matematika na PřF Univerzity Palackého v Olomouci CZ.1.07/2.2.00/28. INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Modernizace studijního programu Matematika na PřF Univerzity Palackého v Olomouci CZ107/2200/280141 Soustavy lineárních rovnic Michal Botur Přednáška 4 KAG/DLA1M: Lineární

Více

VZOROVÝ TEST PRO 3. ROČNÍK (3. A, 5. C)

VZOROVÝ TEST PRO 3. ROČNÍK (3. A, 5. C) VZOROVÝ TEST PRO 3. ROČNÍK (3. A, 5. C) max. 3 body 1 Zjistěte, zda vektor u je lineární kombinací vektorů a, b, je-li u = ( 8; 4; 3), a = ( 1; 2; 3), b = (2; 0; 1). Pokud ano, zapište tuto lineární kombinaci.

Více

úloh pro ODR jednokrokové metody

úloh pro ODR jednokrokové metody Numerické metody pro řešení počátečních úloh pro ODR jednokrokové metody Formulace: Hledáme řešení y = y() rovnice () s počáteční podmínkou () y () = f(, y()) () y( ) = y. () Smysl: Analyticky lze spočítat

Více

Úvod do lineární algebry

Úvod do lineární algebry Úvod do lineární algebry 1 Aritmetické vektory Definice 11 Mějme n N a utvořme kartézský součin R n R R R Každou uspořádanou n tici x 1 x 2 x, x n budeme nazývat n rozměrným aritmetickým vektorem Prvky

Více

Učební texty k státní bakalářské zkoušce Matematika Základy lineárního programování. študenti MFF 15. augusta 2008

Učební texty k státní bakalářské zkoušce Matematika Základy lineárního programování. študenti MFF 15. augusta 2008 Učební texty k státní bakalářské zkoušce Matematika Základy lineárního programování študenti MFF 15. augusta 2008 1 15 Základy lineárního programování Požadavky Simplexová metoda Věty o dualitě (bez důkazu)

Více

2D transformací. červen Odvození transformačního klíče vybraných 2D transformací Metody vyrovnání... 2

2D transformací. červen Odvození transformačního klíče vybraných 2D transformací Metody vyrovnání... 2 Výpočet transformačních koeficinetů vybraných 2D transformací Jan Ježek červen 2008 Obsah Odvození transformačního klíče vybraných 2D transformací 2 Meto vyrovnání 2 2 Obecné vyjádření lineárních 2D transformací

Více

Vektorový prostor. Př.1. R 2 ; R 3 ; R n Dvě operace v R n : u + v = (u 1 + v 1,...u n + v n ), V (E 3 )...množina vektorů v E 3,

Vektorový prostor. Př.1. R 2 ; R 3 ; R n Dvě operace v R n : u + v = (u 1 + v 1,...u n + v n ), V (E 3 )...množina vektorů v E 3, Vektorový prostor Příklady: Př.1. R 2 ; R 3 ; R n...aritmetický n-rozměrný prostor Dvě operace v R n : součet vektorů u = (u 1,...u n ) a v = (v 1,...v n ) je vektor u + v = (u 1 + v 1,...u n + v n ),

Více

označme j = (0, 1) a nazvěme tuto dvojici imaginární jednotkou. Potom libovolnou (x, y) = (x, 0) + (0, y) = (x, 0) + (0, 1)(y, 0) = x + jy,

označme j = (0, 1) a nazvěme tuto dvojici imaginární jednotkou. Potom libovolnou (x, y) = (x, 0) + (0, y) = (x, 0) + (0, 1)(y, 0) = x + jy, Komplexní čísla Množinu všech uspořádaných dvojic (x, y) reálných čísel x, y nazýváme množinou komplexních čísel C, jestliže pro každé dvě takové dvojice (x, y ), (x 2, y 2 ) je definována rovnost, sčítání

Více

Základy maticového počtu Matice, determinant, definitnost

Základy maticového počtu Matice, determinant, definitnost Základy maticového počtu Matice, determinant, definitnost Petr Liška Masarykova univerzita 18.9.2014 Matice a vektory Matice Matice typu m n je pravoúhlé (nebo obdélníkové) schéma, které má m řádků a n

Více

PŘÍMKA A JEJÍ VYJÁDŘENÍ V ANALYTICKÉ GEOMETRII

PŘÍMKA A JEJÍ VYJÁDŘENÍ V ANALYTICKÉ GEOMETRII PŘÍMKA A JEJÍ VYJÁDŘENÍ V ANALYTICKÉ GEOMETRII V úvodu analytické geometrie jsme vysvětlili, že její hlavní snahou je popsat geometrické útvary (body, vektory, přímky, kružnice,...) pomocí čísel nebo proměnných.

Více

Polynomy. Mgr. Veronika Švandová a Mgr. Zdeněk Kříž, Ph. D. 1.1 Teorie Zavedení polynomů Operace s polynomy...

Polynomy. Mgr. Veronika Švandová a Mgr. Zdeněk Kříž, Ph. D. 1.1 Teorie Zavedení polynomů Operace s polynomy... Polynomy Obsah Mgr. Veronika Švandová a Mgr. Zdeněk Kříž, Ph. D. 1 Základní vlastnosti polynomů 2 1.1 Teorie........................................... 2 1.1.1 Zavedení polynomů................................

Více