Search All of the Math Forum:

Views expressed in these public forums are not endorsed by NCTM or The Math Forum.

Topic: Animating a 3D Plot
Replies: 2   Last Post: Nov 19, 2012 7:19 PM

 Messages: [ Previous | Next ]
 Goyder Dr HGD Posts: 59 Registered: 1/29/05
Animating a 3D Plot
Posted: Nov 19, 2012 5:06 PM

Below I show three attempts to animate a 3 D Plot. 1. The Dynamic simplifies the plot while the animation is running spoiling the quality. 2. To avoid this I do a ListAnimate which works. 3. However, when I try to alter one of the parameters dynamically I am back to the problem of oversimplification
of the plot. Any ideas to make this work?
Thanks Hugh Goyder

Animate[
With[{sf = 0.3, n = 4},
ParametricPlot3D[
a = Cos[t] Cos[th] Sin[n 2 Pi x]; {x, Cos[th] + sf a Cos[th],
Sin[th] + sf a Sin[th]}, {x, 0, 1}, {th, -Pi, Pi},
PlotRange -> {All, {-2, 2}, {-2, 2}}, BoxRatios -> {10, 2, 2},
PlotPoints -> 3, ImageSize -> 10 72]
],
{t, 0, 2 Pi},
DisplayAllSteps -> True]

dd = Table[With[{sf = 0.3},
ParametricPlot3D[
a = Cos[t] Cos[th] Sin[Pi x]; {x, Cos[th] + sf a Cos[th],
Sin[th] + sf a Sin[th]}, {x, 0, 4}, {th, -Pi, Pi},
PlotRange -> {All, {-2, 2}, {-2, 2}}, BoxRatios -> {10, 2, 2},
ImageSize -> 10 72, PlotPoints -> 3]
], {t, 0, 2 Pi, Pi/16}]; ListAnimate[dd]

DynamicModule[{n = 5, dd, t = 1, sf = 0.3},

dd[n_] := Table[
ParametricPlot3D[
a = Cos[t] Cos[th] Sin[n 2 Pi x]; {x, Cos[th] + sf a Cos[th],
Sin[th] + sf a Sin[th]}, {x, 0, 1}, {th, -Pi, Pi},
PlotRange -> {All, {-2, 2}, {-2, 2}}, BoxRatios -> {10, 2, 2},
ImageSize -> 10 72, PlotPoints -> 5]
, {t, 0., 2. Pi, Pi/16.}];
Column[{
Row[{"Number of longitudinal waves = ",
Slider[Dynamic[n], {0, 10, 1}], Dynamic[n]}],

Animator[Dynamic[t], {1, 33, 1}],
Dynamic[dd[n][[t]]]
}]
]

Date Subject Author
11/19/12 Goyder Dr HGD
11/19/12 Nasser Abbasi
11/19/12 Peter Pein