Mathematica Stack Exchange is a question and answer site for users of Mathematica. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have a surface

s = Plot3D[{x,y,F[x,y]},{x,-1,1},{y,-1,1}]

with $F$ predefined, and a curve

c = ParametricPlot3D[{g1[t],g2[t],F[g1[t],g2[t]]},{t,0,1}]

with $g1,g2$ predefined. $c$ is therefore a curve on the surface $s$. If I want to show both the objects together I can use


but how can I animate the trajectory described by the curve $c$ on the surface $s$?

share|improve this question
Check out Animate and replace {t,0,1} with {t,0,u}, and let u be the changing variable in Animate. – C. E. Oct 27 '13 at 16:21
Read the documentation. – Sektor Oct 27 '13 at 16:32

Without functions, let's make up our own. I'm going to take a guess here that the definition of s in the question really requires ParametricPlot3D:

F[x_, y_] := Sin[x] Cos[y];
g1[t_] := t;
g2[t_] := Cos[t];

Generate the surface:

s = ParametricPlot3D[{x, y, Sin[x] Cos[y]}, {x, -Pi, Pi}, {y, -Pi, 
   Pi}, Mesh -> None, PlotStyle -> Opacity[0.9]]

Create an animate of the contour by animating over the end value of the contour:

 Show[s, ParametricPlot3D[{g1[u], g2[u], F[g1[u], g2[u]]}, {u, -Pi, 
    endu}, PlotStyle -> Thick, BoxRatios -> {1, 1, 1}]], {endu, -Pi, 

enter image description here

Use a Table instead of Animate to create a series of images that can be exported as an animated gif as described in the documentation.

share|improve this answer
Thanks! Just one last question: how can I export it into a gif? – albatross Oct 27 '13 at 16:47
If you're new to Mathematica you'll want to have a look around this site for lots of good information. Creating animated gifs can be found here among other places. – bobthechemist Oct 27 '13 at 17:01

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.