Animating an m-file to show a rectangle filling up
5 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
I am trying to create an animation of a rectangle filling up. I already have the code to get a graph of the rectangle:
% A cylindrical tank has a capacity of 100 bottles.
% Created six rectangles within the 3.5 ft by 6 ft tank.
x1=0.5; x2=2.25; y1=1; y2=3;
x = [x1, x2, x2, x1, x1];
y = [y1, y1, y2, y2, y1];
plot(x, y, 'k');
hold on;
x1=2.25; x2=4; y1=1; y2=3;
x = [x1, x2, x2, x1, x1];
y = [y1, y1, y2, y2, y1];
plot(x, y, 'k');
hold on
x1=0.5; x2=2.25; y1=3; y2=5;
x = [x1, x2, x2, x1, x1];
y = [y1, y1, y2, y2, y1];
plot(x, y, 'k');
hold on
x1=2.25; x2=4; y1=3; y2=5;
x = [x1, x2, x2, x1, x1];
y = [y1, y1, y2, y2, y1];
plot(x, y, 'k');
hold on
x1=0.5; x2=2.25; y1=5; y2=7;
x = [x1, x2, x2, x1, x1];
y = [y1, y1, y2, y2, y1];
plot(x, y, 'k');
hold on
x1=2.25; x2=4; y1=5; y2=7;
x = [x1, x2, x2, x1, x1];
y = [y1, y1, y2, y2, y1];
plot(x, y, 'k');
axis([0 5 0 8]);
% Created a percent range between 0% and 100% in 10 divisions.
yline(1,'--','0%');
yline(1.6,'--','10%');
yline(2.2,'--','20%');
yline(2.8,'--','30%');
yline(3.4,'--','40%');
yline(4,'--','50%');
yline(4.6,'--','60%');
yline(5.2,'--','70%');
yline(5.8,'--','80%');
yline(6.4,'--','90%');
yline(7,'--','100%');
% Plot title and axis labels.
title('Bottle Accumulator on the x-y Plane');
xlabel('Width (ft)');
ylabel('Height (ft)');
but I don't know what functions to use to show the animation of the rectangle filling up.
What functions can I use in my m-file to create an animatioin of the rectangle filling up?
Can the function be changed to fill the rectangle until a certain point?
0 Kommentare
Antworten (1)
Jakob B. Nielsen
am 4 Mär. 2020
I don't know what kind of animation you are looking for, but something quick and simple would be to insert a pause after every plot call. In this case, you might want to set the x and y axis limits after the first plot, so you get the full picture from the get go. I dont know if this is what you're after?
% A cylindrical tank has a capacity of 100 bottles.
% Created six rectangles within the 3.5 ft by 6 ft tank.
figure
x1=0.5; x2=2.25; y1=1; y2=3;
x = [x1, x2, x2, x1, x1];
y = [y1, y1, y2, y2, y1];
plot(x, y, 'k');
xlim([0 5]);
ylim([0 8]);
pause(0.5)
hold on;
x1=2.25; x2=4; y1=1; y2=3;
x = [x1, x2, x2, x1, x1];
y = [y1, y1, y2, y2, y1];
plot(x, y, 'k');
pause(0.5)
hold on
x1=0.5; x2=2.25; y1=3; y2=5;
x = [x1, x2, x2, x1, x1];
y = [y1, y1, y2, y2, y1];
plot(x, y, 'k');
pause(0.5)
hold on
x1=2.25; x2=4; y1=3; y2=5;
x = [x1, x2, x2, x1, x1];
y = [y1, y1, y2, y2, y1];
plot(x, y, 'k');
pause(0.5)
hold on
x1=0.5; x2=2.25; y1=5; y2=7;
x = [x1, x2, x2, x1, x1];
y = [y1, y1, y2, y2, y1];
plot(x, y, 'k');
pause(0.5)
hold on
x1=2.25; x2=4; y1=5; y2=7;
x = [x1, x2, x2, x1, x1];
y = [y1, y1, y2, y2, y1];
plot(x, y, 'k');
pause(0.5)
axis([0 5 0 8]);
% Created a percent range between 0% and 100% in 10 divisions.
yline(1,'--','0%');
pause(0.5)
yline(1.6,'--','10%');
pause(0.5)
yline(2.2,'--','20%');
pause(0.5)
yline(2.8,'--','30%');
pause(0.5)
yline(3.4,'--','40%');
pause(0.5)
yline(4,'--','50%');
pause(0.5)
yline(4.6,'--','60%');
pause(0.5)
yline(5.2,'--','70%');
pause(0.5)
yline(5.8,'--','80%');
pause(0.5)
yline(6.4,'--','90%');
pause(0.5)
yline(7,'--','100%');
% Plot title and axis labels.
title('Bottle Accumulator on the x-y Plane');
xlabel('Width (ft)');
ylabel('Height (ft)');
0 Kommentare
Siehe auch
Kategorien
Mehr zu Animation finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!