function [x1,y1,x2,y2]=przemieszczenia(X1,Y1,X2,Y2)

% program laczy punkty 1 i 2 w ten sposob, zeby tworzyly przemieszczenia czastek

    maxmov=20; %maksymalne przesuniecie czastek

  
    
    L1=length(X1);
    L2=length(X2);

    XX1=X1(ones(1,L2),:);
    YY1=Y1(ones(1,L2),:);

    XX2=X2(ones(L1,1),:)';
    YY2=Y2(ones(L1,1),:)';

    % obliczamy dlugosc wszystkich potencjalnych przemieszczen
    R=sqrt( (XX1-XX2).^2 + (YY1-YY2).^2 );

    x1=[];
    y1=[];
    x2=[];
    y2=[];

    while sum(R(:)<=maxmov)>0
     %znajdujemy najmniejsza odleglosc
        [n,m]=find(R==min(R(:)));

	% tworzymy uporzadkowane wektory polozen
        x1=[x1,X1(m(1))];
        y1=[y1,Y1(m(1))];
	x2=[x2,X2(n(1))];
	y2=[y2,Y2(n(1))];

        R(:,m(1))=maxmov+1;
        R(n(1),:)=maxmov+1;



    end
