MATLAB® ( část 6)
3D grafika Spojitý 3D graf - funkce PLOT3 graf má 3 osy x,y,z (2 nezávisle a 1 závisle proměnnou) Příklad 1: t=0:pi/50:10*pi plot3(sin(t),cos(t),t) grid on axis square
3D síťovaný graf – funkce meshgrid, mesh (meshc) Příklad 2: t=0:pi/50:10*pi plot3(t*sin(t),t*cos(t),t) grid on axis square 3D síťovaný graf – funkce meshgrid, mesh (meshc) Kreslí matice jako plochu. Meshc kombinuje síťový a vrstevnicový graf. Příklad: x=-3:0.125:3; % první nezávisle proměnná (osa x) y=x; % druhá nezávisle proměnná (osa y) [X,Y]=meshgrid(x,y); % vytvoření mřížky pro 3D kreslení Z=X .* exp(-X.^2-Y.^2); % definice osy závisle proměnné mesh(Z) % vykreslení 3D grafu (varianta meshc)
plošný graf vybarvený SURF graf nebude síťovaný, ale plošky budou vyplněné a barevně kolorované Příklad: x=-3:0.125:3; % první nezávisle proměnná (osa x) y=x; % druhá nezávisle proměnná (osa y) [X,Y]=meshgrid(x,y); % vytvoření mřížky pro 3D kreslení Z=X .* exp(-X.^2-Y.^2); % definice osy závisle proměnné surf(Z)
Gradientní graf Pomocí funkce quiver lze kreslit vektory specifikované pomocí px a py v bodech o souřadnicích v proměnných x a y. výs- ledkem povelu gradient jsou matice px a py, které odpovídají diferencím ve směru os x a y. (Vykreslení rychlostních trendů, vektorů intenzit elektrických a magnetických polí apod.) Příklad: x=-2:.2:2; y=-1:.2:1; [xx,yy]=meshgrid(x,y); zz=xx .* exp(-xx.^2 - yy.^2); [px,py]=gradient(zz,.2,.2); quiver(x,y,px,py,2);
Příklad (na současné použití příkazů CONTOUR a QUIVER): [X,Y]=meshgrid(-2:.2:2); Z=X.*exp(-X.^2-Y.^2); [DX,DY]=gradient(Z,.2,.2); contour(X,Y,Z); hold on quiver(X,Y,DX,DY); colormap hsv; grid off; hold off
Plátkový graf slice Plátkový graf slice(X,Y,Z,V,Sx,Sy,Sz) kreslí plátky (slices) podél os x , y a z v bodech , jež jsou definovány ve vektorech Sx,Sy a Sz. Pole X,Y a Z jsou transformována funkcí meshgrid. Symbol V určuje prostor v němž jsou defi- novány datové hodnoty X , Y a Z. Příklad: [x,y,z]=meshgrid(-2:.2:2, -2:.2:2, -2:.2:2); v=x.*exp(-x.^2-y.^2-z.^2); slice(v,[5 15 21],21,[1 10]); axis([0 21 0 21 0 21]); colormap jet;
příkaz VIEW(azimut,elevace) - slouží ke změně úhlů pohledů na 3D obrázek. Má 2 parametry – úhly azimut a elevaci Implicitní nastavení je: azimut=-37,5o elevace=+30o
Změna barevné škály grafu Příklad: x=-3:0.125:3; % první nezávisle proměnná (osa x) y=x; % druhá nezávisle proměnná (osa y) [X,Y]=meshgrid(x,y); % vytvoření mřížky pro 3D kreslení Z=X .* exp(-X.^2-Y.^2); % definice osy závisle proměnné surf(Z); view(-17.5 , 50) Změna barevné škály grafu colormap(<barevné schéma>) kde jako schéma může být uvedeno: ‘default’ hsv , cool , hot , gray, hot , copper , summer, winter, ... viz help colormap