Кирсанов М.Н.
Решебник.Теоретическая механика.
М.:ФИЗМАТЛИТ, 2002.
Иллюстрации и программы к книге
Механизм с двумя степенями свободы
(Программа 4, манипулятор)
Начальные значения и размеры
restart: OB1:=1.:AB:=0.9: pi:=evalf(Pi):
OA:=0.8: AC:=0.5: phi0:=pi/6:
Скорость ползуна В и угловая скорость руки АС
VB:=-0.7: omega:=3*pi/4:
Закон движения ползуна В и руки АС
phi:=phi0+t*omega: OB:=OB1+t*VB:
cosp:=cos(phi): sinp:=sin(phi):
Определение тригонометрических функций
cosf:=(-AB^2+OB^2+OA^2)/(2*OA*OB):sinf:=sqrt(1-cosf^2):
Координаты шарнира А
xa:=OA*cosf: ya:=OA*sinf:
Координаты точки С
xc:=xa-AC*(cosf*cosp+sinf*sinp):
yc:=ya+AC*(sinp*cosf-cosp*sinf):
Скорость точки C
vx:=diff(xc,t): vy:=diff(yc,t): v:=sqrt(vx^2+vy^2):
Ускорение точки C
Wx:=diff(vx,t): Wy:=diff(vy,t): W:=sqrt(Wx^2+Wy^2):
Графики функций W(t), v(t)
plot([v,W],t=0..1.,thickness=[3,2],
color=[black,blue],
title=`Скорость и ускорение С`,
linestyle=[1,3],
legend=[«V»,»W»],
axesfont=[TIMES,ROMAN,8]);
Time=fsolve(yc=1.2,t);
pa:=[xc,yc,t=0..1]: pb:=[OB,0,t=0..1]:
plot({pa,pb},color=black,thickness=[2,3],
title=`Траектория захвата С`);
with(plots):
Число кадров анимации
K:=24:
for i from 0 by 1 to K do
t:=i/K:
P[i]:=PLOT(CURVES([[0,0],[xa,ya],[OB,0]]), CURVES([[xa,ya],[xc,yc]]),
TEXT([-0.03,0],`O`),
TEXT([xc+0.04,yc-0.04],`C`),
TEXT([xa,ya+0.04],`A`),
TEXT([OB-0.06,0.04],`B`)):
od:
Изображение механизма в движении
display(seq(P[i],i=0..K),insequence=true,thickness=2);
> |
> |