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

Podobné dokumenty
Jana Dannhoferová Ústav informatiky, PEF MZLU

Základní vlastnosti křivek

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

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

Křivky a plochy technické praxe

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

KMA/GPM Barycentrické souřadnice a

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

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

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY

Křivky a plochy I. Petr Felkel. Katedra počítačové grafiky a interakce, ČVUT FEL místnost KN:E-413 na Karlově náměstí

Matematický ústav UK Matematicko-fyzikální fakulta

POČÍTAČOVÁ GRAFIKA - PGR PROGRAM PŘEDNÁŠEK. Po 9:00-10:30, KN:A-214

FERGUSONOVA KUBIKA. ( u) ( ) ( ) X s X s. Kubický spline C 2 má dva stupně volnosti Q 1 Q 2

Základní vlastnosti ploch

Matematický ústav UK Matematicko-fyzikální fakulta

Plochy zadané okrajovými křivkami

5. Plochy v počítačové grafice. (Bézier, Coons)

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

Matematika pro real-time grafiku

Vzorce počítačové grafiky

Offsety KMA/ITG Informační technologie ve vyučování geometrie Offsety ITG 1 / 33

DERIVACE. ln 7. Urči, kdy funkce roste a klesá a dále kdy je konkávní a

Přehled. Motivace Úvod. Křivky a plochy počítačové grafiky. Závěr. Rozvoj počítačové grafiky Výpočetní geometrie

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.

NURBS REPREZENTACE KŘIVEK V MAPLE

Matematika pro real-time grafiku

Zobrazování těles. problematika geometrického modelování. základní typy modelů. datové reprezentace modelů základní metody geometrického modelování

Výpočet průsečíků paprsku se scénou

Diferenciální geometrie

Výpočet průsečíků paprsku se scénou

VIDEOSBÍRKA DERIVACE

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

Subdivision křivky a plochy

Rhino - základní příkazy

VIDEOSBÍRKA DERIVACE

Metamorfóza obrázků Josef Pelikán CGG MFF UK Praha

Rekonstrukce ploch: Polygonální a analytická reprezentace Vybrané metody aproximace ploch

Elementární křivky a plochy

UNIVERZITA PARDUBICE. 4.4 Aproximace křivek a vyhlazování křivek

PROSTORU MODELLING OF NURBS CURVES AND SURFACES IN THE PROJECTIVE SPACE

Matematika I 12a Euklidovská geometrie

Maturitní otázky z předmětu MATEMATIKA

Drsná matematika III 1. přednáška Funkce více proměnných: křivky, směrové derivace, diferenciál

Křivky a plochy. Pavel Strachota. FJFI ČVUT v Praze

Zobrazování 2D Nadpis křivek 2 Nadpis 3

A[a 1 ; a 2 ; a 3 ] souřadnice bodu A v kartézské soustavě souřadnic O xyz

Fergusnova kubika, která je definována pomocí bodu P1, vektoru P1P2, bodu P3 a vektoru P3P4

