       Slow/jerky animations inside manipulate (more details)

• To: mathgroup at smc.vnet.net
• Subject: [mg100635] Slow/jerky animations inside manipulate (more details)
• From: Porscha Louise McRobbie <pmcrobbi at umich.edu>
• Date: Wed, 10 Jun 2009 05:31:54 -0400 (EDT)

```As several people have kindly pointed out, my first post was a bit too
vague (my first time with Mathgroup). I am adding more specific
details here. Thanks!

------Original post: "Slow/jerky animations inside manipulate" ---------
I have an Animate command (I'm using GraphicsRow to show two
side-by-side synchronized animations) inside of Manipulate. The
resulting animations play very fast and are jerky. I can adjust the
play speed using AnimationRate, but  it must be slowed down by a
ridiculous amount in order to look smooth. I've tried adjusting the
RefreshRate, as wellas making time a slider variable and animating
from within the Manipulate control panel,both with little success.
How can I create smooth animations, appropriate for class demonstrations?
-------------------------------------------------------------------------

My plots are actually simple. I am, however, solving an ODE inside of the
Manipulate/Animate commands. I've played around with the NDSolve
options thinking it might make things faster, but again no success.
Basically I just want two sliders to choose initial conditions for the
ODEs, then animate the results.

Inside Manipulate, I solve the following ODEs, where the initial
conditions q0,p0 are the slider variables:

sols = First@NDSolve[{q'[t] == p[t], p'[t] == 2 A De (Exp[-2 A (q[t] - xe)] -
Exp[-A (q[t] - xe)]), q == q0, p == p0}, {q, p}, {t,0, 100}];

Inside Animate, I have two plots (tp is the animation variable):

1.  Plot solution q(tp) vs. tp, as well as a circle that moves along
as the curve is being traced out:

p1 = Graphics[{ Point[{tp, Evaluate[q[tp] /. sols]}]}];
p2 = Quiet@Plot[Evaluate[q[T1] /. sols], {T1, 0, tp},
PerformanceGoal->"Speed"];
FIRSTplot = Show[p1, p2];

2. Plot a static background curve "Staticplot" (computed outside
Animate), with a circle moving on it. The equation for the background
curve is:

f(q)=De(1+Exp[-2 A (q-xe)]-2 Exp[-A (q-xe)])

The coordinates for Point below are {q,f(q)}.

p7 = Graphics[{Point[{Evaluate[q[tp] /. sols],
De (1 + Exp[-2 A (Evaluate[q[tp] /. sols] - xe)] -
2 Exp[-A (Evaluate[q[tp] /. sols] - xe)]) }]  }];
SECONDplot=Show[Staticplot,p7];
-------------------------------------------------------------------------
Thanks again for any help.

```

• Prev by Date: What should be a simple task....
• Next by Date: Re: perturbation methods example from stephen lynch's book?