MathGroup Archive 2001

[Date Index] [Thread Index] [Author Index]

Search the Archive

RE: parametric plots


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


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]

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},

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
4) Add a Text statement giving the value of the parameter.

frame[t_] :=
      DrawGraphics[ParametricPlot[Evaluate[curve[s]], {s, 0, 2 Pi}]], Black,
      AbsolutePointSize[4], Point[curve[0]],
      DrawGraphics[ParametricPlot[Evaluate[curve[s]], {s, -0.0001, t}]],
      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]

David Park
djmp at

 From: richard speers [mailto:rspeers at]
To: mathgroup at
> 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
  • Next by thread: sort