I. Diferenciální rovnice. 3. Rovnici y = x+y+1. převeďte vhodnou transformací na rovnici homogenní (vzniklou

Rovnice přímky v prostoru

Voronoiův diagram. RNDr. Petra Surynková, Ph.D. Univerzita Karlova v Praze Matematicko-fyzikální fakulta

Základní topologické pojmy:

7. Aplikace derivace 7E. Křivky. 7E. Křivky

Geometrie pro počítačovou grafiku - PGR020

Rozvinutelné plochy. tvoří jednoparametrickou soustavu rovin a tedy obaluje rozvinutelnou plochu Φ. Necht jsou

x 2 = a 2 + tv 2 tedy (a 1, a 2 ) T + [(v 1, v 2 )] T A + V Příklad. U = R n neprázdná množina řešení soustavy Ax = b.

Aproximace posuvů [ N ],[G] Pro každý prvek se musí nalézt vztahy

6. ANALYTICKÁ GEOMETRIE

Fakulta elektrotechniky a informatiky Počítačová grafika. Zkouška ústní

Aproximace funkcí. x je systém m 1 jednoduchých, LN a dostatečně hladkých funkcí. x c m. g 1. g m. a 1. x a 2. x 2 a k. x k b 1. x b 2.

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

ÚSTAV MATEMATIKY A DESKRIPTIVNÍ GEOMETRIE. Matematika 0A1. Cvičení, zimní semestr. Samostatné výstupy. Jan Šafařík

Přijímací zkouška na navazující magisterské studium Studijní program Fyzika obor Učitelství fyziky matematiky pro střední školy

Příklady otázek PB009/jaro 2015

Občas se používá značení f x (x 0, y 0 ), resp. f y (x 0, y 0 ). Parciální derivace f. rovnoběžného s osou y a z:

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

Čebyševovy aproximace

ekologie Pavel Fibich rovnice rovnice Pavel Fibich Shrnutí Literatura

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

Obsah a průběh zkoušky 1PG

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

Parametrická rovnice přímky v rovině

Geometrické vidění světa KMA/GVS ak. rok 2013/2014 letní semestr

Definice Tečna paraboly je přímka, která má s parabolou jediný společný bod,

základním prvkem teorie křivek v počítačové grafice křivky polynomiální n

Gymnázium Jiřího Ortena, Kutná Hora

9 Vybrané rovinné křivky

Obecný princip 3D numerického modelování výrubu

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

Systematizace a prohloubení učiva matematiky. Učebna s dataprojektorem, PC, grafický program, tabulkový procesor. Gymnázium Jiřího Ortena, Kutná Hora

1 Analytická geometrie

1.1 Napište středovou rovnici kružnice, která má střed v počátku soustavy souřadnic a prochází bodem

geometrická (trigonometrická, nebo goniometrická) metoda (podstata, vhodnost)

Text úlohy. Která barva nepatří do základních barev prostoru RGB? Vyberte jednu z nabízených možností: a. Černá b. Červená c. Modrá d.

Šroubový pohyb rovnoměrný pohyb složený z posunutí a rotace. Šroubovice dráha hmotného bodu při šroubovém pohybu

Geometrické transformace pomocí matic

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

Matematický seminář. OVO ŠVP Tématický celek Učivo ŠVP Integrace Mezipředmětové vztahy. jejich soustavy. Spojitost funkce v bodě. Limita funkce v bodě

Analytická geometrie. přímka vzájemná poloha přímek rovina vzájemná poloha rovin. Název: XI 3 21:42 (1 z 37)

Analytická geometrie (AG)

Analytická geometrie v prostoru

2. ANALYTICKÁ GEOMETRIE V PROSTORU Vektory Úlohy k samostatnému řešení... 21

Poznámka. V některých literaturách se pro označení vektoru také používá symbolu u.

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

Matematika I, část I Vzájemná poloha lineárních útvarů v E 3

3) Vypočtěte souřadnice průsečíku dané přímky p : x = t, y = 9 + 3t, z = 1 + t, t R s rovinou ρ : 3x + 5y z 2 = 0.

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

Úvodní informace. 17. února 2018

Univerzita Karlova v Praze Matematicko-fyzikální fakulta

Transkript:

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é vyjádření Křivka = dráha pohybujícího se bodu (fyzikálně) Parametrické vyjádření p(t) = p i (t), t 0; 1 (t si můžeme představovat jako čas) Bodová rovnice Vektorová rovnice P(t) = [x(t), y(t), z(t)] p(t) = (x(t), y(t), z(t)) Derivace křivky po složkách. Tečný vektor v bodě t 0 p (t 0 ) = (x (t 0 ), y (t 0 ), z (t 0 )) a rovnice tečny v tomto bodě p(t) = P(t 0 ) + tp (t 0 ) Kristýna Bémová (MFF UK) Křivky v počítačové grafice 13. prosince 2007 2 / 36

Pojmy - křivky a jejich parametrické vyjádření Výhody parametrického vyjádření rychlé vypočítání tečny závislost na jediném parametru Změna parametrizace = nahrazení parametru t jiným parametrem, který je zadán jako funkce t = s(t). Nové vyjádření p(t) = (x(t ), y(t ), z(t )) popisuje tutéž křivku, tečný vektor v bodě p(t ) se stejným směrem, ale jiné velikosti (případně orientaci). Tedy: tečný vektor je závislý na parametrizaci, tečna nikoli. Kristýna Bémová (MFF UK) Křivky v počítačové grafice 13. prosince 2007 3 / 36

