Mathematica 9 is now available
Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2012

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

Search the Archive

Animating a 3D Plot

  • To: mathgroup at smc.vnet.net
  • Subject: [mg128707] Animating a 3D Plot
  • From: Hugh Goyder <h.g.d.goyder at cranfield.ac.uk>
  • Date: Mon, 19 Nov 2012 04:08:17 -0500 (EST)
  • Delivered-to: l-mathgroup@mail-archive0.wolfram.com
  • Delivered-to: l-mathgroup@wolfram.com
  • Delivered-to: mathgroup-newout@smc.vnet.net
  • Delivered-to: mathgroup-newsend@smc.vnet.net

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



  • Prev by Date: Re: Subscript on plus expression
  • Next by Date: Re: Removing rows from a table
  • Previous by thread: Re: Subscript on plus expression
  • Next by thread: Re: Animating a 3D Plot