光栅动画是一种利用一种透明光栅在底片上快速移动,使得看起来底片像是运动的一种动画方式。这种动画不依赖于电子媒体以及gif图,只需要一个事先准备好的底片,以及一个印在透明塑料片上的光栅图案,即可体验到动图的效果(当然电子版的ppt也可以)。
本文尝试分析光栅动画的原理,并通过该原理利用matlab编程,实现光栅动画。
光栅动画的原理,首先用到了心理学中知觉组织的连续性原则与闭合原则,让人利用破碎的信息脑补出一个整体信息,比如下图: 光栅动画

通过破碎的信息,加上光栅的遮挡之后,人们就会自然地想象出下面这个两个齿轮的图。
之后,光栅动画的原理就是将前面破碎的信息依次拼接起来,随着光栅位置的改变&
#xff0c;变成不同的图案。将不同光栅位置的不同破碎图案组合在一起,便构成了底片。
所以,一般光栅动画具有单颜色(颜色单一容易脑补),动画周期短(光栅间距减小有利于脑补),动画简单且以粗线条或大块的图块为主(参考闭合原则)。
这里依然以第一节中的双齿轮动画作为演示,展示预期要演示的动画效果。运动周期选择T=6,不建议选太大(当然太小就得不到效果了)。
效果图如下:

底片的绘制与动画周期和光栅宽度有关。由于之前设置的动画周期为6,所以底片分6次绘制完成。光栅宽度这里设置为1,也就是每个缝的宽度为1像素。
代码如下:
底片绘制之后的结果如下:

之后利用这张光栅底片图(上一节保存成了mat文件),可以制作光栅动画图。
这里我先利用之前的底片,制作一个png格式的透明光栅,保存在PPT里,加上动画播放效果就可以玩了。当然如果能够有条件自己制作光栅的话也可以实际制作。
生成的图片如下:

在matlab里也可以演示其最终效果:
最终效果如下:
