MathGroup Archive 2007

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

Search the Archive

Re: Manipulate a VectorFieldPlot3D

  • To: mathgroup at smc.vnet.net
  • Subject: [mg80652] Re: Manipulate a VectorFieldPlot3D
  • From: Mathieu G <ellocomateo at free.fr>
  • Date: Tue, 28 Aug 2007 02:09:27 -0400 (EDT)
  • References: <faj4u1$8rp$1@smc.vnet.net> <fajnd3$pg7$1@smc.vnet.net>

Albert a =E9crit :
> Hi,
>
>> I would like to 3D plot two time dependent fields E and B.
>> I have two questions about the current state of my notebook:
>>
>>  Why the options Axes and AxesLabel produce an error, while producing
>> the expected behaviour (adding the axes label!)
>>
>>  How can I have a Manipulate object that would allow me to scan over t=
ime?
>
> The following code works for me. Since the generation of the plots is
> somewhat lengthy I used the option ContinousAction->False for
> Manipulate. As has already been explained in this group thath it seems
> to be the best approach to define functions of the variables you want t=
o
> Manipulate. This way there is no need for explicit usage of Dynamic
> anywhere...
>
> Clear["Global`*"]
> <<PhysicalConstants`
> Needs["VectorFieldPlots`"]
> c=299792458;(*SpeedOfLight*)
> \[Mu]=\[Pi]/2500000;(*VacuumPermeability*)
> \[Epsilon]=8.854187817`*^-12;(*VacuumPermittivity*)
> \[Omega]=1;(*Angular speed*)
> p=1;(*Unit dipole moment*)
> k=\[Omega]/c;(*Norm of the wave vector*)
> r=Norm[{x,y,z}];(*Norm of the position vector*)
> a=10;
> Ex[t_]=(y^2+z^2) Cos[\[Omega] t-k r]-x y Sin[\[Omega] t-k r];
> Ey[t_]=(x^2+z^2) Sin[\[Omega] t-k r]-x y Cos[\[Omega] t-k r];
> Ez[t_]=z (x Cos[\[Omega] t-k r]+y Sin[\[Omega] t-k r]);
> Bx[t_]=-z Sin[\[Omega] t-k r];
> By[t_]=z Cos[\[Omega] t-k r];
> Bz[t_]=x Sin[\[Omega] t-k r]-y Cos[\[Omega] t-k r];
> Manipulate[
> Column[{
> Row[{"time = ",t}],
> Row[{
> Show[
> VectorFieldPlot3D[(\[Omega]^2 p/4 \[Pi] \[Epsilon] c^2 r^3)
> {Ex[t],Ey[t],Ez[t]},{x,-a,a},{y,-a,a},{z,-a,a},VectorHeads->True],
> Axes->True,AxesLabel->{x,y,z},PlotLabel->"E",ImageSize->300
> ],
> Show[
> VectorFieldPlot3D[(\[Mu] \[Omega]^2 p/4 \[Pi] c r^2)
> {Bx[t],By[t],Bz[t]},{x,-a,a},{y,-a,a},{z,-a,a},VectorHeads->True],
> Axes->True,AxesLabel->{x,y,z},PlotLabel->"B",ImageSize->300
> ]
> }]
> }],
> {t,0,100},
> ContinuousAction->False
> ]
>
> For this case I probably would prefer to visualize the time dependency
> with something like:
>
> With[{c1 = (\[Omega]^2 p/4 \[Pi] \[Epsilon] c^2 r^3),
>     c2 = (\[Mu] \[Omega]^2 p/4 \[Pi] c r^2)},
>    graphlist = Table[
>      PrintTemporary[t];
>      Column[{
>        Row[{"time = ", t}],
>        Row[{
>          Show[
>           VectorFieldPlot3D[
>            c1 {Ex[t], Ey[t], Ez[t]}, {x, -a, a}, {y, -a, a}, {z, -a,
>             a}, VectorHeads -> True], Axes -> True,
>           AxesLabel -> {x, y, z}, PlotLabel -> "E", ImageSize -> 300,
>           PlotRange -> {{-a, a}, {-a, a}, {-a, a}}
>           ],
>          Show[
>           VectorFieldPlot3D[
>            c2 {Bx[t], By[t], Bz[t]}, {x, -a, a}, {y, -a, a}, {z, -a,
>             a}, VectorHeads -> True], Axes -> True,
>           AxesLabel -> {x, y, z}, PlotLabel -> "B", ImageSize -> 300,
>           PlotRange -> {{-a, a}, {-a, a}, {-a, a}}
>           ]
>          }]
>        }],
>      {t, 0, 100, 10}
>      ]
>    ];
>
> ListAnimate[graphlist]
>
> hth,
>
> albert
>
It works great and allowed to understand a couple of things with
Mathematica! Thank you


  • Prev by Date: Re: Re: Re: fit a BinomialDistribution
  • Next by Date: Re: Another question on lists
  • Previous by thread: Re: Manipulate a VectorFieldPlot3D
  • Next by thread: Re: REQ: Kuratowski graphs on Möbius band and torus