Программа 10. Задача 19
> | restart:# Кинематика точки |
Количество кадров анимации и масштабные коэффициенты
> | N:=12: ka:=0.02: kv:=0.1: |
> | Закон движения |
> | x:=t:y:=2*t*(t-1)*(t-2): |
> | T:=1.1: # Время движения |
> | r:=vector([x,y,0]):# Векторы скорости и ускорения |
> | v:=map(diff,r,t); a:=map(diff,r,t$2); |
> | with(plots): |
> | pv:=0.01,0.04,0.11: # Параметры стрелок на рисунке |
> | with(plottools): |
> | for i to N do |
> | t:=i/N*T: |
> | r1:=vector([r[1],r[2]]); |
> | v1:=vector([v[1],v[2]]); |
> | a1:=vector([a[1],a[2]]); |
> | acc:=arrow(r1,evalm(a1*ka),pv,color=red); |
> | vel:=arrow(r1,evalm(v1*kv),pv,color=blue); |
> | txa:=TEXT([r[1]+a[1]*ka,r[2]+a[2]*ka],"a"): |
> |
> | txv:=TEXT([r[1]+v[1]*kv,r[2]+v[2]*kv],"v"): |
> | p[i]:=display(vel,acc,txa,txv): |
> | end: |
> | t:='t': |
> | g1:=display(seq(p[i],i=1..N),insequence=true): |
> | g2:=plot([x,y,t=0..T]): |
> | display(g1,g2,scaling=constrained,title="Velocity and acceleration"); |
> | with(linalg): V:=norm(v,2): # Модуль скорости |
> | at:=dotprod(v,a)/V: # Касательное ускорение |
> | a_:=norm(a,2): # Модуль ускорения |
> | an:=norm(crossprod(v,a),2)/V:# Нормальное ускорение |
> | t:=1/2: # Заданное время |
> | ` x`=x,` y`=y,` v`=V,` at`=at,` an`=an,` a`=a_,` R`=V^2/an; |
> |