function [Uzly,Trojuhelniky,HranicniUzly,Oblasti] = diskretizace_elektrostatika_MKP(h)

% [Uzly,Trojuhelniky,HranicniUzly,Oblasti] = diskretizace_elektrostatika_MKP(h)
%       uvazujeme oblasti Omega := (-7,7)x(-5,5), Omegar = (-1,1)x(-1,1),
%                         Omega- := (-4,-2)x(-3,3), Omega+ := (2,4)x(-3,3)
%       h znaci krok diskretizace, tj. delku hrany trojuhelniku.

sirkaOmega = 28 %14; %28;
vyskaOmega = 20 %10; %20;

m1 = sirkaOmega/h;
m2 = vyskaOmega/h;
m = 2*m1*m2;        % pocet trojuhelniku

n1 = m1+1;
n2 = m2+1;
n = n1*n2;          % pocet uzlu

sirkaOmegar = 2;
vyskaOmegar = 2;

sirkaOmegaq = 2;
vyskaOmegaq = 6;
x1OmegaPlus = 3;

Uzly = zeros(2,n);
Trojuhelniky = zeros(3,m);
HranicniUzly = zeros(1,2*n1+2*n2-4);
Oblasti = zeros(1,m);

x1 = -sirkaOmega/2:h:sirkaOmega/2;
x2 = -vyskaOmega/2:h:vyskaOmega/2;

idxUzly = 1;
idxTrojuhelniky = 1;
idxHranice = 1;

for i1=1:n1
    for i2=1:n2
        
        Uzly(:,idxUzly) = [x1(i1);x2(i2)];
        
        if i1<n1 && i2<n2
            Trojuhelniky(:,idxTrojuhelniky) = [idxUzly;idxUzly+n2;idxUzly+n2+1];
            Trojuhelniky(:,idxTrojuhelniky+1) = [idxUzly;idxUzly+n2+1;idxUzly+1];
            
            if x1(i1)>=-4 && x1(i1)<-2 && x2(i2)>=-3 && x2(i2)<3
                Oblasti(idxTrojuhelniky) = 2;
                Oblasti(idxTrojuhelniky+1) = 2;
            elseif x1(i1)>=2 && x1(i1)<4 && x2(i2)>=-3 && x2(i2)<3
                Oblasti(idxTrojuhelniky) = 3;
                Oblasti(idxTrojuhelniky+1) = 3;
            elseif x1(i1)>=-1 && x1(i1)<1 && x2(i2)>=-1 && x2(i2)<1
                Oblasti(idxTrojuhelniky) = 1;
                Oblasti(idxTrojuhelniky+1) = 1;
            else
                Oblasti(idxTrojuhelniky) = 0;
                Oblasti(idxTrojuhelniky+1) = 0;
            end
            
            idxTrojuhelniky = idxTrojuhelniky+2;
        end
        
        if (i1==1 && i2<n2) || (i1==n1 && i2<n2) || (i2==1 && i1>1 && i1<n1) || (i2==n2)
            HranicniUzly(idxHranice) = idxUzly;
            idxHranice = idxHranice+1;
        end
        
        idxUzly = idxUzly+1;
        
    end
end
        
        