function clown_map(kmx) t1 = 2*pi*(0:199)/199; t2 = 2*pi*(0:319)/319; load clown [P,Q] = meshgrid(t2,t1); Z = 0*sin(Q); Cdat = flipud(X); figure(1); clf; surface(P,Q,Z,Cdat,'EdgeColor','none') axis equal; colormap(map); M = [ 2 1; 1 1]; [n1,n2] = size(Z); Mt = M^kmx; for i = 1:n1 for j = 1:n2 x1 = [(i-1)/(n1-1) (j-1)/(n2-1)]*Mt(:,1); x2 = [(i-1)/(n1-1) (j-1)/(n2-1)]*Mt(:,2); k1 = floor(n1*mod(x1,1))+1; k2 = floor(n2*mod(x2,1))+1; tmp(i,j) = Cdat(k1,k2); end end Cdat = tmp; figure(2); clf; surface(P,Q,Z,Cdat,'EdgeColor','none') axis equal; colormap(map);