2015-03-31 62 views
-2

你能寫一個MATLAB腳本來動畫滾動盤的運動兩次完整的旋轉,還顯示(作爲一個軌跡)邊緣點的軌跡。取:盤的半徑等於10個單位,該點的半徑也等於10個單位。 爲您的系統生成一個靜態圖,使用「顫抖」 命令顯示輪緣點的速度。在MATLAB中滾動(旋轉和平移)2D圓圈?

這是迄今爲止代碼:

figure; 
%XX=[0 2 4 5 0]; 
%YY=[1 0 1 5 1]; 
NN=100; 
RR=2; 
th=linspace(0,360,NN+1)*pi/180; 
XX=RRcos(th); 
YY=RRsin(th); 

h=patch('XData',XX,... 'YData',YY,'FaceColor',[1 0 0]); 
axis([0 10 -2 8]); 
axis square 
N=100; dX=5/N; 
for ii=1:N XX=XX+dX; 
    set(h,'XData',XX); 
    drawnow; 
    pause(0.1) 
end 
+1

歡迎來到StackOverflow。我們很樂意幫助您解決您遇到的特定編程問題,但我們不在這裏爲您編寫代碼。嘗試寫出必要的公式並首先嚐試自己的代碼。 – eigenchris 2015-03-31 01:38:23

+0

圖; %XX = [0 2 4 5 0]; %YY = [1 0 1 5 1]; NN = 100; RR = 2; th = linspace(0,360,NN + 1)* pi/180; XX = RR * cos(th); YY = RR * SIN(TH); H =補丁( '擴展數據',XX,... 'YDATA',YY, 'FaceColor',[1 0 0]); axis([0 10 -2 8]); 軸線方形 N = 100; dX = 5/N; 爲II = 1:N XX = XX + DX; set(h,'XData',XX); drawnow; 暫停(0.1) 結束 – 2015-03-31 02:15:57

回答

0

只需添加一個定時器,然後定時器功能根據裏面的轉動而改變圓的位置和變換(如果你不知道如何改變位置,然後通過基本的幾何概念)。