[Date Index]
[Thread Index]
[Author Index]
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
djmp at earthlink.net
http://home.earthlink.net/~djmp/
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**
Next by thread:
**sort**
| |