Pojmy - důležité přímky a roviny Normálová rovina ke křivce v bodě p 0 = rovina kolmá k tečně v bodě p 0 a procházející bodem p 0. Normála křivky v bodě p 0 = každá přímka v normálové rovině. Oskulační rovina křivky v bodě p 0 = rovina { p(t 0 ), p (t 0 ), p (t 0 ) } Hlavní normála = průsečnice oskulační a normálové roviny v tomtéž bodě p 0 dané křivky. Binormála = normála kolmá na hlavní normálu. Inflexní bod p 0 křivky p = jestliže p (t 0 ) a p (t 0 ) jsou LZ vektory. Křivost křivky v bodě t 0 k(t 0 ) = p (t 0 ) p (t 0 ) p (t 0 ) 3. Kristýna Bémová (MFF UK) Křivky v počítačové grafice 13. prosince 2007 4 / 36

Pojmy - důležité přímky a roviny Kristýna Bémová (MFF UK) Křivky v počítačové grafice 13. prosince 2007 5 / 36

Analytická spojitost Kristýna Bémová (MFF UK) Křivky v počítačové grafice 13. prosince 2007 6 / 36

Analytická spojitost P(t),R(t)... dva segmenty, ze kterých je složena křivka Q(t) Křivka Q(t) je třídy C n, má-li ve všech bodech spojité derivace do řádu n (tzv. parametrická spojitost). Třída C 0... dva segmenty jsou spojitě navázány, jestliže je koncový bod prvního segmentu počátečním bodem segmentu druhého. Třída C 1... tečný vektor v koncovém bodě segmentu P je roven tečnému vektoru segmentu R v jeho počátečním bodě. Třída C 2... analogicky je požadována rovnost vektoru první a druhé derivace. Atd... Kristýna Bémová (MFF UK) Křivky v počítačové grafice 13. prosince 2007 7 / 36

Geometrická spojitost P(t),R(t)... dva segmenty, ze kterých je složena křivka Q(t). Třída G 0... dva segmenty jsou spojitě navázány, jestliže je koncový bod prvního segmentu počátečním bodem segmentu druhého. Třída G 1... jestliže tečné vektory p (1) segmentu P a r (0) druhého segmentu R jsou lineárně závislé. Třída G 2 je definována jako shoda křivostí k v uzlu obou segmentů: k P (1) = k R (0) Tato spojitost zaručuje totožnost tečen (nikoli tečných vektorů). Kristýna Bémová (MFF UK) Křivky v počítačové grafice 13. prosince 2007 8 / 36

Geometrická vs. analytická spojitost Spojitost C 1 implikuje G 1 (obráceně však nikoliv). Je snažší zaručit G 1 nežli C 1. Kristýna Bémová (MFF UK) Křivky v počítačové grafice 13. prosince 2007 9 / 36

Modelování křivek Průběh křivky se určí z polohy několika řídících bodů (tzv. řídící polygon). (Některé metody umožňují zadávání křivek také pomocí tečných vektorů.) Dva základní druhy interpretace řídicích bodů: aproximace = řídicími body je tvar křivky určen a ta jimi však procházet nemusí interpolace = generovaná křivka probíhá danými body Kristýna Bémová (MFF UK) Křivky v počítačové grafice 13. prosince 2007 10 / 36

Modelování křivek Základní prvek = polynomiální křivky p n (t) = a 0 + a 1 t +... + a n t n a z nich se skládají křivky po částech polynomiální. Kubiky křivky třetího stupně, nejpoužívanější široká škála tvarů snadný výpočet, snadno manipulovatelné je možné zajistit spojitosti stupně C 2, která je někdy požadovaná v CAD systémech Křivky vyšších stupňů mohou způsobit nežádoucí vlněním a jsou náročné na výpočet. Kristýna Bémová (MFF UK) Křivky v počítačové grafice 13. prosince 2007 11 / 36

