Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

3d animation with tachyon

Hello!

I'm trying to create a 3d animations, frame per frame. I've discovered that tachyon plotter is very usefull to create images. But after that, I'm unable to make it as animation.

For example, I have copied a code and generate some scenes with tachyon with this:

    saved = []
for j in srange(-0.9,1,0.3):
   t = Tachyon(xres=512,yres=512, camera_center=(3,0.3,0))
   t.light((4,3,2), 0.2, (1,1,1))
   t.texture('t0', ambient=0.1, diffuse=0.9, specular=0.5, opacity=1.0, color=(1.0,0,0))
   t.texture('t1', ambient=0.1, diffuse=0.9, specular=0.3, opacity=1.0, color=(0,1.0,0))
   t.texture('t2', ambient=0.2,diffuse=0.7, specular=0.5, opacity=0.7, color=(0,0,1.0))
   k=0
   for i in srange(-1,j,0.05):
      k += 1
      t.sphere((i,i^2-0.5,i^3), 0.1, 't%s'%(k%3))
   saved.append(t)

In "saved" array I have all the png of the animation I want to do, and I can view it with saved[i].show().

I tried to unite all the frames with the command animate:

animate(saved[i].show() for i in range(0,len(saved)))

But it didn't work. What other alternatives do I have? (whithout using ffmpeg)

Thank you!

3d animation with tachyon

Hello!

I'm trying to create a 3d animations, frame per frame. I've discovered that tachyon plotter is very usefull to create images. But after that, I'm unable to make it as animation.

For example, I have copied a code and generate some scenes with tachyon with this:

 saved = []
for j in srange(-0.9,1,0.3):
   t = Tachyon(xres=512,yres=512, camera_center=(3,0.3,0))
   t.light((4,3,2), 0.2, (1,1,1))
   t.texture('t0', ambient=0.1, diffuse=0.9, specular=0.5, opacity=1.0, color=(1.0,0,0))
   t.texture('t1', ambient=0.1, diffuse=0.9, specular=0.3, opacity=1.0, color=(0,1.0,0))
   t.texture('t2', ambient=0.2,diffuse=0.7, specular=0.5, opacity=0.7, color=(0,0,1.0))
   k=0
   for i in srange(-1,j,0.05):
      k += 1
      t.sphere((i,i^2-0.5,i^3), 0.1, 't%s'%(k%3))
   saved.append(t)

In "saved" array I have all the png of the animation I want to do, and I can view it with saved[i].show().

I tried to unite all the frames with the command animate:

animate(saved[i].show() for i in range(0,len(saved)))

But it didn't work. What other alternatives do I have? (whithout (without using ffmpeg)

Thank you!