Кирсанов М.Н.
Решебник.Теоретическая механика.
М.:ФИЗМАТЛИТ, 2002.
Иллюстрации и программы к книге
13.6. Задача 1
:
restart:with(plottools):
with(plots):
read «stand.m»;
Процедура создания и анимации рисунка задачи 1
WD[1]:=proc(xx)
local i,dt,tn,p,p1,p13,p2,p4,p5,p8,p9,p91,p92,alpha,beta,K:
alpha:=Pi/6: beta:=Pi/2:K:=12:
tn:=0.65: dt:=tn/K:
for i from 0 to K do
p:=plot({[[2*eval(xx,t=i*dt),0],[20+2*eval(xx,t=i*dt),0]]},x=0..20,color=black,thickness=3): p9:=plot({[[20+2*eval(xx,t=i*dt),0],[23+2*eval(xx,t=i*dt),0]]},x=20..2,color=gold): p91:=line([21+2*eval(xx,t=i*dt),0.5],[23+2*eval(xx,t=i*dt),0],color=gold): p92:=line([21+2*eval(xx,t=i*dt),-0.5],[23+2*eval(xx,t=i*dt),0],color=gold): p1:=line([2*eval(xx,t=i*dt),0],[10+2*eval(xx,t=i*dt),10*tan(alpha)],color=black,thickness=3): p2:=plot({[[20+2*eval(xx,t=i*dt),0],[20+2*eval(xx,t=i*dt),10*tan(alpha)]]},x=10..20,color=black,thickness=3):
p4:=pieslice([2*eval(xx,t=i*dt),0],3,0..alpha,color=white): p5:=textplot([3.3+2*eval(xx,t=i*dt),0.8,»30″],align={ABOVE,RIGHT},color=red):p13:=plot({[-1,-0.8],[35,-0.8]},x=-1..27,color=black,thickness=2):
p8:=textplot([0,12.8,»Задача 1″],align={ABOVE,RIGHT},color=blue): q||i:=display({ ГРУЗ(14-eval(xx,t=i*dt)+2*eval(xx,t=i*dt),(10)*tan(alpha)+1.7*1.95,16-eval(xx,t=i*dt)+2*eval(xx,t=i*dt),(10)*tan(alpha),0),
КОЛЕСО(9.8+2*eval(xx,t=i*dt),9.4*tan(alpha),1.95,green), КОЛЕСО(5+2*eval(xx,t=i*dt),0,0.7,wheat), ТОЧКА(5+2*eval(xx,t=i*dt),-0.1), КОЛЕСО(15+2*eval(xx,t=i*dt),0,0.7,wheat), ТОЧКА(15+2*eval(xx,t=i*dt),-0.1), КОЛЕСО(2-eval(xx,t=i*dt)+2*eval(xx,t=i*dt),0.9+(3-eval(xx,t=i*dt))*tan(alpha),1.2,pink), КОЛЕСО(2-eval(xx,t=i*dt)+2*eval(xx,t=i*dt),0.9+(3-eval(xx,t=i*dt))*tan(alpha),0.5,pink),
ТОЧКА(2-eval(xx,t=i*dt)+2*eval(xx,t=i*dt),0.9+(3-eval(xx,t=i*dt))*tan(alpha)), ТОЧКА1(9.8-1.6*cos(eval(xx,t=i*dt))+2*eval(xx,t=i*dt),9.4*tan(alpha)-1.6*sin(eval(xx,t=i*dt))), ТОЧКА1(9.8+1.6*cos(eval(xx,t=i*dt))+2*eval(xx,t=i*dt),9.4*tan(alpha)+1.6*sin(eval(xx,t=i*dt))), ТОЧКА1(9.8+1.6*sin(eval(xx,t=i*dt))+2*eval(xx,t=i*dt),9.4*tan(alpha)-1.6*cos(eval(xx,t=i*dt))), ТОЧКА1(9.8-1.6*sin(eval(xx,t=i*dt))+2*eval(xx,t=i*dt),9.4*tan(alpha)+1.6*cos(eval(xx,t=i*dt))), ЛИНИЯ(9.8+2*eval(xx,t=i*dt),1.97+9.4*tan(alpha),14-eval(xx,t=i*dt)+2*eval(xx,t=i*dt),1.97+9.4*tan(alpha),1),
ЛИНИЯ(2-0.4*cos(alpha)-eval(xx,t=i*dt)+2*eval(xx,t=i*dt),2.64+0.7*sin(alpha)-eval(xx,t=i*dt)*tan(alpha),9.35-0.4*cos(alpha)+2*eval(xx,t=i*dt),(9.35-2)*tan(alpha)+2.64+0.7*sin(alpha),1),
ТОЧКА(9.8+2*eval(xx,t=i*dt),9.4*tan(alpha)),
p,p2,p13,p4,p8,p1,p5,p9,p91,p92, ЛИНИЯ(10+2*eval(xx,t=i*dt),10*tan(alpha),20+2*eval(xx,t=i*dt),10*tan(alpha),3),
А(15-eval(xx,t=i*dt)+2*eval(xx,t=i*dt),(10)*tan(alpha)+2.2*1.95), B(6.8+2*eval(xx,t=i*dt),2+9.4*tan(alpha)), C(-1-eval(xx,t=i*dt)+2*eval(xx,t=i*dt),0.9+(3-eval(xx,t=i*dt))*tan(alpha)), F(22+2*eval(xx,t=i*dt),0.5) },scaling=constrained);
end do:
display([seq(q||i,i=0..K)],scaling=constrained,insequence=true,axes=none):
end proc:
Warning, the names arrow and changecoords have been redefined
УСКОРЕНИЕ_ПРИЗМЫ:=W[1];WD[1](5*t**2);
> |
> |
> |