BPC2E_C08 Parametrické 3D grafy v Matlabu



Podobné dokumenty
BPC2E_C09 Model komunikačního systému v Matlabu

Lineární algebra s Matlabem cvičení 3

Modelování blízkého pole soustavy dipólů

Kreslení grafů v Matlabu

SEMESTRÁLNÍ PRÁCE Z X37SAS Zadání č. 7

(0, y) 1.3. Základní pojmy a graf funkce. Nyní se již budeme zabývat pouze reálnými funkcemi reálné proměnné a proto budeme zobrazení

Řešení diferenciálních rovnic v MATLABu

analytické geometrie v prostoru s počátkem 18. stol.

SBÍRKA ÚLOH PRO PŘÍPRAVU NA PŘIJÍMACÍ ZKOUŠKY Z MATEMATIKY NA VŠ EKONOMICKÉHO SMĚRU

VŠB Technická univerzita Ostrava Fakulta strojní Katedra pružnosti a pevnosti (339) Metoda konečných prvků MKP I (Návody do cvičení)

Vyhodnocení 2D rychlostního pole metodou PIV programem Matlab (zpracoval Jan Kolínský, dle programu ing. Jana Novotného)

Programování a počítače 2 Počítačová cvičení pro obor B-EST

2. Kinematika bodu a tělesa

Primární zpracování radarového signálu dopplerovská filtrace

1) Sestavte v Matlabu funkci pro stanovení výšky geoidu WGS84. 2) Sestavte v Matlabu funkci pro generování C/A kódu GPS družic.

ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE

Matice. Je dána matice A R m,n, pak máme zobrazení A : R n R m.

6 Samodružné body a směry afinity

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

% vyhledání prvku s max. velikostí v jednotlivých sloupcích matice X

Matematická analýza III.

9.1 Definice a rovnice kuželoseček

Základy zpracování obrazu

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

je omezena + =,,0 1 je omezena,0 2,0 2,0 je horní polovina koule + + je omezena + =1, + + =3, =0

Funkce a základní pojmy popisující jejich chování

3.4 Řešení Příkladu 1 (str.55) v programu Maple

X37SGS Signály a systémy

P R O M Í T Á N Í. rovina π - průmětna vektor s r - směr promítání. a // s r, b// s r,

Hodnocení soutěžních úloh

11MAMY LS 2017/2018. Úvod do Matlabu. 21. února Skupina 01. reseni2.m a tak dále + M souborem zadané funkce z příkladu 3 + souborem skupina.

Mgr. Tomáš Kotler. I. Cvičný test 2 II. Autorské řešení 7 III. Klíč 15 IV. Záznamový list 17

VYUŽITÍ MATLABU PRO PODPORU VÝUKY A PŘI ŘEŠENÍ VÝZKUMNÝCH ÚKOLŮ NA KATEDŘE KOMUNIKAČNÍCH A INFORMAČNÍCH SYSTÉMŮ

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

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

K OZA SE PASE NA POLOVINĚ ZAHRADY Zadání úlohy

Nejprve si připomeňme z geometrie pojem orientovaného úhlu a jeho velikosti.

ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE

4. Statika základní pojmy a základy rovnováhy sil

Grafické výstupy v Octave/Matlabu a GnuPlotu

Momenty setrvačnosti a deviační momenty

1 Topologie roviny a prostoru

Základy matematiky pracovní listy

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

1 Základní funkce pro zpracování obrazových dat

Euklidovský prostor Stručnější verze

Zadání soutěžních úloh

CVIČNÝ TEST 15. OBSAH I. Cvičný test 2. Mgr. Tomáš Kotler. II. Autorské řešení 6 III. Klíč 15 IV. Záznamový list 17

MATLAB HRAVĚ Zdeněk Jančík, FIT VUT Brno

CVIČNÝ TEST 51. OBSAH I. Cvičný test 2. Mgr. Tomáš Kotler. II. Autorské řešení 6 III. Klíč 15 IV. Záznamový list 17

7. Derivace složené funkce. Budeme uvažovat složenou funkci F = f(g), kde některá z jejich součástí

Základy algoritmizace a programování

Mgr. Tomáš Kotler. I. Cvičný test 2 II. Autorské řešení 6 III. Klíč 15 IV. Záznamový list 17

Hisab al-džebr val-muqabala ( Věda o redukci a vzájemném rušení ) Muhammada ibn Músá al-chvárizmího (790? - 850?, Chiva, Bagdád),

Semestrální práce z p edm tu URM (zadání), 2014/2015:

Derivace funkcí více proměnných

1 Linearní prostory nad komplexními čísly

1/15. Kapitola 2: Reálné funkce více proměnných

Pracovní text a úkoly ke cvičením MF002

CAD_Inventor -cvičení k modelování a tvorbě technické obrazové dokumentace Spirála

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

ALGEBRA. Téma 5: Vektorové prostory

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.

Afinní transformace Stručnější verze

Cvičné texty ke státní maturitě z matematiky

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

Parametrická rovnice přímky v rovině

Jiří Cajthaml. ČVUT v Praze, katedra geomatiky. zimní semestr 2014/2015

