2008-11-06 43 views
1

背景如何创建动画方面编程

有人问我有一个客户端创建已动画箭/是来自世界的一部分到另一部分的光线世界的图片的图片。

的光线会被随机分配,将是一个交易,将淡出它们发生后,随着时间的推移在频率将会增加。射线将在一个国家的边界​​开始,并在另一个国家结束。随着每个动画交易的发生,所有交易金额的连续更新总额将显示在图像的底部。个别交易的金额将随机分配。图像上还会显示一年,每n秒会增加一次。

随机化,总结和增量是不是我的问题,但我在不知如何接近箭头/射线的动画。

我的问题是什么是做到这一点的最好方法是什么?什么框架/库最适合这项工作?

我最流利的python,所以python的建议对我来说是最容易的,但我打开任何优雅的方式来做到这一点。 客户端将在Windows机器的演示文稿中以幻灯片形式呈现此内容。

回答

1

如果你是冒险利用OpenGL :)

您可以绘制贝塞尔在一个纹理面(地球地图)的顶级三维空间曲线,你能为他们指定的厚度,你能画点(小锥)在最后。这很容易,它看起来不错,问题是学习OpenGL的基础知识,如果你以前没有使用它,但如果你在编程图形,这将是有趣和可能有用。

您可以使用python的OpenGL或者pyopenglpyglet

如果通过这种方式制作动画,您可以将其捕获到可放置到演示文稿幻灯片中的avi文件(使用camtasia或类似的东西)。

1

这在很大程度上取决于你想花费在这个努力,但一个简单的方法的基本轮廓。将加载一个箭头的图像,并使用绘图库在想要指向的方向上进行着色和旋转(或使用形状/曲线绘制)。

最后,为了实际制作动画,它在基于时间的坐标之间插值。

如果它只是一个演示,虽然,我会使用Macromedia Flash或类似的动画节目。(会做上述相同,但你并不需要任何编程)

2

客户端会目前这是一个在Windows机器演示幻灯片

我认为这是你的答案的关键。在进行3d实现并编写世界上的所有代码以创建此功能之前,您需要查看演示文稿软件。机会是,你的选择会归结为两点:

  1. Gif动画
  2. 自定义演示脚本

显然,GIF动画是不理想的原因在于它重复时,这是事实完成渲染,并使其持续很长时间会形成一个大的gif。

自定义演示脚本可能会是另一种方式,让他把它在演示文稿不运行任何副作用的方案,或做什么奇怪的。我不确定哪个演示应用程序是目标,但这可能是有价值的信息。

他听起来像他更非技术和要求的东西,他不知道将是困难的。我认为你应该提出一些选择,解释实施它们的难度,并提出另一种解决方案,以落实'为你的压力'范围。