如何通过编程创建带有动画效果的图片
背景
我有一个客户让我制作一张世界地图,上面有动画效果的箭头或光线,从世界的一个地方指向另一个地方。
这些光线会是随机的,代表一次交易,发生后会逐渐消失,并且随着时间的推移,出现的频率会增加。光线会从一个国家的边界开始,结束在另一个国家的边界。每当发生一次动画交易时,图像底部会显示所有交易金额的实时更新总和。每笔交易的金额也是随机的。图像上还会显示一个年份,这个年份会每隔n秒增加一次。
随机化、求和和年份增加对我来说都不是问题,但我不知道该如何处理箭头/光线的动画效果。
我的问题是,做这个的最佳方法是什么?哪些框架或库最适合这个工作?
我最擅长的是Python,所以如果有Python的建议对我来说最简单,但我也愿意尝试任何优雅的解决方案。客户会在Windows机器上将这个作为演示文稿的一部分展示。
3 个回答
这主要取决于你想花多少精力在这个上面,不过有一个简单的方法可以参考。基本思路是先加载一张箭头的图片,然后用一个绘图工具来给它上色和旋转,让它指向你想要的方向(或者用形状和曲线自己画一个箭头)。
最后,要让箭头动起来,就根据时间在坐标之间进行插值计算。
不过如果只是为了做个演示,我建议使用Macromedia Flash或者类似的动画软件。(这样做和上面的方法一样,但你不需要写任何代码)
客户将在Windows电脑上以幻灯片的形式展示这个内容。
我觉得这就是你问题的关键。在你开始写复杂的3D代码之前,先看看你用的演示软件。通常,你的选择会归结为两种:
- 动画GIF
- 自定义演示脚本
显然,动画GIF并不是一个理想的选择,因为它播放完后会重复,而且如果想让它持续很长时间,就得做一个很大的GIF。
自定义演示脚本可能是另一种选择,这样他就可以在演示中直接使用,而不需要运行其他程序或做一些奇怪的事情。我不确定他使用的是哪个演示软件,但这可能是有用的信息。
听起来他对技术不太了解,可能在请求一些他没意识到会很难实现的东西。我觉得你应该提出一些选项,解释实现这些选项的难度,并建议一个性价比高的解决方案。