TSO NEBO A INVARIANTNÍ ROZPOZNÁVACÍ SYSTÉMY

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

Matematika II, úroveň A ukázkový test č. 1 (2018) 1. a) Napište postačující podmínku pro diferencovatelnost funkce n-proměnných v otevřené

Souřadnicové prostory

3.2 3DgrafyvMaple 106 KAPITOLA 3. UŽITÍ MAPLE PŘI ŘEŠENÍ KVADRIK

Téma: Vektorová grafika. Určete pravdivost následujícího tvrzení: "Grafická data jsou u 2D vektorové grafiky uložena ve voxelech."

Obecný Hookeův zákon a rovinná napjatost

Jak ovládat ručičku tachometru (ukazatel)?

Rasterizace je proces při kterém se vektorově definovaná grafika konvertuje na. x 2 x 1

Hough & Radon transform - cvičení

Výběr báze. u n. a 1 u 1

Lineární funkce, rovnice a nerovnice

Srovnání konformních kartografických zobrazení pro zvolené

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

Rovinné přetvoření. Posunutí (translace) TEORIE K M2A+ULA

Výukové texty. pro předmět. Automatické řízení výrobní techniky (KKS/ARVT) na téma

Příklad: Řešte soustavu lineárních algebraických rovnic 10x 1 + 5x 2 +70x 3 + 5x 4 + 5x 5 = 275 2x 1 + 7x 2 + 6x 3 + 9x 4 + 6x 5 = 100 8x 1 + 9x 2 +

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

Vektorové prostory R ( n 1,2,3)

Geometrické transformace pomocí matic

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

ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE

1. Dva dlouhé přímé rovnoběžné vodiče vzdálené od sebe 0,75 cm leží kolmo k rovine obrázku 1. Vodičem 1 protéká proud o velikosti 6,5A směrem od nás.

Těleso racionálních funkcí

Vlastní čísla a vlastní vektory

CVIČNÝ TEST 36. OBSAH I. Cvičný test 2. Mgr. Tomáš Kotler. II. Autorské řešení 6 III. Klíč 15 IV. Záznamový list 17

5. cvičení z Matematiky 2

III. Diferenciál funkce a tečná rovina 8. Diferenciál funkce. Přírůstek funkce. a = (x 0, y 0 ), h = (h 1, h 2 ).

Jednoduchá zobrazení. Podpořeno z projektu FRVŠ 584/2011.

7. Funkce jedné reálné proměnné, základní pojmy

Lineární funkcí se nazývá každá funkce, která je daná rovnicí y = ax + b, kde a, b jsou reálná čísla.

6. DIFERENCIÁLNÍ POČET FUNKCE VÍCE PROMĚNNÝCH

Transkript:

BPC2E_C08 Parametrické 3D grafy v Matlabu Cílem cvičení je procvičit si práci se soubory a parametrickými 3D grafy v Matlabu. Úloha A. Protože budete řešit transformaci z kartézských do sférických souřadnic, ve kterých budete vykreslovat grafy, resp. objekty, jako parametrické 3D funkce s definicí barvy povrchu a protože to představuje jistou představivost ve 3D prostoru a tedy pro matlabovské začátečníky jistý obtížný kousek, je součástí zadání i názorný příklad, viz bpc2e_c08ex.m. V tomto příkladu je nejprve pomocí meshgridu vytvořena sít v kartézské soustavě, kde lon (zeměpisku délka) koresponduje s osou x a lat (zeměpisná šířka) s osou y: [lon,lat] = meshgrid(-180:0.5:180, -90:0.5:90); Máme tedy síť, která má definovaná oka s délkou 0,5 a je položená na rovné zemi (v soustavě x, y). Následně je vygenerována matice c jako funkce lon+lat, to znamená, že její hodnota bude stoupat s rostoucí hodnotou lon i lat: c = lon+lat; Pro nízké indexy řádků i sloupců se budou její hodnoty pohybovat okolo -270, tedy -180 + (- 90), naopak pro nejvyšší indexy se budou hodnoty v matici C blížit +270. Pokud použijeme následující skript pro vykreslení síťového grafu pomocí funkce mesh(): figure(1) mesh(lon,lat,0*lon,c) xlabel('lon') ylabel('lat') axis equal colormap('lines') view(0,90) získáme graf 8.1. Souřadnice x a y tedy odpovídají lon i lat. Třetí matice odpovídající ose z je nulová (násobení je zde kvůli zajištění rozměru nulové matice). Ve funkci mash() matice c figuruje jako čtvrtý parametr, což znamená, že hodnotou c pro dané lon a lat je nějaká barva z vybrané palety. Protože je z vždy nulové graf leží v rovině xy a jenom se mění jeho barva podle matice c a vybrané palety colormap(). Pro ilustraci je vybrána paleta Lines, proto tolik proužků, ale zkuste si jinou paletu, např. Winter, která lépe ukáže, jak roste c pro dané místo (souřadnice) sítě umístěné v rovině xy. Máme tedy vytvořen určitý vzor, který je rozložený na podlaze (z = 0) jako koberec. A nyní přichází kýžená transformace, kdy pro parametry lon a lat definujeme transformované proměnné x, y a z ve sférických souřadnicích. Z hlediska představivosti jde jen o to, že vezmeme původní síť (koberec položený na zemi) a stočíme jej do koule, přičemž musíme někde oka (koberec) trochu

