Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

KŘIVKY A PLOCHY JANA ŠTANCLOVÁ

Podobné prezentace


Prezentace na téma: "KŘIVKY A PLOCHY JANA ŠTANCLOVÁ"— Transkript prezentace:

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á,


Stáhnout ppt "KŘIVKY A PLOCHY JANA ŠTANCLOVÁ"

Podobné prezentace


Reklamy Google