B-spline a racionální B-spline křivky
|
|
- Zdeňka Hájková
- před 5 lety
- Počet zobrazení:
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 (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íceAproximač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íceJana 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íceTě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íceAproximač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íceKř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íceOdvození 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íceANALYTICKÁ 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íce6 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íceTeorie 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íce15. 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íceKristý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íceDů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íceVektorové 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íceVektory 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íceLingebraické 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íce1 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íce0.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íceKMA/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íceV 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íceAnalytická 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íceANALYTICKÁ 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íceNecht 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ícetransformace 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íce6 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íce2. 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íceNURBS 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íceDefinice. 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íceTexty 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íce1 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íceINVESTICE 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íce3 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íceOtá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íceDefinice 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íceMichal 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íceKŘ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ícei=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íceZá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íce8.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íceVě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íceJAK 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íceobecná 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íce0.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íceKOMPLEXNÍ ČÍ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íce5. 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íceMATICE. 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íceInterpolace 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íceMatematika (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íceMichal 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íceMaticí 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íceGreenova 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ícepří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íceMATURITNÍ 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íce10. 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íceFaculty 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íceX = 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íce9 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,
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íce1 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íceZavedeme-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íce19 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íceLineá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íceMatematika 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íce1 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íce1 Ř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ícePlochy 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íceNecht 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íceAfinita 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ícevyjá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íceSROVNÁ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íceObsah. 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íceUč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íceEUKLIDOVSKÉ 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íceShodná 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íceAfinní 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íce1 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íceProjekt 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íceMatematická 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íce17 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š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íceKinematika 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íce1 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íceFREDHOLMOVA 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íceMatematická 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íce3. 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íceLineá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íceExtré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íceElementá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íce14. 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íceINVESTICE 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íceVZOROVÝ 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
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 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íceUč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íce2D 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íceVektorový 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íceoznač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íceZá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ícePŘÍ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ícePolynomy. 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