張淳皓的第四次作業第一項係利用rotate這個指令的功能作迴轉,rotate的語法如下:
rotate(h,[0 0 1],alpha,[x0 y0 z0])
h為圖之握把;[0 0 1]為轉軸,此表示沿Z軸旋轉;alpha為每次迴轉的角度;[x0 y0 z0]為轉動之圓心。其程式經過修改後如下:
% 學號b94611021
%三角形邊長31
axis equal
AXIS([-55 55 -35 60])
length=21+10
x=[length/2 0 -1*length/2 length/2]
y=[0 (3)^(1/2)*length/2 0 0]
%將三角形存於handle "pic"
patch(x',y','r')
pic=line(x',y','linewidth',2)
axis off;
%利用迴圈及rotate指令處理動畫旋轉
while 1
for n=1:120
rotate(pic,[0 0 1],3,[length/2 0 0])
pause(0.003)
end
for n=1:120
rotate(pic,[0 0 1],3,[0 (3)^(1/2)*length/2 0])
pause(0.003)
end
for n=1:120
rotate(pic,[0 0 1],3,[-1*length/2 0 0])
pause(0.003)
end
end