Кирсанов М.Н. Решебник.Теоретическая механика. М.:ФИЗМАТЛИТ, 2002.
Иллюстрации и программы к книге
13.3. Задача 8
> | restart: |
> | read «ris.m»: 1. Вычисление ускорений с помощью уравнений Лагранжа 2-го рода Радиусы (см) |
> | rc:=14:Rc:=28:rd:=17:Rd:=24: Радиусы инерции (см) ic:=28:id:=23: Массы (кг) ma:=18: mb:=5: mc:=10: md:=3: me:=8: Моменты инерции |
> | Jc:=mc*ic^2: Jd:=md*id^2: Обобщенные координаты — смещение А и тележки Е Угловая скорость блока D и скорость центра масс D omega:=(va-ve)/(Rd-rd): vd:=va-omega*Rd: |
Кинетическая энергия
> | T:=1/2*ma*va^2 +1/2*mb*(va*rc/Rc)^2 +1/2*Jd*omega^2+1/2*md*vd^2 +1/2*me*ve^2 +1/2*Jc*(va/Rc)^2: |
Инерциальные коэффициенты
> | a11:=coeff(diff(T,ve),ve): a12:=coeff(diff(T,ve),va): a22:=coeff(diff(T,va),va): |
Обобщенные силы
> | Qe:=0: Qa:=(ma+mb*rc/Rc)*G: |
Система канонических уравнений
> | eq1:=a11*We+a12*Wa=Qe: eq2:=a12*We+a22*Wa=Qa: |
Решение системы
> | R:=solve({eq1,eq2},{Wa,We}); assign(R): |
2. Изображение
Подписи шарниров на рисунке
nam:=[A,B,C,D,E]: Nnam:=[1,3,5,11,8]:
Rd:=24: a:=40: b:=10: r:=4:h:=40:
Угловые ускорения и ускорение центра D
> | epsD:=(Wa-We)/(Rd-rd): Wd:=Wa-epsD*Rd: |
> | epsC:=Wa/Rc: |
Координаты
> | x[12]:=0:y[12]:=0: y[2]:=0: y[4]:=0: x[5]:=0: y[5]:=Rc: y[6]:=y[5]: y[8]:=y[6]-b*2+Rd-rd: y[10]:=y[8]: y[7]:=y[8]-r*1.5: y[9]:=y[7]: x[2]:=-Rc:x[4]:=-rc: x[1]:=-Rc: x[3]:=-rc: y[11]:=y[6]+Rd: y[13]:=y[8]+b: Количество кадров K |
> | K:=12: with(plots):with(plottools): |
Создаем все кадры
> | for i from 0 to K do |
> | t:=5*i/K: |
> | phiC:=t^2/2*epsC: phiD:=t^2/2*epsD: Se:=t^2/2*We:Sd:=t^2/2*Wd: S12:=-35-phiC*Rc:S34:=-40-phiC*rc: S56:=100+h-Sd: y[1]:=S12: y[3]:=S34: x[7]:=120+h-Se-a: x[8]:=x[7]: x[9]:=x[7]+2*a: x[10]:=x[9]: x[11]:=S56: x[13]:=x[7]+a: x[6]:=x[11]: P[i]:=display(Cir(12,Rc),Cir(12,rc),Cir(7,r),Cir(9,r), box(13,1.2*a,b), box(1,r,r),box(3,r,r), Cir(11,Rd),Cir(11,rd),Cir(11,1), cir4(12,Rc,phiC),cir4(12,rc,phiC), cir4(11,Rd,-phiD),cir4(11,rd,-phiD), seq(TEXT([x[Nnam[j]]+4,y[Nnam[j]]+9],nam[j]),j=1..5), seq(Line(2*i-1,2*i,9),i=1..3),Lin(7,8),Lin(9,10)): od: |
Изображение механизма в движении
> | PP:=display(seq(P[i],i=0..K),insequence=true, thickness=2, scaling=constrained, axes=none): |
Warning, the name changecoords has been redefined
Warning, the name arrow has been redefined
> | display(PP,Опора(12,2),Поверхность(h,y[7]-r,170,6)); |
> |