Mathematica Animation for power point?

1. Aug 1, 2010

Wesleytf

Is there a way to animate and export a 3D plot such that it rotates about the z axis automatically? A friend is doing a presentation and I'd like to make some animated files of the 3D plots we've been making to include in a power-point. I've looked through help files and some google searches and only been able to find animation for parameters.

2. Aug 1, 2010

Simon_Tyler

The default ViewPoint is:

In[1]:= ViewPoint/.Options[Plot3D]
Out[1]= {1.3,-2.4,2.}

We hit it with a rotation about the z-axis and animate. Note that I fixed the ViewAngle so that the graphics does not zoom in and out as the projection of the plot fits better and worse in the rectangular bounding box.

Animate[Plot3D[Sin[x]Sin[y],{x,0,2Pi},{y,0,2Pi},PlotRange->1,Ticks->None,ViewPoint->{1.3 Cos[a]-2.4Sin[a],-2.4 Cos[a]-1.3 Sin[a],2},ViewAngle->20*Degree],{a,0,2\[Pi]}]

3. Aug 1, 2010

Simon_Tyler

To export, there is a few different ways.

g = Animate[Plot3D[Sin[x]Sin[y],{x,0,2Pi},{y,0,2Pi},PlotRange->1,Ticks->None,
ViewPoint->{1.3 Cos[a]-2.4Sin[a],-2.4 Cos[a]-1.3 Sin[a],2},ViewAngle->20*Degree],
{a,0,2\[Pi],\[Pi]/10}, AnimationRepetitions->1,AnimationDirection->Forward]

Then export to a video filetype, eg "avi", "mov", "swf"
$HomeDirectory is the user's home directory. Another useful directory is NotebookDirectory[] Export[ToFileName[$HomeDirectory,"test.swf"],g]

The above export has the animation slider and frame/panel in it. You can get rid of the panel by using Paneled -> False. To get rid of the slider is more difficult. One solution - that also gives you more control is to create a list of frames:

gTable=Table[Plot3D[Sin[x]Sin[y],{x,0,2Pi},{y,0,2Pi},PlotRange->1,Ticks->None,ViewPoint->{1.3 Cos[a]-2.4Sin[a],-2.4 Cos[a]-1.3 Sin[a],2},ViewAngle->20*Degree],{a,0,2\[Pi],\[Pi]/10}];

This can be animated using ListAnimate and exported using, eg as an animated gif:

Export[ToFileName[\$HomeDirectory,"gTable.gif"],gTable,ImageSize->350];

Last edited by a moderator: May 4, 2017
4. Aug 1, 2010

Wesleytf

alright, I've got one plot spinning around(thanks so much for that snippet)--is it possible to do an overlay animation?

Last edited: Aug 1, 2010
5. Aug 2, 2010

Simon_Tyler

I doubt that producing an overlay animation is built into mathematica.
You probably could make your own code to get mathematica to make one - but maybe an external specialised tool might be better....

6. Aug 2, 2010

Wesleytf

No worries--you've already helped a ton.

7. Aug 15, 2010

Wesleytf

Oh, I forgot to come back and say that you can in fact do an overlay if you define it as a single graphic. I had to install the old animate package to use the "SpinShow" command.

g3 = Show[plot1, plot2, plot3]

SpinShow[g3]

8. Aug 30, 2012

Hernaner28

Simon Tyler your method works really good but I'd like a smoother animation with more FPS. How can this be done?

Thank you so much!