function II = cisaillver(I,a); 
    [m,n]=size(I); 
    if a>0 then
        N = m + ceil(a*(n-1)); II = zeros(N,n); 
        for j=1:N
            for k=1:n
                uu = j-1-a*(k-1); 
                if uu*(uu-(m-1))>0 then II(j,k)=0; 
                else
                    uinf=floor(uu)+1; usup=ceil(uu)+1;
                    Iaux1 = I(uinf,k); Iaux2 = I(usup,k); 
                    t = uu - floor(uu); 
                    II(j,k) = (1-t)*Iaux1+t*Iaux2;   
                end
            end
        end
    elseif a==0 II=I; 
    else
        N = m -ceil(a*(n-1)); II=zeros(N,n); 
        for j=1:N
            for k=1:n
                uu = j-1 + ceil(a*(n-1))-a*(k-1); 
                if uu*(uu-(m-1))>0 then II(j,k)=0; 
                else
                    uinf=floor(uu)+1; usup=ceil(uu)+1; 
                    Iaux1 = I(uinf,k); Iaux2 = I(usup,k); 
                    t = uu - floor(uu); 
                    II(j,k) = (1-t)*Iaux1 + t*Iaux2;                     
                end
            end
        end         
    end
endfunction
