function [uzly,prvky,ID,IN,hrany,okrajoveHrany] = diskretizuj_obdelnik(a,b,h)

nx = floor(a/h);
ny = floor(b/h);
hx = a/nx;
hy = b/ny;

n = (nx+1)*(ny+1);
m = nx*ny*2;

uzly = zeros(2,n);
prvky = zeros(3,m);
ID = [];
IN = [];

hrany = [];
okrajoveHrany = [];

idx_uzly = 1;
idx_prvky = 1;

for i=0:nx
    x = i*hx;
    
    for j=0:ny
        y = j*hy;
        
        uzly(:,idx_uzly) = [x;y];
        
        if i<nx && j<ny
            hrany = [ hrany , [idx_uzly;idx_uzly+nx+1] , [idx_uzly;idx_uzly+nx+2] , [idx_uzly;idx_uzly+1] ];
            if i==0
                okrajoveHrany = [ okrajoveHrany , size(hrany,2) ];
            end
            if j==0
                okrajoveHrany = [ okrajoveHrany , size(hrany,2)-2 ];
            end
        end        
        if i<nx && j==ny
            hrany = [ hrany , [idx_uzly;idx_uzly+nx+1] ];
            okrajoveHrany = [ okrajoveHrany , size(hrany,2) ];
        end
        if i==nx && j<ny
            hrany = [ hrany , [idx_uzly;idx_uzly+1] ];
            okrajoveHrany = [ okrajoveHrany , size(hrany,2) ];
        end
        
        if i>0 && j>0
            idx1 = idx_uzly-(ny+1)-1;
            idx2 = idx1+1;
            idx3 = idx_uzly-1;
            idx4 = idx_uzly;
            prvky(:,idx_prvky) = [ idx1 ; idx3 ; idx4 ];
            prvky(:,idx_prvky+1) = [ idx1 ; idx4 ; idx2 ];
            idx_prvky = idx_prvky+2;           
        end
        
        if i==0 || j==0 || i==nx || j==ny
            ID = [ ID , idx_uzly];
        end

        idx_uzly = idx_uzly + 1;
        
    end    
end