• Remix
  • Share
  • New Entry

  • ME

  • /
  • Alien Abduction

on 13 Nov 2023
  • 18
  • 33
  • 1
  • 3
  • 1760
drawframe(1);
Write your drawframe function below
function drawframe(f)
clf
hold on
% UFO patch
x = [40 50 65 25 40];
y = [35 35 40 40 35];
if(f<=20)
patch(x-2*f,y,'g','FaceColor',[.4 .4 .4],'LineStyle','none');
elseif(f<=28)
patch(x-40,y,'g','FaceColor',[.4 .4 .4],'LineStyle','none');
else
patch(x-(40+2*(f-28)),y,'g','FaceColor',[.4 .4 .4],'LineStyle','none');
end
% Beam patch
xb = [3 7 10 0 3];
if(f>=20 && f<=28)
yb = [35 35 35-35*((f-20)/8) 35-35*((f-20)/8) 35];
patch(xb,yb,'y','FaceAlpha',0.6);
end
if(f<=28)
% Person patch
x1 = [3 4 5 6 7 6 6 7 7 3 3 4 4 3];
y1 = [0 0 2 0 0 2 4 4 5 5 4 4 2 0];
patch(x1,y1,'w','LineStyle','none')
p = nsidedpoly(100,'Center',[5 6],'Radius',1.2);
plot(p,'FaceColor','w','FaceAlpha',1,'LineStyle','none');
plot([4.6 5.4],[6.4 6.4],'.k','MarkerSize',6);
end
if(f<=15)
plot([4.6 5.4],[5.7 5.7],'-k','LineWidth',2);
elseif(f<=28)
plot(5,5.7,'ok','MarkerSize',4);
end
% Ground patch
x2 = [-15 25 25 -15 -15];
y2 = [-5 -5 0 0 -5];
patch(x2,y2,'g','FaceColor',[0 .36 .11],'LineStyle','none')
% Tree patches
x3 = [-7 -5 -5 -7 -7];
y3 = [0 0 2 2 0];
patch(x3,y3,'g','FaceColor',[.28 .15 0],'LineStyle','none');
patch(x3+22,y3,'g','FaceColor',[.28 .15 0],'LineStyle','none');
patch(x3-6,2*y3,'g','FaceColor',[.28 .15 0],'LineStyle','none');
patch(x3+28,2*y3,'g','FaceColor',[.28 .15 0],'LineStyle','none');
x4 = [-10 -2 -4 -2 -4 -2 -6 -10 -8 -10 -8];
y4 = [2 2 4 4 6 6 10 6 6 4 4];
patch(x4,y4,'g','FaceColor',[0 .36 .11],'LineStyle','none');
patch(x4+22,y4,'g','FaceColor',[0 .36 .11],'LineStyle','none');
patch(x4-6,2*y4,'g','FaceColor',[0 .36 .11],'LineStyle','none');
patch(x4+28,2*y4,'g','FaceColor',[0 .36 .11],'LineStyle','none');
% Road patch
x5 = [-5 5 10 0 -5];
y5 = [-5 -5 0 0 -5];
patch(x5,y5,'g','FaceColor',[.5 .5 .5],'LineStyle','none')
x6 = [-1 1 2 0 -1];
y6 = [-5 -5 -4 -4 -5];
patch(x6,y6,'w','LineStyle','none')
patch(x6+3,y6+3,'w','LineStyle','none')
set(gca,'Color','k','XTick',[],'YTick',[])
axis([-15 25 -5 40])
camva(6)
hold off
end
Animation
Remix Tree