Kubika Parametricky lze danou kubiku P(t) vyjádřit ve tvaru: x(t) = a x t 3 + b x t 2 + c x t + d x y(t) = a y t 3 + b y t 2 + c y t + d y z(t) = a z t 3 + b z t 2 + c z t + d z Můžeme ji také zapsat zkráceně v maticovém tvaru: P(t) = TC = [t 3, t 2, t 1, 1] a x b x c x a y b y c y a z b z c z Kristýna Bémová (MFF UK) Křivky v počítačové grafice 13. prosince 2007 12 / 36

Kubika Matici C můžeme také rozepsat do součinu C = MG (M = bázová matice; G = vektor geometrických podmínek, obsahuje řídící prvky) Tedy: P(t) = [t 3, t 2, t 1, 1] m 11 m 12 m 13 m 14 m 21 m 22 m 23 m 24 m 31 m 32 m 33 m 34 m 41 m 42 m 43 m 44 Derivace(tečna, křivost) lze provádět pouze s T. G 1 G 2 G 3 G 4 Kristýna Bémová (MFF UK) Křivky v počítačové grafice 13. prosince 2007 13 / 36

Vlastnosti křivek Mezi nejčastěji požadované patří: 1 Invariance k afinním transformacím a projekcím, která zaručuje, že například rotace řídicího polygonu a následné generování křivky má stejný výsledek, jako rotace každého bodu z vygenerované křivky. 2 Vlastnost konvexní obálky (angl. convex hull property) silná podmínka - celá křivka leží v konvexní obálce všech svých řídicích bodů slabá podmínka - část křivky leží v konvexní obálce některých řídicích bodů(typicky segment, v obálce svého generujícího polygonu). 3 Lokalita změn - změnou polohy řídicího bodu se mění jen část křivky, nikoli křivka celá. 4 Křivka může procházet krajními body svého řídicího polygonu. Kristýna Bémová (MFF UK) Křivky v počítačové grafice 13. prosince 2007 14 / 36

Vlastnosti křivek Mezi nejčastěji požadované patří: 1 Invariance k afinním transformacím a projekcím, která zaručuje, že například rotace řídicího polygonu a následné generování křivky má stejný výsledek, jako rotace každého bodu z vygenerované křivky. 2 Vlastnost konvexní obálky (angl. convex hull property) silná podmínka - celá křivka leží v konvexní obálce všech svých řídicích bodů slabá podmínka - část křivky leží v konvexní obálce některých řídicích bodů(typicky segment, v obálce svého generujícího polygonu). 3 Lokalita změn - změnou polohy řídicího bodu se mění jen část křivky, nikoli křivka celá. 4 Křivka může procházet krajními body svého řídicího polygonu. Kristýna Bémová (MFF UK) Křivky v počítačové grafice 13. prosince 2007 14 / 36

Vlastnosti křivek Mezi nejčastěji požadované patří: 1 Invariance k afinním transformacím a projekcím, která zaručuje, že například rotace řídicího polygonu a následné generování křivky má stejný výsledek, jako rotace každého bodu z vygenerované křivky. 2 Vlastnost konvexní obálky (angl. convex hull property) silná podmínka - celá křivka leží v konvexní obálce všech svých řídicích bodů slabá podmínka - část křivky leží v konvexní obálce některých řídicích bodů(typicky segment, v obálce svého generujícího polygonu). 3 Lokalita změn - změnou polohy řídicího bodu se mění jen část křivky, nikoli křivka celá. 4 Křivka může procházet krajními body svého řídicího polygonu. Kristýna Bémová (MFF UK) Křivky v počítačové grafice 13. prosince 2007 14 / 36

Vlastnosti křivek Mezi nejčastěji požadované patří: 1 Invariance k afinním transformacím a projekcím, která zaručuje, že například rotace řídicího polygonu a následné generování křivky má stejný výsledek, jako rotace každého bodu z vygenerované křivky. 2 Vlastnost konvexní obálky (angl. convex hull property) silná podmínka - celá křivka leží v konvexní obálce všech svých řídicích bodů slabá podmínka - část křivky leží v konvexní obálce některých řídicích bodů(typicky segment, v obálce svého generujícího polygonu). 3 Lokalita změn - změnou polohy řídicího bodu se mění jen část křivky, nikoli křivka celá. 4 Křivka může procházet krajními body svého řídicího polygonu. Kristýna Bémová (MFF UK) Křivky v počítačové grafice 13. prosince 2007 14 / 36

