КМ - Maple
.pdfpsi := arcsin(OA/AB);
ψ= π6
>pointB := [AB*cos(psi), 0]:
pointC := [pointB[1]-(AB-AC)*cos(psi),
pointB[2]+(AB-AC)*sin(psi)]:
Va := arrow(pointA, |
vector([v1[’x’], v1[’y’]]), |
.35, 1, |
.20, color=red): |
Vb := arrow(pointB, |
vector([v1[’x’], v1[’y’]]), |
.35, 1, |
.20, color=red): |
Vc := arrow(pointC, |
vector([v1[’x’], v1[’y’]]), |
.35, 1, |
.20, color=red): |
> display(draw(Pi/2), |
Va, |
textplot([v1[’x’]+dxy, 35+v1[’y’]+dxy, ’V’], color=red),
scaling=CONSTRAINED);
Скорость точки B направлена вдоль оси Ox (т.к. ползун B перемещается только по горизонтали), следовательно, если мы будем искать положение мгновенного центра скоростей звена AB , то, проведя перпендикуляры в точках A и B к скоростям, получим, что они параллельны.
Это значит, что тело AB совершает мгновенное поступательное движение и, следовательно, скорости всех точек равны, а мгновенная угловая скорость вращения равна нулю:
ωAB = 0.
>V[’B’] := V[’A’]: V[’C’] := V[’A’]: omega[’AB’] := 0:
91
> display(draw(Pi/2), Va, Vb, Vc,
textplot([v1[’x’]+dxy, 35+v1[’y’]+dxy, ’V’], color=red),
textplot([pointB[1]+v1[’x’]+dxy, pointB[2]+v1[’y’]+dxy, ’V’],
color=red),
textplot([pointC[1]+v1[’x’]+dxy, pointC[2]+v1[’y’]+dxy, ’V’],
color=red),
scaling=CONSTRAINED);
Перейдем к поиску ускорений.
Из условия задачи мы можем найти ускорение wA точки A ; угловую скорость ωAB звена AB ; а кроме того мы знаем линию, на которой лежит ускорение точки B — это горизонтальная ось Ox (т.к. ползун B может перемещаться лишь влево–вправо). Значит, чтобы определить угловое ускорение εAB звена AB и ускорения wB и wC точек B и C , необходимо выбрать точку A в качестве полюса и записать следующее векторное равенство в проекциях на координатные оси:
w¯B = w¯A + w¯Bвр(A) + w¯Bц (A), (*)
Здесь вращательное ускорение B вокруг A направлено перпендикулярно отрезку AB , а центростремительное — от точки B к точке A .
Поскольку точка A совершает вместе с кривошипом вращение вокруг неподвижного шарнира O , то ее ускорение найдем по формуле
w¯A = w¯вр( ) + w¯ц ( ).
A O A O
Здесь вращательное ускорение A вокруг O направлено перпендикулярно отрезку AO вправо (туда, куда «показывает» εOA ), а центростремительное — от точки A к точке O .
92
>W[‘A_вр‘] := epsilon[’OA’]*OA: W[‘A_ц‘] := omega[’OA’]^2*OA:
W[‘A‘] := sqrt(W[‘A_вр‘]^2+W[‘A_ц‘]^2); W_размер := 20:
√
WA := 280 5
>w1[’x’] := W[‘A_вр‘]/W_размер: w1[’y’] := -W[‘A_ц‘]/W_размер:
>Wa := arrow(pointA, vector([w1[’x’], w1[’y’]]),
.35, 1, .20, color=blue):
Wax := arrow(pointA, vector([w1[’x’], 0]),
.35, 1, .20, color=blue): Way := arrow([pointA[1], pointA[2]],
vector([0, w1[’y’]]),
.35, 1, .20, color=blue): > Wb := arrow(pointB, vector([20, 0]),
.35, 1, .20, color=blue): Wb_вр := arrow(pointB,
vector([20*sin(psi), 20*cos(psi)]),
.35, 1, .20, color=blue): Wb_ц := arrow(pointB,
vector([-20*cos(psi), 20*sin(psi)]),
.35, 1, .20, color=blue): > display(draw1(Pi/2),
Wa, Wax, Way, Wb, Wb_вр, Wb_ц, textplot([w1[’x’]+dxy, 35+w1[’y’]+dxy, ’Wa’],
color=blue), textplot([w1[’x’]+1.5*dxy, 35, ’Wa_вр’],
color=blue),
textplot([1.5*dxy, 35+w1[’y’]+dxy, ’Wa_ц’], color=blue),
textplot([pointB[1]+20+dxy, dxy, ’Wb’], color=blue),
textplot([pointB[1]+20*sin(psi)+dxy, pointB[2]+20*cos(psi)+dxy, ’Wb_вр’],
color=blue), textplot([pointB[1]-20*cos(psi)+dxy,
pointB[2]+20*sin(psi)+dxy, ’Wb_ц’], color=blue),
scaling=CONSTRAINED);
93
На рисунке показаны:
•направление ускорения точки B (в предположении замедленного движения ползуна);
•направление вращательного ускорения точки B вокруг точки A (в предположении о положительном значении εAB );
•направление центростремительного ускорения точки B (в действительности оно равно нулю, т.к. ωAB = 0 ).
Величины указанных ускорений найдем из проекций уравнения (*) на оси координат. Если в результате получим отрицательные значения, то направления ускорений надо изменить на противоположные.
Запишем уравнение (*) в проекции на ось Oy .
>-W[‘A_ц‘]+W[‘B_вр‘]*cos(psi)=0: W[‘B_вр‘] := solve(%, W[‘B_вр‘]);
√
WB_вр := 1120 3 3
Так как вращательное ускорение получилось положительным, то направление на рисунке указано верно. Поскольку WB_вр = εAB AB , то мы можем найти угловое ускорение шатуна AB :
> epsilon[’AB’] := W[‘B_вр‘] / AB;
|
√ |
|
εAB := |
16 3 |
|
3 |
|
|
|
|
Запишем уравнение (*) в проекции на ось Ox :
> W[’B’] := W[‘A_вр‘]+W[‘B_вр‘]*sin(psi);
√
WB := 280 + 560 3 3
94
>w2 := vector([W[’B’]/W_размер, 0]):
w3 := vector([W[‘B_вр‘]*sin(psi)/W_размер,
W[‘B_вр‘]*cos(psi)/W_размер]):
>Wb := arrow(pointB, w2, .35, 1, .20, color=blue): Wb_вр := arrow(pointB, w3, .35, 1, .20, color=blue):
>display(draw(Pi/2),
Wa, Wb, Wb_вр,
textplot([w1[’x’]+dxy, 35+w1[’y’]+dxy, ’Wa’], color=blue),
textplot([pointB[1]+w2[1]+dxy, dxy, ’Wb’], color=blue),
textplot([pointB[1]+w3[1]+dxy, pointB[2]+w3[2]+dxy, ’Wb_вр’],
color=blue),
scaling=CONSTRAINED);
> display(draw(Pi/2), Wa,
arrow(pointA, w2, .35, 1, .20, color=blue), arrow([pointA[1]+w1[’x’], pointA[2]+w1[’y’]],
w3, .35, 1, .20, color=blue), textplot([w1[’x’], 35+w1[’y’]-dxy, ’Wa’],
color=blue), textplot([pointA[1]+w2[1]+dxy, pointA[2],
’Wb’],
color=blue),
textplot([25, 20, ’Wb_вр’], color=blue), scaling=CONSTRAINED);
95
Найдем ускорение точки C . Воспользуемся формулой
w¯C = w¯A + w¯Cвр(A) + w¯Cц (A)
и запишем ее в проекциях на координатные оси.
>W[’C_x’] := W[‘A_вр‘]+epsilon[’AB’]*AC*sin(psi): W[’C_y’] := -W[‘A_ц‘]+epsilon[’AB’]*AC*cos(psi): W[’C’] := sqrt(W[’C_x’]^2 + W[’C_y’]^2);
√
WC := (280 + 120 3)3 + 40000
>w4 := vector([W[’C_x’]/W_размер, W[’C_y’]/W_размер]): Wc := arrow(pointC, w4, .35, 1, .20, color=blue): display(draw(Pi/2),
Wa, Wb, Wc,
textplot([w1[’x’]+dxy, 35+w1[’y’]+dxy, ’Wa’], color=blue),
textplot([pointB[1]+w2[1]+dxy, dxy, ’Wb’], color=blue),
textplot([pointC[1]+w4[1]-dxy, pointC[2]+w4[2]+dxy, ’Wc’],
color=blue),
scaling=CONSTRAINED);
96
Ответ
>‘Скорости точек:‘;
V[‘В‘]=V[’A’].‘см/с‘, V[‘С‘]=V[’C’].‘см/с‘; ‘Угловая скорость звена АВ:‘; ’omega[‘AB‘]’=omega[’AB’];
‘Ускорения точек:‘;
’W[‘B‘]’=evalf(W[B]), ’W[‘C‘]’=evalf(W[C]); ‘Угловое ускорение звена АВ:‘; ’epsilon[AB]’=evalf(epsilon[’AB’]);
Скорости точек:
VB = 140 см/с, VC = 140 см/с Угловая скорость звена AB : ωAB = 0 Ускорения точек:
WB = 603.3161509 , WC = 527.2511872
Угловое ускорение звена AB :
ε= 9.237604309
6.2Сложное движение точки
Точка M движется относительно тела D . По заданным уравнениям относительного движения точки M OM = S(t) = 10(1 + sin 2πt) и движения тела ϕ = ϕ(t) = 4t + 1.6t2 определить для заданного момента
1
времени t = 8 абсолютную скорость и абсолютное ускорение точки M . Схема механизма показана на рисунке.
97
Решение
>restart:
>S := t -> 10*(1+sin(2*Pi*t)): phi := t -> 4*t+1.6*t^2:
>with(plots):
with(plottools):
>pos := proc(psi, s, t1) local
point_x, point_y; point_x := s*cos(psi); point_y := s*sin(psi);
PLOT(plottools[point]([point_x, point_y],
symbol=circle,
color=red, symbolsize=15), op(plot([S(t), phi(t), t=0 .. t1],
coords=polar, color=green)), line([0, 0], [25*cos(psi), 25*sin(psi)],
color=red, linestyle=4));
end proc:
> pos2 := proc(psi, s, t1) local
телоD, телоB,
pointB, point1, point2, point3, point4, h, OA;
OA := 30; h := 0.25;
point1 := [h*cos(psi+Pi/2),h*sin(psi+Pi/2)]; point2 := [h*cos(psi+Pi/2) + OA*cos(psi),
h*sin(psi+Pi/2) + OA*sin(psi)]; point3 := [point2[1] + 2*h*cos(psi+3*Pi/2),
point2[2] + 2*h*sin(psi+3*Pi/2)]; point4 := [h*cos(psi+3*Pi/2), h*sin(psi+3*Pi/2)];
98
телоD := polygon([point1, point2, point3, point4], linestyle=1, thickness=1, color=gray);
pointB := [s*cos(psi), s*sin(psi)]; h := 1.5;
point1 := [pointB[1] + h*cos(psi+5*Pi/6), pointB[2] + h*sin(psi+5*Pi/6)];
point2 := [pointB[1] + h*cos(psi+Pi/6), pointB[2] + h*sin(psi+Pi/6)]; point3 := [pointB[1] + h*cos(psi-Pi/6), pointB[2] + h*sin(psi-Pi/6)];
point4 := [pointB[1] + h*cos(psi-5*Pi/6), pointB[2] + h*sin(psi-5*Pi/6)];
телоB := polygon([point1, point2, point3, point4], linestyle=1, thickness=1);
display(pos(psi, s, t1), телоD, телоB,
disk(pointB, h/3, color=red));
end proc:
>N_frames := 200:
for i from 0 to N_frames do tau := Pi/N_frames*i;
p[i] := pos2(phi(tau), S(tau), Pi); end do:
>plots[display](seq(p[i], I = 0 .. 200),
insequence=true,
scaling=constrained);
На рисунке изображена траектория точки в неподвижных координатах при t от 0 до π .
99
>pos(phi(1/8), S(1/8), 3/16); ’phi’=evalf(convert(phi(1/8), degrees)); ’S’=S(1/8);
Положение точки |
M относительно тела D в момент времени |
1 |
|
||||||||
8 |
|
||||||||||
|
|
|
|
1 |
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
= 10 + 5√2 , а положение тела |
|
|
|
||||
определяется расстоянием |
S |
|
D — |
||||||||
8 |
|||||||||||
1 |
, равным |
|
|
|
|
|
|
|
|
|
|
углом ϕ |
|
30◦ |
градусов (см. рисунок). |
|
|
|
|||||
8 |
|
|
|
Абсолютная скорость точки будет равна векторной сумме двух скоростей — относительной и переносной:
¯абс = ¯от + ¯пер
V V V .
При этом, чтобы найти относительную скорость, надо мысленно «заморозить» переносное движение (т.е. вращение). Тогда:
¯ = d ( )
Vот dtS t ,
а направлена эта скорость будет вдоль тела D .
> V := unapply(diff(S(t), t), t);
V := t −→ 20 cos 2πt · π
>V_размер := 6:
V_отн := V(1/8)/V_размер: dxy := 0.25:
>x := S(1/8)*cos(phi(1/8)): y := S(1/8)*sin(phi(1/8)):
100