function plosny_graf_stinovani_2
% vykresleni prubehu funkci z = cos(x.^2+y.^2)
% pro x,y z intervalu od -1 do 1.
% trirozmerny graf (plosny), ruzne typy stinovani
while(1)
    p=input('Zadej pocet prvku na osach: ');
    if((p>=5)&&(p<=50))
        break;
    end
end
x=linspace(-1,1,p); % pocet bodu na ose x  
y=linspace(-1,1,p); % pocet bodu na ose y 
[X,Y]=meshgrid(x,y); % vytvoreni pomocnych matic X, Y
Z = cos(X.^2+Y.^2); % vypocet matice funkcnich hodnot Z (pouzita operace ./)

subplot(2,2,1); % rozdeleni grafickeho okna na 4 casti (nasledujici graf v 1. casti)
mesh(x,y,Z) % vykresleni prostoroveho plosneho grafu (drateny model)

subplot(2,2,2); % rozdeleni grafickeho okna na 4 casti (nasledujici graf v 2. casti)
surf(x,y,Z) % vykresleni prostoroveho plosneho grafu (stinovany model)
shading interp % interpolacni zpusob stinovani

subplot(2,2,3); % rozdeleni grafickeho okna na 4 casti (nasledujici graf v 3. casti)
surf(x,y,Z) % vykresleni prostoroveho plosneho grafu (stinovany model)
shading flat % stinovani po castech, jednotlive casti plochy grafu maji urcitou konstantni barvu 

subplot(2,2,4); % rozdeleni grafickeho okna na 4 casti (nasledujici graf v 4. casti)
surf(x,y,Z) % vykresleni prostoroveho plosneho grafu (stinovany model)
shading faceted % stinovani jako flat, plochy jsou oddeleny cernymi carami
end