Ask Your Question

animate 3d plots?

asked 2010-09-04 10:59:25 +0200

niles gravatar image

updated 2011-05-07 00:15:39 +0200

Kelvin Li gravatar image

Is there an animation function for 3d plots? Specifically, I'm looking to animate some plots drawn with Tachyon, but I don't see any animation functions either in the Tachyon documentation or in the 3d base classes documentation. I have seen that there is an animate function for 2d plots, but it says that the input needs to be a "graphics object", and I don't think Tachyon objects are recognized as such. So maybe modifying the 2d animation functions could do what I want, but is there something else already available?

For an example, an animation where the curve changes color from magenta to white would be great:

sage: f = lambda t: (t,t^2,t^3)
sage: t = Tachyon(camera_center=(5,0,4))
sage: t.texture('t')
sage: t.light((-20,-20,40), 0.2, (1,1,1))
sage: t.parametric_plot(f,-5,5,'t',min_depth=6)

p.s. If this is already available, I'll volunteer to add information about it to the Tachyon documentation.

edit retag flag offensive close merge delete


Interesting question. The 2d plots seem to be animated by ImageMagick. For 3d, a different lib (as you mention). Saving a keyframe animation involves dumping the renderbuffer/framebuffer for those times. I will look at this too.

ccanonc gravatar imageccanonc ( 2010-09-04 12:26:54 +0200 )edit

Could an interact do this? (The display/loop part, not the saving part.)

ccanonc gravatar imageccanonc ( 2010-09-04 12:31:48 +0200 )edit

2 Answers

Sort by ยป oldest newest most voted

answered 2010-09-05 00:55:36 +0200

mhampton gravatar image

updated 2010-09-05 12:13:30 +0200

This has been a desired feature for a long time. I use ffmpeg to animate tachyon plots; for some discussion of that see:

Because ffmpeg has some patent issues in the US (at least I think it does, I'm not an expert on that sort of thing) it can't be included in Sage. A promising alternative is to animate tachyon-created images in the browser by other means. This is the goal of a trac ticket already:

Seems totally possible, but nobody has pushed it to completion.

edit flag offensive delete link more

answered 2010-09-04 12:37:50 +0200

ccanonc gravatar image

updated 2010-09-04 12:38:41 +0200

Maybe if interact code could be modified to loop, it would get the desired effect? I haven't used interact.

edit flag offensive delete link more


mma does looping animations, so this feature/enhancement follows the "can mma do it?" rule; assuming it can't already be done in Sage.

ccanonc gravatar imageccanonc ( 2010-09-04 13:17:46 +0200 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower


Asked: 2010-09-04 10:59:25 +0200

Seen: 2,394 times

Last updated: Sep 05 '10