2007年5月27日 星期日

作業十

B94611016 胡寅亮
1.本人5/17有來上課。
2.
藉由老師介紹之瞬心畫法,我們可以得到下圖,瞬心在2、4桿的延長線上,故可得P點的速度以及加速度方向。P的速度方向垂直4桿,而加速度是在沿著4桿的方向。

如上圖所示,假設該桿得長度是L在一複數平面上,旋轉中心M為複數平面上的原點,端點P到旋轉中心M的距離是X,並且以角速度ω逆時針方向旋轉,那麼

P點是iωX*exp(iωt+iθ),加速度是-ω*ω*Xexp(iωt+iθ)。

今在M上提供一水平速度v,則P點的速度會是v+iωX*exp(iωt+iθ),加速度是-ω*ω*Xexp(iωt+iθ)。

若加上水平加速度a,則P點的速度會是v+at+iωX*exp(iωt+iθ),加速度是a-ω*ω*Xexp(iωt+iθ)。

P之速度方向是P與桿一端點連線的垂直方向,加速度方向則為P與桿一端點的連線方向。
Q之速度方向是Q與桿一端點連線的垂直方向,加速度方向則為Q與桿一端點的連線方向。
3.
瞬時中心的畫法在課本中有說明,依照課本的說明,我寫了個function slider_center,程式碼如下:


function slider_center(R,L,e)

th1=0;
if R>L

th2=asind(L/R);
else
th2=90;
end

th=linspace(th1,th2,200 )
[d,th3]=slider_solve(th,R,L,e,1)

x=R*cosd(th),
y=R*sind(th)

for n=1:200

hold on;
line([0,x(n),d(n)],[0,y(n),e]);
line([d(n)-1,d(n)+1,d(n)+1,d(n)-1,d(n)-1],[e-3,e-3,e+3,e+3,e-3]);
ground(0,0,3,0)
anchor(-3,0,0,0)

plot(0,0,'go');
plot(x(n),y(n),'go');
plot(d(n),e,'go');
plot([0,0],[0,e-d(n)*(y(n)-e)/(x(n)-d(n))],'go:');
plot([x(n),0],[y(n),e-d(n)*(y(n)-e)/(x(n)-d(n))],'go:');
plot([x(n),d(n)],[y(n),y(n)*d(n)/x(n)],'go:');
plot([d(n),d(n)],[0,y(n)*d(n)/x(n)],'go:');

axis equal;
axis ([-30 30 -50 50]);

pause(0.001);
clf;

end

若要得到動畫,只要在螢幕上輸入
slider_center(15,6,0)
就可得到下面的動畫

沒有留言: