RE: parametric plots

• To: mathgroup at smc.vnet.net
• Subject: [mg30008] RE: [mg29969] parametric plots
• From: "David Park" <djmp at earthlink.net>
• Date: Sat, 21 Jul 2001 00:49:15 -0400 (EDT)
• Sender: owner-wri-mathgroup at wolfram.com

```Richard,

Here is a short method to animate a ParametricPlot for the example of an
ellipse.

Needs["Graphics`Animation`"]
Needs["Graphics`Colors`"]

curve[t_] := {4Cos[t], 2Sin[t]}

frame[t_] :=
ParametricPlot[curve[s] // Evaluate, {s, -0.00001, t}, Frame -> True,
PlotRange -> {{-4.5, 4.5}, {-2.2, 2.2}}]

Animate[frame[t], {t, 0, 2 Pi}]
SelectionMove[EvaluationNotebook[], All, GeneratedCell]
FrontEndTokenExecute["OpenCloseGroup"]
FrontEndTokenExecute["SelectionAnimate"]

Some observations:
1) We have to explicitly specify the PlotRange so that the same one will be
used for each frame.
2) I started drawing the curve at a slightly negative value so that t = 0
will not generate an error message.
3) The extra statements after Animate are just a convenient method to
select, close up, and activate the animation cells.

Here is a way to make a fancier animation. It uses several routines I
mentioned a week or so ago on MathGroup, which I repeat here.

Attributes[DrawGraphics] = {HoldAll};
DrawGraphics[plot_] :=
Block[{\$DisplayFunction = Identity},
First[Graphics[plot]]]

Draw2D[primitives_List, opts___?OptionQ] := Show[Graphics[primitives], opts]

Now in each frame I:
1) Draw the full curve in Pink on a Linen background.
2) Draw the partial curve in Black.
3) Put a Black point at the start and a Red point at the end of the partial
curve.
4) Add a Text statement giving the value of the parameter.

frame[t_] :=
Draw2D[{Pink,
DrawGraphics[ParametricPlot[Evaluate[curve[s]], {s, 0, 2 Pi}]], Black,
AbsolutePointSize[4], Point[curve[0]],
DrawGraphics[ParametricPlot[Evaluate[curve[s]], {s, -0.0001, t}]],
Red,
Point[curve[t]], Black,
Text["t = " NumberForm[N[t], {3, 2}], Scaled[{0.1, 0.1}], {-1, 0}]},
Frame -> True, PlotRange -> {{-4.5, 4.5}, {-2.8, 2.2}},
Background -> Linen, PlotLabel -> "ParametricPlot Animation",
ImageSize -> 500]

Animate[frame[t], {t, 0, 2Pi}, Frames -> 40]
SelectionMove[EvaluationNotebook[], All, GeneratedCell]
FrontEndTokenExecute["OpenCloseGroup"]
FrontEndTokenExecute["SelectionAnimate"

David Park

From: richard speers [mailto:rspeers at skidmore.edu]
To: mathgroup at smc.vnet.net
>
> This one is easy, I know, but I can't do it.  For classroom use I want
> to be able to watch a  parametric curve being drawn.
>
> Thanks.
>
> R. Speers
>
>

```

• Prev by Date: Re: RE: notation help: f(x) = (sin x)^(1/3)
• Next by Date: Re: [Q] Generalized Partitions
• Previous by thread: Re: parametric plots