Кирсанов М.Н. Решебник.Теоретическая механика. М.:ФИЗМАТЛИТ, 2002.
Иллюстрации и программы к книге
8.2. Задача 2
> | restart: |
> | read «ris.m»; |
Подписи шарниров на рисунке
> | nam:=array(1..5,[‘O’,’A’,’B’,’C’,’D’]): Начальные значения и размеры ( cм) Замечание: DB уменьшено с 16см и угол 60 заменен на 30 для того, чтобы механизм делал полный оборот |
> | OA:=29: BC:=29: |
> | AB:=37: DB:=10: |
Угловая скорость BD и период обращения
> | omegaDB:=-4: T:=abs(2*pi/omegaDB): |
Координаты опоры O
> | x[1]:=0:y[1]:=0: |
Координаты опоры D
> | x[5]:=AB*cos(pi/6)-DB: |
> | y[5]:=-OA+AB*sin(pi/6): y[4]:=y[5]-BC*sin(pi/6): |
Количество кадров K
> | K:=12:with(plots):with(plottools): |
Создаем все кадры
> | for i from 0 to K do |
> | t:=i/K*T: |
Закон движения DB
> | phi:=t*omegaDB: Координаты шарнира B |
> | x[3]:=x[5]+DB*cos(phi): y[3]:=y[5]+DB*sin(phi): koord(1,3,2,OA,AB): x[4]:=x[3]+sqrt(BC^2-(y[3]-y[4])^2): P[i]:=display(seq(Cir(i,1),i=2..4), box(4,5,2), seq(Line(i,i+1,6+i),i=1..3), Line(5,3,6), seq(TEXT([x[j]-2,y[j]+3],nam[j]),j=1..5)): 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,seq(Опора(i,1),i=[1,5]),Поверхность(35,-28,30,3)); |
> |