Stáhnout prezentaci
Prezentace se nahrává, počkejte prosím
1
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
2
Obsah matematický popis křivek a ploch modelování křivek a ploch
křivky v rovině implicitní tvar křivky, explicitní vyjádření, parametrický tvar, tečný vektor, tečna ke křivce křivky v prostoru plochy modelování křivek a ploch aproximace, interpolace interpolační křivky a plochy Fergusonovy kubiky aproximační křivky a plochy Beziérovy křivky a plochy Coonsovy (B-spline) křivky a plochy β-spline křivky a plochy 2/ Jana Štanclová,
3
MATEMATICKÝ POPIS KŘIVEK A PLOCH
3/ Jana Štanclová,
4
Křivky v rovině implicitní tvar křivky rovnice F(x,y) = 0 př.
F spojitá funkce dvou proměnných př. přímka: ?? kružnice: ?? 4/ Jana Štanclová,
5
Křivky v rovině implicitní tvar křivky rovnice F(x,y) = 0 př.
F spojitá funkce dvou proměnných př. přímka: ax + by + c = 0 kružnice: x2 + y2 – r2 = 0 5/ Jana Štanclová,
6
Křivky v rovině implicitní tvar křivky explicitní vyjádření křivky
rovnice F(x,y) = 0 F spojitá funkce dvou proměnných př. přímka: ax + by + c = 0 kružnice: x2 + y2 – r2 = 0 explicitní vyjádření křivky jedna souřadnice funkcí druhé proměnné y = Y(x) dosazování přípustných hodnot za x → body na křivce [x,Y(x)] př. přímka: ?? 6/ Jana Štanclová,
7
Křivky v rovině implicitní tvar křivky explicitní vyjádření křivky
rovnice F(x,y) = 0 F spojitá funkce dvou proměnných př. přímka: ax + by + c = 0 kružnice: x2 + y2 – r2 = 0 explicitní vyjádření křivky jedna souřadnice funkcí druhé proměnné y = Y(x) dosazování přípustných hodnot za x → body na křivce [x,Y(x)] př. přímka: y = kx + q lze vyjádřit všechny křivky ?? 7/ Jana Štanclová,
8
Křivky v rovině implicitní tvar křivky explicitní vyjádření křivky
rovnice F(x,y) = 0 F spojitá funkce dvou proměnných př. přímka: ax + by + c = 0 kružnice: x2 + y2 – r2 = 0 explicitní vyjádření křivky jedna souřadnice funkcí druhé proměnné y = Y(x) dosazování přípustných hodnot za x → body na křivce [x,Y(x)] př. přímka: y = kx + q lze vyjádřit všechny křivky ?? nelze: uzavřené křivky 8/ Jana Štanclová,
9
Křivky v rovině parametrický tvar křivky
výhodné pro počítačovou geometrii poloha bodu na křivce vyjádřena parametrem → souřadnice bodů závislé na parametru křivka K K = { [x,y]; x = X(t), y = Y(t), t ∈ < tmin, tmax > } X(t) a Y(t) funkce závislosti souřadnic x, y na parametru t počáteční bod: [ X(tmin) , Y(tmin) ] koncový bod: [ X(tmax) , Y(tmax) ] bod křivky: K(t) = [ X(t) , Y(t) ] 9/ Jana Štanclová,
10
Křivky v rovině parametrický tvar křivky přímka kružnice x = ?? y = ??
10/ Jana Štanclová,
11
Křivky v rovině parametrický tvar křivky přímka kružnice x = t
y = kt + q → parametr t ∈ R kružnice x = x0 + r cos(α) y = y0 + r sin(α) → parametr α ∈ <0,2π> 11/ Jana Štanclová,
12
Křivky v rovině tečný vektor tečna křivky v bodě K(t)
K’ = [ X’(t) , Y’(t) ] ... vektor parciálních derivací předpoklady X(t) a Y(t) spojité a mají derivace alespoň jedna z derivací X’(t) a Y’(t) v bodě t nenulová spojitá změna vektoru K’ křivky → hladký půběh křivky nejsou „ostré vrcholy“ tečna křivky v bodě K(t) přímka: T(u) = K(t) + u K‘(t) 12/ Jana Štanclová,
13
Křivky v rovině tečný vektor tečna křivky v bodě K(t)
K’ = [ X’(t) , Y’(t) ] ... vektor parciálních derivací předpoklady X(t) a Y(t) spojité a mají derivace alespoň jedna z derivací X’(t) a Y’(t) v bodě t nenulová spojitá změna vektoru K’ křivky → hladký půběh křivky nejsou „ostré vrcholy“ tečna křivky v bodě K(t) přímka: T(u) = K(t) + u K‘(t) bod křivky K(t) parametr tečný vektor K’(t) 13/ Jana Štanclová,
14
Křivky v rovině - příklad
spočítat tečnu v bodě [0,2] ke kružnici se středem v počátku a poloměrem 2 14/ Jana Štanclová,
15
Křivky v rovině - příklad
spočítat tečnu v bodě [0,2] ke kružnici se středem v počátku a poloměrem 2 řešení rovnice kružnice ?? 15/ Jana Štanclová,
16
Křivky v rovině - příklad
spočítat tečnu v bodě [0,2] ke kružnici se středem v počátku a poloměrem 2 řešení rovnice kružnice x = 2 cos(α) y = 2 sin(α) tečný vektor kružnice ?? 16/ Jana Štanclová,
17
Křivky v rovině - příklad
spočítat tečnu v bodě [0,2] ke kružnici se středem v počátku a poloměrem 2 řešení rovnice kružnice x = 2 cos(α) y = 2 sin(α) tečný vektor kružnice x = - 2 sin(α) y = 2 cos(α) tečna ke kružnici v bodě [0,2] ... tečna ke kružnici v bodě ?? 17/ Jana Štanclová,
18
Křivky v rovině - příklad
spočítat tečnu v bodě [0,2] ke kružnici se středem v počátku a poloměrem 2 řešení rovnice kružnice x = 2 cos(α) y = 2 sin(α) tečný vektor kružnice x = - 2 sin(α) y = 2 cos(α) tečna ke kružnici v bodě [0,2] ... tečna ke kružnici v bodě α = π / 2 18/ Jana Štanclová,
19
Křivky v rovině - příklad
pokračování řešení: rovnice tečny v bodě α = π/2 x = ?? y = ?? 19/ Jana Štanclová,
20
Křivky v rovině - příklad
pokračování řešení: rovnice tečny v bodě α = π/2 x = 2 cos(π/2) – 2u sin(π/2) y = 2 sin(π/2) + 2u cos(π/2) po úpravách x = ?? y = ?? 20/ Jana Štanclová,
21
Křivky v rovině - příklad
pokračování řešení: rovnice tečny v bodě α = π/2 x = 2 cos(π/2) – 2u sin(π/2) y = 2 sin(π/2) + 2u cos(π/2) po úpravách x = 0 – 2u = – 2u y = 2 + 0u = 2 → přímka y = 2 (x libovolné) [0,2] 21/ Jana Štanclová,
22
Křivky v prostoru explicitní tvar křivky parametrický tvar křivky
vyjádření souřadnic y a z v závislosti na souřadnici x y = Y(x), z = Z(x) → tento tvar nemusí vždy existovat parametrický tvar křivky nejobvyklejší křivka: K = { [x,y,z] ; x=X(t), y=Y(t), z=Z(t), t ∈ <tmin, tmax>} tečný vektor v bodě K(t) vektor parciálních derivací K‘(t) = [X’(t),Y’(t), Z’(t)] 22/ Jana Štanclová,
23
Plochy (v prostoru) implicitní tvar plochy explicitní tvar plochy
rovnice F(x,y,z) = 0 explicitní tvar plochy jen pro některé plochy jedna souřadnice vyjádřena v závislosti na zbylých dvou proměnných z = Z(x,y) parametrický tvar plochy nejobvyklejší souřadnice závislé na hodnotách dvou parametrů u a v P = {[x,y,z]; x=X(u,v), y=Y(u,v), z=Z(u,v), u ∈ <umin, umax>, v ∈ <vmin, vmax>} X(u,v), Y(u,v), Z(u,v) ... parametrické funkce plochy P jeden z parametrů plochy fixován → ?? 23/ Jana Štanclová,
24
Plochy (v prostoru) implicitní tvar plochy explicitní tvar plochy
rovnice F(x,y,z) = 0 explicitní tvar plochy jen pro některé plochy jedna souřadnice vyjádřena v závislosti na zbylých dvou proměnných z = Z(x,y) parametrický tvar plochy nejobvyklejší souřadnice závislé na hodnotách dvou parametrů u a v P = {[x,y,z]; x=X(u,v), y=Y(u,v), z=Z(u,v), u ∈ <umin, umax>, v ∈ <vmin, vmax>} X(u,v), Y(u,v), Z(u,v) ... parametrické funkce plochy P jeden z parametrů plochy fixován → parametrická rovnice křivky na ploše 24/ Jana Štanclová,
25
MODELOVÁNÍ KŘIVEK A PLOCH
25/ Jana Štanclová,
26
Modelování křivek a ploch
idea nelze zadat všechny body křivky/plochy → je jich nekonečně zadají se nejdůležitější uzlové body např. body, kde křivka/plocha mění směr, obrací se, ... typicky požadavek na hladkost křivky/plochy bez ostrých vrcholů základní metody interpolace křivka/plocha prochází uzlovými body aproximace křivka/plocha nemusí procházet uzlovými body křivka „probíhá“ okolo uzlových bodů a „kopíruje“ je 26/ Jana Štanclová,
27
Modelování křivek a ploch
Aproximace Interpolace 27/ Jana Štanclová,
28
FERGUSONOVY KUBIKY Fergusonovy kubiky
28/ Jana Štanclová,
29
Fergusonovy kubiky interpolační křivka Fergusonova kubika
J. C. Ferguson, 1964 Fergusonova kubika dva řídící body P0 a P1 krajní body křivky → křivka jimi prochází určují polohu křivky dva tečné vektory P‘0 a P’1 v řídících bodech P0 a P1 směr a velikost tečných vektorů → míra vyklenutí křivky větší velikost vektorů → křivka se více přimyká k vektoru rovnice křivky P(t) = P0F1(t) + P1F2(t) + P’0F3(t) + P’1F4(t) kde F1,..., F4 jsou kubické Hermitovské polynomy F1(t) = 2t3 – 3t F3(t) = t3 – 2t2 + t F2(t) = -2t3 + 3t F4(t) = t3 – t2 29/ Jana Štanclová,
30
Fergusonovy kubiky vektor P‘0 konstantní ... vektor P’1 se mění
30/ Jana Štanclová,
31
Fergusonovy kubiky applet: 31/ Jana Štanclová,
32
Fergusonovy kubiky výhody snadné navazování Fergusonových kubik ??
32/ Jana Štanclová,
33
Fergusonovy kubiky výhody snadné navazování Fergusonových kubik
poslední bod předchozího segmentu = první bod následujícího segmentu hladkost spojených dvou kubik ?? 33/ Jana Štanclová,
34
Fergusonovy kubiky výhody nevýhody
snadné navazování Fergusonových kubik poslední bod předchozího segmentu = první bod následujícího segmentu hladkost spojených dvou kubik ztotožnění tečných vektorů ztotožněných bodů nevýhody poměrně nesnadná editace tečného vektoru ve 3D 34/ Jana Štanclová,
35
BEZIÉROVY KŘIVKY Beziérovy křivky
35/ Jana Štanclová,
36
Beziérovy křivky aproximační křivka vlastnosti
křivka prochází prvním a posledním uzlem k ostatním bodům se křivka pouze přibližuje úsečky spojující dva krajní uzly se dotýkají křivky v koncových bodech spojnice prvního a druhého bodu, posledního a předposledního bodu jinak průběh křivky zcela hladký rovnice kde Bin jsou Bernsteinovy polynomy 36/ Jana Štanclová,
37
Beziérovy křivky applet: http://www.math.ubc.ca/~cass/gfx/bezier.html
win → program Paint: kliknout a táhnout → počáteční a koncový bod kliknout a táhnout → vytváří se oblouk (a ještě jednou zopakovat) 37/ Jana Štanclová,
38
Beziérovy křivky nevýhody → řešení: ??
křivka určena velkým počtem bodů → složitý výpočet bodu na křivce vnitřní bod křivky závisí na všech uzlech posun jednoho uzlu → změna tvaru celé křivky → řešení: ?? 38/ Jana Štanclová,
39
Beziérovy křivky nevýhody
křivka určena velkým počtem bodů → složitý výpočet bodu na křivce vnitřní bod křivky závisí na všech uzlech posun jednoho uzlu → změna tvaru celé křivky → řešení: složitější křivky spojení několika kratších křivek lepší výpočet kratších křivek lokální oprava tvaru křivky změna polohy jednoho uzlu → změna jednoho úseku křivky ostatní úseky nezměněny 39/ Jana Štanclová,
40
Beziérovy křivky spojování dvou Beziérových křivek ??
40/ Jana Štanclová,
41
Beziérovy křivky spojování dvou Beziérových křivek hladké spojení ??
ztotožnění krajních vrcholů → spojení křivek nemusí být hladké hladké spojení ?? 41/ Jana Štanclová,
42
Beziérovy křivky spojování dvou Beziérových křivek hladké spojení
ztotožnění krajních vrcholů → spojení křivek nemusí být hladké hladké spojení 3 krajní body na jedné přímce předposlední uzel křivky Q1 poslední uzel křivky Q1 = první uzel křivky Q2 druhý uzel křivky Q2 42/ Jana Štanclová,
43
Beziérovy křivky v praxi použití Beziérovy křivky druhého stupně
kvadratické křivky definované 3 uzly Beziérovy křivky třetího stupně kubické křivky definované 4 uzly použití definice znakových fontů hladký průběh obrysů písmen jednoduché zadávání → možnost libovolně font zvětšovat bez znehodnocení 43/ Jana Štanclová,
44
BEZIÉROVY PLOCHY Beziérovy plochy
44/ Jana Štanclová,
45
Beziérovy plochy aproximační plochy zadány sítí bodů v prostoru
stejné principy jako Beziérovy křivky zadány sítí bodů v prostoru obdélníková tabulka bodů/uzlů libovolné velikosti rohové uzly poloha rohů plochy okrajové řady/sloupce uzlů okrajové Beziérovy křivky vnitřní uzly tvar uvnitř plochy 45/ Jana Štanclová,
46
Beziérovy plochy – editace uzlů
46/ Jana Štanclová,
47
Beziérovy plochy nevýhody
vnitřní bod plochy závisí na všech ostatních uzlech definiční sítě → řešení: jako u Beziérových křivek složitější plochy: spojování více plátů dohromady plát = jedna Beziérova plocha typicky bikvadratický Beziérový plát plocha zadaná 3×3 uzly bikubický Beziérový plát plocha zadaná 4×4 uzly výhody lokální oprava komplikované plochy rychlejší výpočet i zobrazení 47/ Jana Štanclová,
48
Beziérových plochy – napojení plátů
napojení Beziérových plátů ?? 48/ Jana Štanclová,
49
Beziérových plochy – napojení plátů
napojení Beziérových plátů ztotožnění krajních řad/sloupců → napojení nemusí být hladké hladké napojení ?? 49/ Jana Štanclová,
50
Beziérových plochy – napojení plátů
napojení Beziérových plátů ztotožnění krajních řad/sloupců → napojení nemusí být hladké hladké napojení vliv dalších řad uzlů sousedících se společným okrajem plátů trojice uzlů na úsečkách úsečky rozděleny prostředními uzly ve stejném poměru 50/ Jana Štanclová,
51
Speciální Beziérovy pláty
speciální plát ... „záplata“ degenerace jedné/dvou okrajových křivek okrajová křivka plátu = Beziérova křivka zadaná krajní řadou/sloupcem uzlů spojení těchto uzlů do jediného → degenerace křivky do jediného bodu → výsledná plocha má méně rohů a okrajových křivek příklad: trojúhelníkový plát jeden dvojitý roh 51/ Jana Štanclová,
52
COONSOVY (B-SPLINE) KŘIVKY
52/ Jana Štanclová,
53
B-spline křivky aproximační křivky zadány posloupností bodů
princip zadání: podobný Beziérovým křivkám bez omezující podmínky pro hladké napojení dvou křivek zadány posloupností bodů začátek křivky → antitěžiště trojúhelníka ABC směr křivky → v krajním bodě rovnoběžný se stranou trojúhelníka AC 53/ Jana Štanclová,
54
B-spline křivky aproximační křivky zadány posloupností bodů
princip zadání: podobný Beziérovým křivkám bez omezující podmínky pro hladké napojení dvou křivek zadány posloupností bodů začátek křivky → antitěžiště trojúhelníka ABC směr křivky → v krajním bodě rovnoběžný se stranou trojúhelníka AC 54/ Jana Štanclová,
55
Prodlužování B-spline křivek
první úsek ... P0P1P2P3 druhý úsek ... P1P2P3P4 společný bod ... antitěžistě trojúhelníka P1P2P3 směr ve společném bodě ... rovnoběžný s úsečkou P1P3 společný pro obě křivky → hladké spojení 55/ Jana Štanclová,
56
Prodlužování B-spline křivek
snadné napojování/prodlužování křivek dvě spojené křivky → společné 3 definiční uzly prodloužení křivky o jeden úsek přidání jednoho nového uzlu napojování B-spline křivek zopakovány poslední tři uzly na kraj přidán jeden nový uzel 56/ Jana Štanclová,
57
B-spline křivky vliv definičního uzlu na maximálně ?? úseky křivek
57/ Jana Štanclová,
58
B-spline křivky vliv definičního uzlu
na maximálně 4 úseky křivek oprava křivky → posun jednotlivých uzlů posun jednoho uzlu → lokální oprava křivky změna max. 4 sousedních částí křivek zbytek křivky nezměněn 58/ Jana Štanclová,
59
COONSOVY (B-SPLINE) PLOCHY
59/ Jana Štanclová,
60
B-spline plochy aproximační plochy variabilita B-spline plochy
zadány sítí bodů v prostoru obdélníková tabulka bodů/uzlů libovolné velikosti B-spline plocha prochází volně zadanou soustavou uzlů variabilita B-spline plochy konstrukce složitějších tvarů → plochy složené z hodně plátů dva sousední pláty → společné 3 řady uzlů sestavená plocha vždy hladká lokální opravy plochy → posuny definičních uzlů změna jednoho uzlu → změna ?? sousedních plátů 60/ Jana Štanclová,
61
B-spline plochy aproximační plochy variabilita B-spline plochy
zadány sítí bodů v prostoru obdélníková tabulka bodů/uzlů libovolné velikosti B-spline plocha prochází volně zadanou soustavou uzlů variabilita B-spline plochy konstrukce složitějších tvarů → plochy složené z hodně plátů dva sousední pláty → společné 3 řady uzlů sestavená plocha vždy hladká lokální opravy plochy → posuny definičních uzlů změna jednoho uzlu → změna sousedních plátů speciální pláty pomocí vícenásobných uzlů 61/ Jana Štanclová,
62
B-spline plochy změna tvaru plochy
– každý obrázek vznikl změnou polohy jediného uzlu 62/ Jana Štanclová,
63
β-SPLINE KŘIVKY β-spline křivky
63/ Jana Štanclová,
64
β-spline křivky aproximační křivky úsek křivky
zobecnění kubických B-spline křivek → variabilnější úsek křivky 4 řídící uzly dva sousední úseky → společné 3 uzly sklon β1 posunutí křivky vzhledem k řídícím uzlům standardně β1 = 1 β1 < posun k prvnímu uzlu β1 > posun k poslednímu uzlu napětí β2 stupeň přesnosti aproximace → jak moc křivka přitahována/odpuzována od uzlů β2 = 0 → klasická B-spline křivka 64/ Jana Štanclová,
65
β-spline křivky změna tvaru křivky při posunutí jednoho řídícího uzlu
65/ Jana Štanclová,
66
β-SPLINE PLOCHY β-spline plochy
66/ Jana Štanclová,
67
β-spline plochy aproximační plochy β-spline plát zadán
zobecnění bikubických B-spline ploch β-spline plát zadán 16 řídících uzlů sklony β1u a β1v sklon plochy v obou směrech napětí plochy β2 stupeň přesnosti aproximace → jak moc plocha přitahována/odpuzována od uzlů 67/ Jana Štanclová,
Podobné prezentace
© 2024 SlidePlayer.cz Inc.
All rights reserved.