分形的3D动画

3 投票
2 回答
2987 浏览
提问于 2025-04-17 03:23

我在准备一个关于分形天线的演讲(可以看看我之前的帖子),计划在11月进行。我想加入一些动画,这样能让我的演讲内容更容易理解。大部分动画应该都比较短,最多也就一分钟。以下是我希望能有的一些动画:

  1. 分形山脉 - 动画会不断添加新的迭代,展示山脉复杂的特征。

  2. 分形科赫曲线 - 动画从一个三角形开始,然后添加新的迭代。我可以慢慢引入下一个迭代的分形,或者用同一个模型,让观众看到迭代向外分支。我更喜欢后者的方式。

  3. 展示一个分形。增加迭代次数,同时保持长度不变,以证明分形在缩小。

  4. 展示一个分形。增加迭代次数,同时保持大小不变,以证明分形的总周长在增加。

  5. 手机动画 - 展示一部手机,多个天线从中弹出(可以是简单的线条草图)。

问题是,我之前从来没有做过任何动画。在我已有的程序中,它们可以生成分形的坐标,这可能有用吗?

有什么好的方法可以在最短的时间内制作这些动画吗?我的演讲还有不到6周就要来了!Blender可能是一个选择,但我不知道该怎么开始。

这个NOVA视频中有一些很棒的动画,可能能给你一些我想要的灵感。

谢谢,

Austin

2 个回答

2

最简单的方法是使用matplotlib.mplot3d。这个原理和在http://www.scipy.org/Cookbook/Matplotlib/Animations上描述的2D动画是一样的,不过你会用到在http://matplotlib.sourceforge.net/mpl_toolkits/mplot3d/tutorial.html上介绍的3D方法。

我教物理中的计算方法,其中一个活动是用Python和matplotlib创建一个科赫雪花。我还让一组学生用Python和Chaco(为了互动性)制作3D分形作为他们的项目,但用matplotlib来做其实也很简单。你还可以试试mayavi2,这是另一个Python中的3D绘图库。

如果你想制作一个电影,那么你需要把每一帧保存为图形文件,然后用convert(ImageMagick)、mencoder、ffmpeg或其他软件把这些文件转换成电影。

我可能可以提供一些伪代码或示例代码,但我现在有点困(现在是晚上11:30)。

2

我个人用过VPython来制作简单的3D图形和动画。这个库很容易上手,而且可以免费使用,网址是http://vpython.org/。因为你已经有了坐标,所以把这些坐标用在绘图里应该很简单。

Blender就稍微复杂一些,不过它也支持用Python编程,如果你愿意花时间去学的话。

最后,关于一些YouTube评论的建议:如果你使用了视频,记得引用一下,或者发邮件请求许可。如果你这个演示没有赚钱的话,通常使用这些视频是没问题的。

撰写回答