Vlastnosti křivek Mezi nejčastěji požadované patří: 1 Invariance k afinním transformacím a projekcím, která zaručuje, že například rotace řídicího polygonu a následné generování křivky má stejný výsledek, jako rotace každého bodu z vygenerované křivky. 2 Vlastnost konvexní obálky (angl. convex hull property) silná podmínka - celá křivka leží v konvexní obálce všech svých řídicích bodů slabá podmínka - část křivky leží v konvexní obálce některých řídicích bodů(typicky segment, v obálce svého generujícího polygonu). 3 Lokalita změn - změnou polohy řídicího bodu se mění jen část křivky, nikoli křivka celá. 4 Křivka může procházet krajními body svého řídicího polygonu. Kristýna Bémová (MFF UK) Křivky v počítačové grafice 13. prosince 2007 14 / 36

Fergusonovy kubiky Metoda pro generování křivek, která je řízena dvěma body a dvěma vektory v nich. Krajní body jsou významné pro položení křivky (křivka jimi prochází). Vektory pak určují míru vyklenutí křivky. Tedy: Čím je velikost vektoru větší, tím více se k němu křivka přimyká. Kristýna Bémová (MFF UK) Křivky v počítačové grafice 13. prosince 2007 15 / 36

Fergusonovy kubiky Kristýna Bémová (MFF UK) Křivky v počítačové grafice 13. prosince 2007 16 / 36

Fergusonovy kubiky Křivka je zadána body P 0, P 1 a vektory P 0, P 1. Rovnice výsledné křivky má tvar: P(t) = P 0 H 1 (t) + P 1 H 2 (t) + P 0 H 3(t) + P 1 H 4(t) kde H 1, H 2, H 3, H 4 jsou kubické Hermitovské polynomy tvaru: H 1 (t) = 2t 3 3t 2 + 1 H 2 (t) = 2t 3 + 3t 2 H 3 (t) = t 3 2t 2 + t H 4 (t) = t 3 t 2, t < 0, 1 >. Kristýna Bémová (MFF UK) Křivky v počítačové grafice 13. prosince 2007 17 / 36

Fergusonovy kubiky Maticový zápis: P(t) = T 2 2 1 1 3 3 2 1 0 0 1 0 1 0 0 0 P 0 P 1 P 0 P 1 Spojitost při navazování oblouků je zaručena, pokud je roven poslední bod předchozího oblouku prvnímu bodu oblouku následujícího. Spojitost prvních derivací (hladkost) je zaručena identitou vektorů P 1 předchozího a P 0 následujícího oblouku. Kristýna Bémová (MFF UK) Křivky v počítačové grafice 13. prosince 2007 18 / 36

Kochanek-Bartels kubika - TCB-spline Je odvozená od Hermitovské kubiky. Prochází řídícími body a u každého máme vstupní a výstupní tečný vektor, které nemusí být stejné. Tečné vektory jsou závislé na vedlejších bodech a na třech parametrech: tension t (napětí) - ostrost křivky v řídícím bodě (absolutní velikost tečny) continuity c (spojitost) - spojitost v řídícím bodě bias b (sklon) - směr tečny v řídícím bodě Implicitně jsou tyto parametry nulové a v tomto případě jsou tečné vektory stejné. T I i = T O i = 1 2 ((P i+1 P i ) + (P i P i 1 )) = P i+1 P i 1 2 Kristýna Bémová (MFF UK) Křivky v počítačové grafice 13. prosince 2007 19 / 36

Kochanek-Bartels kubika - změny parametrů Tention t < 1; 1 >, t 0: T I i = T O i = 1 t 2 ((P i+1 P i ) + (P i P i 1 )) Pro t = 0 dostáváme Catmull-Rom spline. Tedy: Tension t mění velikost tečného vektoru. Kristýna Bémová (MFF UK) Křivky v počítačové grafice 13. prosince 2007 20 / 36

Kochanek-Bartels kubika - změny parametrů Continuity c < 1; 1 >, c 0: T I i = 1+c 2 (P i+1 P i ) + 1 c T O i = 1 c 2 (P i+1 P i ) + 1+c (P 2 i P i 1 ) (P 2 i P i 1 ) Pro c = 0 má křivka spojitý tečný vektor. Tedy: Continuity c mění směr "hrotu". Kristýna Bémová (MFF UK) Křivky v počítačové grafice 13. prosince 2007 21 / 36

Kochanek-Bartels kubika - změny parametrů Bias b < 1; 1 >, b 0: T I i = T O i = 1 b 2 (P i+1 P i ) + 1+b 2 (P i P i 1 ) Pro b = 0 mají vstupní a výstupní tečné vektory stejnou váhu. Tedy: Bias b mění míru převládání jednoho či druhého vektoru. Kristýna Bémová (MFF UK) Křivky v počítačové grafice 13. prosince 2007 22 / 36

Kochanek-Bartels kubika - kombinace efektů Kombinaci všech tří změn parametrů můžeme vyjádřit rovnicemi: T I i = (1 t)(1+c)(1 b) 2 (P i+1 P i ) + (1 t)(1 c)(1+b) 2 (P i P i 1 ) T O i = (1 t)(1 c)(1 b) 2 (P i+1 P i ) + (1 t)(1+c)(1+b) 2 (P i P i 1 ) Kristýna Bémová (MFF UK) Křivky v počítačové grafice 13. prosince 2007 23 / 36

Catmull-Rom spline Křivka je definována posloupností bodů P 0, P 1,..., P n. Vychází z bodu P 1 a končí v bodě P n 1, tedy neprochází prvním a posledním bodem. Křivka se vypočítá dle vztahu : 1 3 3 1 P(t) = 1[t 3, t 2, t 1, 1] 2 5 4 1 2 1 0 1 0 0 2 0 0 Vlastnosti těchto křivek: P i 3 P i 2 P i 1 P i Tečný vektor v bodě P i je rovnoběžný s vektorem P i 1 P i+1. Při dvojnásobném výskytu prvního a posledního bodu tj. např. P 0, P 0, P 1, P 2,..., P n 1, P n, P n je zaručeno, že křivka bude procházet všemi body. Kristýna Bémová (MFF UK) Křivky v počítačové grafice 13. prosince 2007 24 / 36

Catmull-Rom spline Nevýhoda těchto křivek: výsledný splajn obecně neleží v konvexní obálce svých řídicích bodů. Kristýna Bémová (MFF UK) Křivky v počítačové grafice 13. prosince 2007 25 / 36

Bézierovy kubiky Jsou zadány čtyřmi body P 0, P 1, P 2 a P 3. Vychází z prvního bodu P 0 a končí v bodě posledním P 3. Vyklenutí je řízeno body P 1 a P 2. Kristýna Bémová (MFF UK) Křivky v počítačové grafice 13. prosince 2007 26 / 36

Bézierovy kubiky Bézierovy kubiky jsou určeny vztahem: P(t) = P 0 B 0 (t) + P 1 B 1 (t) + P 2 B 2 (t) + P 3 B 3 (t) = 3 i=0 P ib i (t) kde t < 0, 1 > a B 0, B 1, B 2, B 3 jsou kubické polynomy tvaru: B 0 (t) = (1 t) 3 B 1 (t) = 3t(1 t) 2 B 2 (t) = 3t 2 (1 t) B 3 (t) = t 3 Maticový zápis: P(t) = T 1 3 3 1 3 6 3 0 3 3 0 0 1 0 0 0 P 0 P 1 P 2 P 3 Kristýna Bémová (MFF UK) Křivky v počítačové grafice 13. prosince 2007 27 / 36

Bézierovy kubiky - vlastnosti Tečné vektory mají vždy směr spojnice dvojice krajních bodů a velikost mají rovnu trojnásobku vzdálenosti bodů. Dva Bézierovy oblouky budou spojeny hladce, bude-li zaručena jejich spojitost a pokud budou identické tečné vektory. (tj. poslední bod předchozího oblouku je identický s prvním následujícího, nebo křivka prochází posledním a prvním bodem) Tedy: druhý bod následující křivky je určen posledními dvěma body křivky předchozí. Kristýna Bémová (MFF UK) Křivky v počítačové grafice 13. prosince 2007 28 / 36

