利用matlab制作光栅动画(莫尔条纹动画)

利用matlab制作光栅动画(莫尔条纹动画)1原理2 预期动画准备3 底片绘制4 光栅动画光栅动画是一种利用一种透明光栅在底片上快速移动,使得看起来底片像是运动的一种动画方式。这种动画不依赖于电子媒体以及gif图,只需要一个事先准备好的底片,以及一个印在透明塑料片上的光栅图案,即可体验到动图的效果(当然电子版的ppt也可以)。
摘要由CSDN通过智能技术生成

利用matlab制作光栅动画(莫尔条纹动画)


光栅动画是一种利用一种透明光栅在底片上快速移动,使得看起来底片像是运动的一种动画方式。这种动画不依赖于电子媒体以及gif图,只需要一个事先准备好的底片,以及一个印在透明塑料片上的光栅图案,即可体验到动图的效果(当然电子版的ppt也可以)。

本文尝试分析光栅动画的原理,并通过该原理利用matlab编程,实现光栅动画。

1原理

光栅动画的原理,首先用到了心理学中知觉组织的连续性原则与闭合原则,让人利用破碎的信息脑补出一个整体信息,比如下图:
PPT绘制,很丑
通过破碎的信息,加上光栅的遮挡之后,人们就会自然地想象出下面这个两个齿轮的图。

之后,光栅动画的原理就是将前面破碎的信息依次拼接起来,随着光栅位置的改变,变成不同的图案。将不同光栅位置的不同破碎图案组合在一起,便构成了底片。

所以,一般光栅动画具有单颜色(颜色单一容易脑补),动画周期短(光栅间距减小有利于脑补),动画简单且以粗线条或大块的图块为主(参考闭合原则)。

2 预期动画准备

这里依然以第一节中的双齿轮动画作为演示,展示预期要演示的动画效果。运动周期选择T=6,不建议选太大(当然太小就得不到效果了)。

clear
close all
figure('Color','white')
N=17;
T=6;
for k=1:T
    clf
    dt=2*pi/N/T*k;
    %第一个齿轮
    hold on
    for j=1:N
        theta=2*pi/N*j;
        R=1.1;
        plot([-1,-1+R*cos(theta+dt)],[0,R*sin(theta+dt)],'k','linewidth',5)
    end
    rectangle('Position',[-1.9,-0.9,1.8,1.8],'Curvature',1,'LineWidth',8)
    hold off
    %第二个齿轮
    hold on
    for j=1:N
        theta=2*pi/N*j;
        R=1.1;
        dth=2*pi/N/2;
        plot([1,1-R*cos(theta+dth+dt)],[0,R
  • 28
    点赞
  • 76
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值