Thanks Hans that also works great. Speed wise their is not much difference between your method and Wolfgang's. It's good to have more than one solution.

Thanks again
Keith

On 31/12/2025 12:42, Hans Hagen via ntg-context wrote:
On 12/31/2025 12:38 PM, Keith McKay wrote:
Hi all,

The following example creates a unitcircle scaled to the \recurselevel value on each MPpage.

\starttext
\dostepwiserecurse{1}{80}{1}{
\startMPpage
     path a;
     a := unitsquare xyscaled(80,80) ;
     draw a;
     draw unitcircle xyscaled(\recurselevel , \recurselevel);
\stopMPpage
}
\dostepwiserecurse{79}{2}{-1}{
\startMPpage
     path a;
     a := unitsquare xyscaled(80,80) ;
     draw a;
     draw unitcircle xyscaled(\recurselevel , \recurselevel);
\stopMPpage
}
\stoptext

If you run this and scan through pages, the circle starts at 1 and increases to 80 and then decreases from 79 to 2. I use the pdf to create a mp4 movie showing the circle increasing and decreasing when I replay it as a loop. You can download the file here:

https://1drv.ms/v/c/de5fffb8e01e255b/ IQCLuQ9bYQovSIaOc7S5vc8_AQnAfqudRCjr_PC_pT6Rgx8?e=fuq9AS

However if my graphic is complicated, compilation time will increase by quite a bit. So I was thinking that when the circle is decreasing I have already calculated those MPpages as the circle was increasing so could I not reuse those MPpages to create the following sequence of MPpages?

1, 2, 3, ... 78, 79, 80, 79, 78, ...3, 2

i.e I have reused the MPpages 79 to 2 which would loop in a movie when played back.

I though I could make a copy the pdf file then add MPpages from the original file  to create the sequence of MPpages above. I've had a look through the merging pdf files manual and it suggests using:

\externalfigure[myfile.pdf][page=4]

but that doesn't seem to work with MPpages since it adds the pdf page as a text page. Any hints on how I can solve this?

If it's the same graphic but just scaled,

\starttext
     \startreusableMPgraphic{keith}
         draw unitcircle xyscaled(10,10);
     \stopreusableMPgraphic
     \dostepwiserecurse{1}{80}{1}{
         \startTEXpage[width=80mm,height=80mm]
             \vfill
             \scale[width=#1mm]{\reuseMPgraphic{keith}}
         \stopTEXpage
     }
     \dostepwiserecurse{79}{2}{-1}{
         \startTEXpage[width=80mm,height=80mm]
             \vfill
             \scale[width=#1mm]{\reuseMPgraphic{keith}}
         \stopTEXpage
     }
\stoptext

Otherwise look at the other posted solutions.

Hans


-----------------------------------------------------------------
                                           Hans Hagen | PRAGMA ADE
               Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
        tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
-----------------------------------------------------------------
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : [email protected] / https://mailman.ntg.nl/mailman3/lists/ ntg-context.ntg.nl
webpage  : https://www.pragma-ade.nl / https://context.aanhet.net (mirror)
archive  : https://github.com/contextgarden/context
wiki     : https://wiki.contextgarden.net
___________________________________________________________________________________

___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : [email protected] / 
https://mailman.ntg.nl/mailman3/lists/ntg-context.ntg.nl
webpage  : https://www.pragma-ade.nl / https://context.aanhet.net (mirror)
archive  : https://github.com/contextgarden/context
wiki     : https://wiki.contextgarden.net
___________________________________________________________________________________

Reply via email to