RE: RE: animation
- To: mathgroup at smc.vnet.net
- Subject: [mg46548] RE: [mg45111] RE: [mg45073] animation
- From: "Ingolf Dahl" <ingolf.dahl at telia.com>
- Date: Mon, 23 Feb 2004 02:15:39 -0500 (EST)
- Sender: owner-wri-mathgroup at wolfram.com
In my series "Old questions, new answers" I want to show another way to do
animation to a closed group, avoiding showing all rendered cells. Try this:
plotlist =
Table[Show[
Plot[Sin[x], {x, 0., i*2\[Pi]/36.}, PlotRange -> {{0, 7}, {-1, 1}},
DisplayFunction -> Identity],
ListPlot[{{i*2\[Pi]/36., Sin[i*2\[Pi]/36.]}},
PlotStyle -> {PointSize[0.03], RGBColor[1, 0, 0]},
PlotRange -> {{0, 7}, {-1.1, 1.1}},
DisplayFunction -> Identity]], {i, 1, 36}];
plotlist = Prepend[plotlist, plotlist[[36]]];
AnimateToClosedGroup[graphicslist_,
animationdisplaytime_] := (NotebookWrite[EvaluationNotebook[],
CellGroupData[
Table[Cell[
GraphicsData["PostScript", DisplayString[graphicslist[[i]]]],
"Graphics"], {i, Length[graphicslist]}], Closed ], After];
SelectionMove[EvaluationNotebook[], Previous, CellGroup];
SelectionAnimate[EvaluationNotebook[] ,
Length[graphicslist]*animationdisplaytime,
AnimationDisplayTime -> animationdisplaytime])
AnimateToClosedGroup[plotlist, 0.15]
Plotlist can of course be replaced by any list of graphics.
Best regards
Ingolf Dahl
Sweden
>-----Original Message-----
>From: David Park [mailto:djmp at earthlink.net]
To: mathgroup at smc.vnet.net
>Sent: Wednesday, December 17, 2003 13:54
>To: mathgroup at smc.vnet.net
>Subject: [mg46548] [mg45111] RE: [mg45073] animation
>
>
>Luiza,
>
>You could avoid the For loop my using...
>
>Needs["Graphics`Animation`"]
>
>Animate[ListPlot[...i ...], {i, 1, n, 1}]
>SelectionMove[EvaluationNotebook[], All, GeneratedCell]
>FrontEndTokenExecute["OpenCloseGroup"]; Pause[0.5];
>FrontEndExecute[{FrontEnd`SelectionAnimate[200,
>AnimationDisplayTime -> 0.1,
> AnimationDirection -> Forward]}]
>
>You can't directly avoid rendering all the frames. (Actually you
>could use a
>scheme like Ingolf Dahl posted yesterday but that only runs the animation
>once and provides no controls.)
>
>The additional statements above will select the frames, close them up and
>start the animation. The 200 is the number of seconds to run the animation.
>(If you are using DrawGraphics you can click the statements in from the
>DrawGraphicsPalette.)
>
>A good way to view animations is by using the arrow keys. arrow up
>and arrow
>down advance one frame at a time. arrow left and arrow right start the
>animation in each direction. The keys on the number pad will control the
>speed. "p" will pause the animation. "c" will run the animation in
>forward-backward mode.
>
>David Park
>djmp at earthlink.net
>http://home.earthlink.net/~djmp/
>
>From: M.L. Bondar [mailto:mbondar at win.tue.nl]
To: mathgroup at smc.vnet.net
>To: mathgroup at smc.vnet.net
>
>
>I have the following problem with Mathematica.
>
>
> I need to make an animation and I use For[i=1, i<=n ListPlot[.....]; i++]
> which creates n plots. After that I double click on the grouping bracket
>to the right of the plots to close the group and animate it.
>
>Is there any possibility to make the animation avoiding the ploting of
>all n plots?
>
>Thank you in advance.
>
>Regards,
>
>Luiza Bondar
>
>
>