![](https://secure.gravatar.com/avatar/ecffc5c1eb6692198d091ee98e921822.jpg?s=120&d=mm&r=g)
Dear Troy, The animations are impressive and thank you for sharing the code. In the creation of many pdf for animation, it changes the recurselevel only. I wonder if there is a way to make such kind of animation in ConTeXt using Wolfgang's animation module. Then we can include the animation in PDF output directly. Here is my trial. I modified it as following and got an animation. But it is only good for a few step animation. %%%%%%%%% \startbuffer[base] N:=64;%\N; u:=136; pair f; c:=2/(1+sqrt(5));%\c; if c<1: f:=(1+-+c,0); v:=u/2; else: f:=(0,1+-+(1/c)); v:=u/c/2; fi; % Focus f is defined path p,q; pair z; picture base; numeric L; p:=fullcircle yscaled c; % This is the ellipse L:=length p; draw p scaled (2*v) withpen pencircle scaled (v/260) dashed evenly; % Draw the ellipse dashed (will be traced later) base:= currentpicture; q:=bbox currentpicture enlarged (v/64); % Enlarge the bounding box slightly q:=(llcorner q+(-v/128,-v/128))--(lrcorner q+(v/128,-v/128))--(urcorner q+(v/128,v/128))--(urcorner q+(-v/128,v/128))--cycle; fill fullcircle scaled (v/32) shifted (f*v) withcolor red; % Focus fill fullcircle scaled (v/32) shifted (-f*v) withcolor red; % Focus base:=currentpicture; % Save this picture to draw in every frame setbounds currentpicture to q; % Set the bounding box as described before \stopbuffer \startbuffer[fig1] % \startMPpage n:=1;%\recurselevel%1; draw base; % Draw the common picture saved above draw subpath (0,(n-1)/(N-1)*L) of p scaled (2*v) withpen pencircle scaled (v/130) withcolor blue; % Trace the ellipse in blue z:=point ((n-1)/(N-1)*L) of p scaled v; % The point on the ellipse where we are thusfar fill fullcircle scaled (v/32) shifted (2*z) withcolor blue; % Draw the point draw (-f*v)--(2*z)--(f*v) withpen pencircle scaled (v/260); % Draw the string used to trace the ellipse setbounds currentpicture to q; % Set the bounding box so that it is the same for each frame % \stopMPpage \stopbuffer \startbuffer[fig2] % \startMPpage n:=2; draw base; % Draw the common picture saved above draw subpath (0,(n-1)/(N-1)*L) of p scaled (2*v) withpen pencircle scaled (v/130) withcolor blue; % Trace the ellipse in blue z:=point ((n-1)/(N-1)*L) of p scaled v; % The point on the ellipse where we are thusfar fill fullcircle scaled (v/32) shifted (2*z) withcolor blue; % Draw the point draw (-f*v)--(2*z)--(f*v) withpen pencircle scaled (v/260); % Draw the string used to trace the ellipse setbounds currentpicture to q; % Set the bounding box so that it is the same for each frame % \stopMPpage \stopbuffer \startbuffer[fig3] % \startMPpage n:=3; draw base; % Draw the common picture saved above draw subpath (0,(n-1)/(N-1)*L) of p scaled (2*v) withpen pencircle scaled (v/130) withcolor blue; % Trace the ellipse in blue z:=point ((n-1)/(N-1)*L) of p scaled v; % The point on the ellipse where we are thusfar fill fullcircle scaled (v/32) shifted (2*z) withcolor blue; % Draw the point draw (-f*v)--(2*z)--(f*v) withpen pencircle scaled (v/260); % Draw the string used to trace the ellipse setbounds currentpicture to q; % Set the bounding box so that it is the same for each frame % \stopMPpage \stopbuffer \setupinteraction[state=start] \usemodule[animation] \starttext \startanimation[menu=yes] {\processMPbuffer[base, fig1]} {\processMPbuffer[base, fig2]} {\processMPbuffer[base, fig3]} \stopanimation \stoptext %%%%%%%%%%%%% I also tried to simplify the code as following, but it just draw 10 figures not an animation. Is there a way to combine them as an animation? Thank you. Best regards, Dalyoung %%%%%%%%%%%%%%%%%%%%%%%%% \startbuffer[base] N:=64;%\N; u:=136; pair f; c:=2/(1+sqrt(5));%\c; if c<1: f:=(1+-+c,0); v:=u/2; else: f:=(0,1+-+(1/c)); v:=u/c/2; fi; % Focus f is defined path p,q; pair z; picture base; numeric L; p:=fullcircle yscaled c; % This is the ellipse L:=length p; draw p scaled (2*v) withpen pencircle scaled (v/260) dashed evenly; % Draw the ellipse dashed (will be traced later) base:= currentpicture; q:=bbox currentpicture enlarged (v/64); % Enlarge the bounding box slightly q:=(llcorner q+(-v/128,-v/128))--(lrcorner q+(v/128,-v/128))--(urcorner q+(v/128,v/128))--(urcorner q+(-v/128,v/128))--cycle; fill fullcircle scaled (v/32) shifted (f*v) withcolor red; % Focus fill fullcircle scaled (v/32) shifted (-f*v) withcolor red; % Focus base:=currentpicture; % Save this picture to draw in every frame setbounds currentpicture to q; % Set the bounding box as described before \stopbuffer \startbuffer[fig1] % \startMPpage n:=\recurselevel; draw base; % Draw the common picture saved above draw subpath (0,(n-1)/(N-1)*L) of p scaled (2*v) withpen pencircle scaled (v/130) withcolor blue; % Trace the ellipse in blue z:=point ((n-1)/(N-1)*L) of p scaled v; % The point on the ellipse where we are thusfar fill fullcircle scaled (v/32) shifted (2*z) withcolor blue; % Draw the point draw (-f*v)--(2*z)--(f*v) withpen pencircle scaled (v/260); % Draw the string used to trace the ellipse setbounds currentpicture to q; % Set the bounding box so that it is the same for each frame % \stopMPpage \stopbuffer \setupinteraction[state=start] \usemodule[animation] \starttext \startanimation[menu=yes] \dorecurse{10}{ {\processMPbuffer[base, fig1]}} %{\processMPbuffer[base, fig2]} %{\processMPbuffer[base, fig3]} \stopanimation \stoptext %%%%%%%