roztáhnout, jinde přitlačit k sobě. Výsledkem je kouli v 3D soustavě a příslušné barevné proužky teď figurují na povrchu koule. V našem případě máme poloměr koule r = 1, obecně však pro uvedenou transformaci platí: x = r cos( α) cos( β ) y = r sin( α) cos( β ) z = r sin( β ) (8.1) kde α odpovídá námi definované proměnné lon a β proměnné lat. Hodnota r určuje poloměr výsledné koule. V testovacím příkladě je síť tak hustá, že se nám jednotlivé hrany slévají dohromady. Zkuste navrhnout síť řidší a uvidíte, že transformace do koule v některých místech oka roztáhne a jinde smrskne (to je kvůli sinům a kosinům v transformačním vztahu). Obr. 8.1. Barevný plot na zemi. Sestavíme-li skript pro transformaci kulových souřadnic: x = cos(lon*pi/180).*cos(lat*pi/180); y = sin(lon*pi/180).*cos(lat*pi/180); z = sin(lat*pi/180); a aplikujeme již skutečné 3D zobrazení (z již není nulové, viz třetí vztah v transformaci) pomocí funkce mesh(): figure(2) mesh(x,y,z,c) title('striped ball') xlabel('x') ylabel('y') zlabel('z') axis equal colormap('lines') view(45,20) Získáme krásnou barevnou mičudu, na které je vidět zhuštění původního 2D zobrazení v oblasti pólů a zředění okolo rovníku.

Vašim úkolem je na základě uvedeného příkladu sestavit matlabovský skript, který vygeneruje grafy rozložení teploty v severním Atlantiku. Abyste mohli oddělit oceány od souše, je k dispozici binární soubor earth.dat obsahující jednobajtové hodnoty, kdy 1 odpovídá moři a 0 souši na zemském povrchu. Rozdělení je po 0,5 jak v zeměpisné délce <- 180, +180 >, tak i v zeměpisné šířce <-90, +90 >. Řádky odpovídají zeměpisné šířce, sloupce zeměpisné délce. Sestavte skript, který zobrazí masku souší a moří Země, viz obr. 8.3. Jde v podstatě o řešení z ukázkového příkladu s vlastní paletou o dvou barvách. Data ze souboru masky souší a moří načtete následujícím skriptem: fid1 = fopen('earth.dat', 'r') e_mask = fread(fid1, [361 721]); fclose(fid1) Obr. 8.2. Barevný plot srolovaný do mičudy pomocí transformace. Proveďte jak zobrazení rozložené do roviny xy (obr. 8.3a) tak i zobrazení po transformaci, čímž získáte vykreslený globus souší a moří. Pro další úkol je v souborech NATemp1985.dat a NATemp2010.dat uložena mapa teploty severního Atlantiku měřená v roce 1985 a 2010 v zeměpisné délce <-135, +35 > a v zeměpisné šířce <+15, +90 >. Rozdělení je opět po 0,5 a stejné uspořádání dat jako pro masku souší a moří avšak jako hodnoty ve formátu float odpovídající průměrné teplotě v daném roce. Souše mají přidělenu fixní hodnotu -10. Sestavte výřezy grafů teploty vod v severním Atlantiku pro oba roky i rozdíl (pro zjištění globálního oteplování), viz obr. 8.4. V závěrečné části proveďte transformace do sférických souřadnic a zobrazte teploty moří na povrchové mapě Země, u rozdílové hodnoty zobrazte jen měřenou oblast (máte jen kousek plotu na kousek koule), viz obr. 8.5. Pro zobrazení stačí používat funkci mesh(), protože síť je dostatečně hustá. Jak je patrné z výsledků i severní Atlantik se nám pomalu ohřívá. Kdo za to může?

Obr. 8.3. Maska souší a moří Země. Hodnocení: 3 body. Obr. 8.4. Teplota moře ve 2D.

Bonusová úloha V rámci bonusové úlohy upravte kód příkladu A tak, že transformaci budete definovat jako vlastní funkci. Řešení ověřte na stejných datech, musíte získat shodné výsledky. Kontrolní otázky 8.1) Kam se bude vykreslovat graf při definici: subplot(1,2,2)? 8.2) K čemu slouží příkaz: axis equal? 8.3) K čemu slouží funkce view()u zobrazování grafů jaké má parametry?

Obr. 8.5. Teplota moře ve 3D. Literatura [8.1] DOŇAR, B., ZAPLATÍLEK, K. MATLAB pro začátečníky. Praha: BEN Technická literatura, 2003. [8.2] DOŇAR, B., ZAPLATÍLEK, K. MATLAB začínáme se signály. Praha: BEN Technická literatura, 2006. [8.3] KATTAN, P. I. MATLAB for Beginners. A Gentle Approach. Lousiana: Peter I. Kattan, 2009.