分形的3D动画

时间:2011-09-30 00:12:49

标签: python animation blender

我将在11月份发表关于Fractal Antennas的演示文稿(看一下我以前的主题),我想整合一些动画,让我的演示文稿更容易​​想象我所指的内容。这些动画中的大部分都会相对较短,最多可能是一分钟。有一些动画会非常棒:

  1. Fractal Mountains - 动画继续添加新的迭代,描绘山脉的复杂特征。

  2. 分形Koch曲线 - 动画以启动器(三角形)开始,并添加新的迭代。要么我慢慢引入具有下一次迭代的新分形,要么我使用相同的模型,用户可以看到向外分支的迭代。我更喜欢后一种技术。

  3. 显示分形。增加迭代次数,同时保持一个恒定的长度,以证明分形缩小的大小。

  4. 显示分形。增加迭代次数,同时保持一个恒定的大小,以证明分形正在增加它的总周长。

  5. 手机动画 - 显示有多个天线弹出的手机(它们可以是简单的线条草图)。

  6. 麻烦的是,我以前从未做过任何动画。在我已经拥有的程序中,它们会生成分形的坐标,如果它可以有用吗?

    在尽可能短的时间内渲染这些动画的最佳方法是什么?演讲将近6周! Blender可能是一个选择,但我不知道如何解决这个问题。

    this NOVA视频中有一些很棒的动画可能会让你了解我的目标。

    谢谢,

    奥斯汀

2 个答案:

答案 0 :(得分:2)

最简单的方法是使用matplotlib.mplot3d。原理与http://www.scipy.org/Cookbook/Matplotlib/Animations中描述的2D动画相同,但您将使用http://matplotlib.sourceforge.net/mpl_toolkits/mplot3d/tutorial.html中描述的3D方法。

我在物理学中教授计算机方法,其中一项活动是使用Python和matplotlib创建一个Koch雪花。我还有一群学生使用Python和Chaco(用于交互性)创建3D分形作为他们的项目,但使用matplotlib非常简单。您也可以尝试使用mayavi2,它是Python中的另一个3D绘图库。

如果你想创建一个电影,那么你需要将每个帧保存为图形文件,然后使用convert(ImageMagick),mencoder,ffmpeg或其他软件将文件转换为电影。

我可能会提供一些伪代码/示例代码,但此刻我太困了(从我这里起是晚上11:30)。

答案 1 :(得分:1)

就个人而言,我使用VPython来创建简单的3D图形和动画。这是一个易于学习的库,可以在http://vpython.org/免费获得。由于您已经有了坐标,因此将它合并到图纸中应该相当容易。

Blender有点复杂,但如果你想花时间学习它,还会结合python脚本。

最后,引用一些YouTube评论:如果您使用视频只是引用它,或发送电子邮件并获得许可。如果你没有在这个演示文稿上赚钱,那么你很可能会使用这些视频。