Slovník | Vyhledávání | Mapa webu
 
Základy informatiky pro biologyVýpočetní matematické systémy Jak pracovat s MATLABem Práce s grafikou 3D grafika

Logo Matematická biologie

3D grafika

Pro kreslení grafů funkcí dvou proměnných můžeme použít základní funkce:

mesh(X, Y, Z)

vytvoří 3D síťovaný graf

surf(X, Y, Z)

vytvoří 3D síťovaný graf s barevně vyplněnými ploškami

Parametry X a Y jsou jsou matice nezávislých proměnných, třetí parametr Y obsahuje matici funkčních hodnot. V případě vynechání nezávislých proměnných je graf indexován rozměry matice Z

Pro snadnější vytváření dvojrozměrných grafů slouží funkce meshgrid(), která vytvoří z jednorozměrných vektorů nezávislých proměnných dvourozměrné sítě vhodné pro definování grafu dané funkce. Použitím [X, Y] = meshgrid(x, y) vytvoříme z vektorů x a y síť bodů, jejíž souřadnice jsou uloženy v maticích X a Y.

x = 0:0.05:1;
 y = 0:0.05:1;
 [X, Y] = meshgrid(x, y);
 Z = sin(pi*(X+Y));  
 výpočet funkčních hodnot. POZOR! Je nutno počítat s maticemi X a Y, ne s vektory x a y!
 mesh(X, Y, Z)    vykreslení síťovaný graf funkce sin((x + y)) pro x, y [0, 1] (obr. Jak pracovat s MATLABem 13)
 surf(X, Y, Z)    vykreslení síťovaný graf s vyplněnými ploškami pro funkci sin((x + y)), x, y [0, 1] (obr. Jak pracovat s MATLABem 14)
 
Obr. 13. Výstup funkce mesh(X, Y, Z).
 
Obr. 14. Výstup funkce surf(X, Y, Z).

Vykreslené graf obsahují celou škálu barev podle funkčních hodnot v jednotlivých bodech. Barevnou stupnici tohoto škálování lze při okraji grafu zobrazit příkazem colorbar.

Úhel pohledu na trojrozměrný obrázek lze nastavit funkcí view(az, el). Parametr az udává azimut v rovině nezávislých proměnných, tj. otočení ve stupních kolem osy z; kladné hodnoty udávají otočení proti směru hodinových ručiček. Parametr el udává tzv. elevaci, což je úhel směru pohledu s rovinou nezávislých proměnných. Implicitně je nastaven azimut -37.5° a elevace 30°.

V MATLABu je od verze 5.3 možné nastavovat úhel pohledu pomocí myši přímo v obrázku volbou v panelu nástrojů (na obr. Jak pracovat s MATLABem 15 vyznačeno červeně). Podobně lze výběrem položky v menu obrázku nastavovat i vlastnosti dvojrozměrných grafů.

 surf(X, Y, Z)
 colorbar
 view(16, 12)
Obr. 15. Zobrazení stupnice škálování barev a natočení grafu.

Pro vykreslování křivek v 3D prostoru se používá funkce plot3(x, y, z), jejíž vstupními argumenty jsou vektory x, y a z stejných rozměrů. Pokud by vstupními argumenty byly matice, funkce by vykreslila křivky postupně pro sloupce těchto matic.

 t = 0:pi/50:10*pi;
 plot3(sin(t), cos(t), t)
   vykreslí křivku v prostoru (obr. Jak pracovat s MATLABem 16)
Obr. 16. Výstup funkce plot3(sin(t),cos(t),t).

Dalšími užitečnými funkcemi pro tvorbu 3D grafiky mohou být např. funkce contour() (vrstevnicový graf), meshc() (síťovaný graf doplněný vrstevnicemi), waterfall() (podobný síťovanému grafu, dělající iluzi vodopádu), quiver() (vektorové pole), apod.

 
vytvořil Institut biostatistiky a analýz Lékařské fakulty Masarykovy univerzity