MathMap Animation Examples

These are examples of the animation capabilities of MathMap. The source of all but the last animation is an image of Elisa Bridges (US Playmate of the Month December 1994). All the expressions creating these animations are included in the plug-in.
The original image:

filter wave (image in)
    in(xy + xy:[sin(y/6+t*2*pi), sin(x/6+t*2*pi)] * 3)
end
Animated GIF
filter mercator (image in)
    in(xy * xy:[cos(pi/2/Y*y+t*2*pi), 1])
end
Animated GIF
filter enhancedpond (image in)
    in(ra + ra:[(sin(deg2rad(500000/(r+100))+t*2*pi)*7), 0])
end
Animated GIF
filter sea2 (image in)
    in(xy + xy:[0, 5*sin(t*2*pi+20*Y*(-y+Y+60)^-1)])
end
Animated GIF
filter spiral (image in)
    q = sin((r-a*6)/6+t*2*pi)*0.5+0.5;
    in(xy) * rgba:[q,q,q,1]
end
Animated GIF
# Thanks to Herbert Poetzl
filter sphere (image in)
    rd=0.9*min(X,Y);
    if r>rd then
        rgba:[0,0,0,1]
    else
        alpha=-(5/3)*pi; beta=(1/3)*pi; gamma=t*pi*2;
        sa=sin(alpha);
        sb=sin(beta);
        ca=cos(alpha);
        cb=cos(beta);
        theta=a;
        phi=acos(r/rd);
        x0=cos(theta)*cos(phi);
        y0=sin(theta)*cos(phi);
        z0=sin(phi);
        x1=ca*x0+sa*y0;
        z1=-sa*-sb*x0+ca*-sb*y0+cb*z0;
        if z1 >= 0 || 1 then
            y1=cb*-sa*x0+cb*ca*y0+sb*z0
        else
            z1=z1-2*cb*z0;
            y1=cb*-sa*x0+cb*ca*y0-sb*z0
        end;
        theta1=atan(-x1/y1)+(if y1>0 then pi/2 else 3*pi/2 end);
        phi1=asin(z1);
        in(xy:[((theta1*2+gamma)%(pi*2)-pi)/pi*X,-phi1/(pi/2)*Y])
    end
end
Animated GIF
filter moire1 (image in)
    q=t*2*pi;
    abs(rgba:[sin(r/4+q)+sin(15*a+q),sin(r/3.5+q)+sin(17*a+q),sin(r/3+q)+sin(19*a+q),2])*0.5
end
Animated GIF
Two other examples of animations generated with MathMap can be found at Laurent Despeyroux's GIMP page.