This is rather simple. In the Graphics3D part add an arrow from the origin to the running point.
Some modifications though.
- You calculate the path using the ParametricPlot3D for each point of the Animate function. Just compute it outside and use this computation. This is much faster.
- Removing the 3D Box make you lose the "3D" effect
- Sample the Animate with a better granularity
look at the attached code having these modifications
path[var_] :=
CoordinateTransformData["Spherical" -> "Cartesian",
"Mapping", {1, Exp[-15 (var - \[Pi]/2)^4] + Pi/4,
0.5 ArcTan[20 (var - \[Pi]/2)] + \[Pi]/4}]
With[{g =
ParametricPlot3D[path@u, {u, 1/4 \[Pi], 3/4 Pi},
PlotStyle -> Gray]},
Animate[Show[g,
Graphics3D[{Arrow[{{0, 0, 0}, path[v]}], Red, PointSize[0.05],
Point[path@v]}]], {v, 1/4 \[Pi], 3/4 Pi, \[Pi]/50}]]
best
yehuda