具有tot功能的矩形运动

时间:2017-06-08 22:12:15

标签: matlab matlab-figure rectangles

如何让这个矩形从左上角向下移动到右下角?

clear all
close all
clc
n=10;
h=1;
for t=0:n-1
    clf;
    axis([0 sum(1:n) 0 sum(1:n)]);
    axis manual
    tot = sum(0:t);
    patch([tot tot+(t+1)*h tot+(t+1)*h tot],[tot tot tot+(t+1)*h tot+(t+1)*h],...
        [2 6 3 7],'EdgeColor','none','FaceAlpha',(1-(t+1)*.7/n));
    pause(1/6)
end

另外,尝试在某处使用此功能。 sum(1:t)-tot-(t+1)*h

2 个答案:

答案 0 :(得分:1)

您可以不同地计算补丁函数的Y位置,但是从当前代码中,最简单的更改是反转Y轴方向:

axis ij; % put this before patch

答案 1 :(得分:1)

您只需要从总高度y中构建sum(0:n)坐标:

patch([tot tot+(t+1)*h tot+(t+1)*h tot],...
    sum(0:n)-[tot tot tot+(t+1)*h tot+(t+1)*h],...
    [2 6 3 7],'EdgeColor','none','FaceAlpha',(1-(t+1)*.7/n));