2014-02-17 54 views
0

我想在Matlab中重新創建這個引擎:http://www.animatedengines.com/co2.html。我正在尋找使用手柄圖形來動畫所有移動部件。我已經對所有固定部件進行了編程。現在我正在努力讓球上下移動,但我無法弄清楚它是如何工作的。我並不十分清楚球杆的運作方式,以及我需要做些什麼才能讓球移動。任何有識之士將不勝感激。動畫在MATLAB中的CO2馬達

+2

這個問題是不是真正關心編程或技工? – hivert

+0

@hivert:聽起來像是一個關於在Matlab中處理圖形的問題。 – Jonas

回答

0

下面是一個小一圈較大的圓周運動的例子:

%# create large-circle coordinates 
t = 0:pi/100:2*pi; 
xc = cos(t); 
yc = sin(t); 

%# create small-circle coordinates 
xs = 0.1*cos(t); 
ys = 0.1*sin(t); 

%# plot large circle 
figure,plot(xc,yc,'r'); 

%# plot small circle at first position 
%# and capture handle 
smallCircleH = plot(xs+xc(1),ys+yc(1),'b'); 

%# loop to update the handle of the small circle 
for tIdx = 1:length(t) 
    %# update position of small circle 
    set(smallCircleH,'xData',xs+xc(tIdx),'yData',ys+yc(tIdx)); 
    %# wait a bit to appreciate the beauty 
    pause(0.1); 
end 
+0

是否可以使用一個set命令移動多個對象?例如,您是否可以使用一組命令使另一個小圓圈像原始圓圈一樣向相反的方向移動? – user3320530

+0

@ user3320530從set的幫助:set(H,pn,MxN_pv)在m個圖形對象的每一個上設置n個屬性值,其中m = length(H),n等於單元陣列pn。這使您可以在每個對象上將給定的一組屬性設置爲不同的值 – Jonas