function ShipMotion ShipFloatCenterXLoc=0; ShipFloatCenterYLoc=0; Beam=8; Depth=3; deltaTheta=pi/8; h=sqrt(((Beam/2)^2)+((Depth/2)^2)); v1=[-1,0,1,0,-1,0,1,0,-1,0,1,0,-1,0,1,0,-1,0,1,0,-1,0,1,0]; v2=[0,-1,0,1,0,-1,0,1,0,-1,0,1,0,-1,0,1,0,-1,0,1,0,-1,0,1]; % Use a loop to create images one by one for k=1:length(v1) for j=0.2:0.2:1 cla theta0=atan(Depth/Beam); m=40+5*(j+(k-1)); Xc1=(h*cos(theta0+v1(k)*(j*pi/8)+v2(k)*((1*pi/8)-j*pi/8) )); Yc1=(h*sin(theta0+v1(k)*(j*pi/8)+v2(k)*((1*pi/8)-j*pi/8) )); Xc2=(h*cos((pi-theta0)+v1(k)*(j*pi/8)+v2(k)*((1*pi/8)-j*pi/8) )); Yc2=(h*sin((pi-theta0)+v1(k)*(j*pi/8)+v2(k)*((1*pi/8)-j*pi/8) )); Xc3=(h*cos((pi+theta0)+v1(k)*(j*pi/8)+v2(k)*((1*pi/8)-j*pi/8) )); Yc3=(h*sin((pi+theta0)+v1(k)*(j*pi/8)+v2(k)*((1*pi/8)-j*pi/8) )); Xc4=(h*cos((-theta0)+v1(k)*(j*pi/8)+v2(k)*((1*pi/8)-j*pi/8) )); Yc4=(h*sin((-theta0)+v1(k)*(j*pi/8)+v2(k)*((1*pi/8)-j*pi/8) )); patch([Xc1+(m-20),Xc2+(m-20),Xc3+(m-20),Xc4+(m-20),Xc1+(m-20)],[Yc1,Yc2,Yc3,Yc4,Yc1],[0.5 0.5 0.5]) axis([max(0,m-40) max(40,m) -20 20]) hold off pause(0.1) end end