function rim=rotate2(im,angle)

r=(angle/360)*2*pi;

rotmat = [cos(r) sin(r); -sin(r) cos(r)];

invmat = rotmat^(-1);

[rows,cols]=size(im);
xcoords = 1:cols;
ycoords = 1:rows;
xcarray = repmat(xcoords,[rows 1]);
ycarray = repmat(ycoords,[1 cols]);
xcv = xcarray(:);
ycv = ycarray(:);

pairs = [xcv'; ycv'];

oldpairs = invmat*pairs;
oldpairs = round(oldpairs);

oldpairs(oldpairs<1)=1;
oldpairs(oldpairs>rows)=rows;

rim=zeros(rows,cols);

for i=1:size(pairs,2)
  rim(pairs(1,i),pairs(2,i))=im(oldpairs(1,i),oldpairs(2,i));
end