Bézierovy kubiky - spojitost Kristýna Bémová (MFF UK) Křivky v počítačové grafice 13. prosince 2007 29 / 36

Obecné Bézierovy křivky Bézierova křivka n-tého řádu je dána n+1 body řídícího polygonu P 0, P 1,..., P n. Vychází z prvního bodu P 0 a končí v bodě posledním P n. Parametrické vyjádření používá Bernsteinovy polynomy: ( ) n Bi n (t) = t i i (1 t) n i t < 0, 1 >, i = 0, 1,..., n Lze je snadno napojovat G 1 nebo C 1 spojitostí. Složitějším způsobem z nich lze postavit spline. Kristýna Bémová (MFF UK) Křivky v počítačové grafice 13. prosince 2007 30 / 36

De Casteljau algoritmus Jedná se o geometrickou konstrukci Bézierových křivek. Kristýna Bémová (MFF UK) Křivky v počítačové grafice 13. prosince 2007 31 / 36

Coonsovy kubiky Zadává se čtyřmi body P 0,P 1,P 2,P 3 a spočte se ze vztahu: P(t) = 1 6 [P 0C 0 (t) + P 1 C 1 (t) + P 2 C 2 (t) + P 3 C 3 (t)] = 1 6 3 i=0 P ic i (t) kde C 0, C 1, C 2, C 3 jsou kubické polynomy tvaru: C 0 (t) = (1 t) 3 C 1 (t) = 3t 3 6t 2 + 4 C 2 (t) = 3t 3 + 3t 2 + 3t + 1 C 3 (t) = t 3,t < 0, 1 > Maticový zápis: P(t) = 1 6 T 1 3 3 1 3 6 3 0 3 0 3 0 1 4 1 0 P 0 P 1 P 2 P 3 Kristýna Bémová (MFF UK) Křivky v počítačové grafice 13. prosince 2007 32 / 36

Coonsovy kubiky Krajní body křivky nevychází z řídicích bodů, ale z "antitěžiště" trojúhelníků P 0 P 1 P 2 a P 1 P 2 P 3. P(0) = P 0+4P 1 +P 2 6 P(1) = P 1+4P 2 +P 3 6 Výhoda těchto křivek se ukáže při jejich použití pro skládání aproximačních křivek, tzv. B-spline. Kristýna Bémová (MFF UK) Křivky v počítačové grafice 13. prosince 2007 33 / 36

B-spline Křivka je složena z Coonsových oblouků tak, že pro jeden oblouk použijeme vrcholy P 0 P 1 P 2 P 3, pro další P 1 P 2 P 3 P 4 atd. Vlastnosti: Ve všech vnitřních bodech má spojitost druhého řádu. Změnou jednoho řídícího bodu dojde pouze k lokální změně čtyř oblouků, jejichž konstrukce se bod účastní. Křivka leží celá ve své konvexní obálce a její segmenty leží v konvexních obálkách svých řídicích polygonů. Uzavřený B-splajn získáme opakováním n prvních bodů řídicího polygonu na jeho konci. (Pro kubický B-splajn je tedy řídícím polygonem uzavřené křivky posloupnost bodů: P 0, P 1,..., P m, P 0, P 1, P 2.) Kristýna Bémová (MFF UK) Křivky v počítačové grafice 13. prosince 2007 34 / 36

B-spline - změna řídícího bodu Kristýna Bémová (MFF UK) Křivky v počítačové grafice 13. prosince 2007 35 / 36

Literatura http://www.hyperkrychle.cz/curves/obsah.html (Lubomír Alexandr - Vysoké učení technické v Brně) http://cgg.ms.mff.cuni.cz/ pepca/lectures/pdf/hwmath.pdf (RNDr. Josef Pelikán - MFF UK) http://notorola.sh.cvut.cz/ bruxy/algoritmy_pocitacove_grafiky.doc Kochanek-Bartels Cubic Splines (TCB Splines) (David Eberly - Geometric Tools, Inc., http://www.geometrictools.com) Kristýna Bémová (MFF UK) Křivky v počítačové grafice 13. prosince 2007 36 / 36