% "Arnold's cat", eqm, rev. 7nov'20
% El estiramiento y plegado de la cara de Lenna produce un campo 
% homogeneo, pero a veces algunos puntos vuelven cerca de sus puntos 
% iniciales y provocan la reaparicion de la imagen
%---------------------------------------------------------------------
image = imread('image.jpg');
imageFilter = image;
sizeIMG = size(image,1);
transformation = [2,1;1,1];
count = 0;
imshow(imageFilter,'Border','tight');
pause()
for i = 1:314
    image = imageFilter;
    for x = 0: sizeIMG-1
        for y = 0:sizeIMG-1
            punto = [x,y];
            newPoint = punto*transformation;
            newPoint = mod(newPoint,sizeIMG); 
            imageFilter(-newPoint(2)+sizeIMG, newPoint(1)+1,:) = image(-punto(2)+sizeIMG, punto(1)+1,:);
        end
    end
    imshow(imageFilter,'Border','tight');
    count = count + 1;
    count
    if(count==157) pause(); end
end