2007年3月25日 星期日

作業4-1

L=28+10; %三角形的邊長為學號末兩碼+10

figure(1); %開啟第一個繪圖區
x1=[0,L,L/2,0]; %三角形三頂點的x座標
y1=[0,0,sqrt(3)*L/2,0]; %三角形三頂點的y座標
h1=line(x1,y1,'erasemode','xor','color','b','linewidth',0.1); %連線繪製三角形
xp1=get(h1,'xdata');yp1=get(h1,'ydata'); %儲存h1之資料於xp1,yp1
grid on;
axis equal;
axis([-50 50 -50 50]); %設定格線,刻度


figure(2); %開啟第二個繪圖區
x2=[0,-L/2,-L,0]; %三角形三頂點的x座標
y2=[0,sqrt(3)*L/2,0,0]; %三角形三頂點的y座標
h2=line(x2,y2,'erasemode','xor','color','r','linewidth',0.1); %連線繪製三角形
xp2=get(h2,'xdata');yp2=get(h2,'ydata'); %儲存h2之資料於xp2,yp2
grid on;
axis equal;
axis([-50 50 -50 50]); %設定格線,刻度

figure(3); %開啟第三個繪圖區
x3=[0,L/2,-L/2,0]; %三角形三頂點的x座標
y3=[0,-sqrt(3)*L/2,-sqrt(3)*L/2,0]; %三角形三頂點的y座標
h3=line(x3,y3,'erasemode','xor','color','m','linewidth',0.1); %連線繪製三角形
xp3=get(h3,'xdata');yp3=get(h3,'ydata'); %儲存h3之資料於xp3,yp3
grid on;
axis equal;
axis([-50 50 -50 50]); %設定格線,刻度

%使用擦拭模式開始旋轉
for thy=0:1:360, %每轉1度重新繪製圖形

xp1= x1*cosd(thy)+y1*sind(thy); %轉動公式
yp1=-x1*sind(thy)+y1*cosd(thy);
set(h1,'xdata',xp1,'ydata',yp1); %將xp1及yp1之新數據設定於h1,重新繪製
pause(0.01);

xp2= x2*cosd(thy)+y2*sind(thy); %轉動公式
yp2=-x2*sind(thy)+y2*cosd(thy);
set(h2,'xdata',xp2,'ydata',yp2); %將xp2及yp2之新數據設定於h2,重新繪製
pause(0.01);

xp3= x3*cosd(thy)+y3*sind(thy); %轉動公式
yp3=-x3*sind(thy)+y3*cosd(thy);
set(h3,'xdata',xp3,'ydata',yp3); %將xp3及yp3之新數據設定於h3,重新繪製
pause(0.01);

end; %跳出迴圈


以下為執行結果
 








沒有留言: