Vector Kinematics

Adam Rumpf, 8/28/2017

Introduction

This Notebook contains a sequence of Manipulate environments which describe various types of motion. The time slider can be used to animate the particle as it moves along its path, while the radio buttons control which kinematic vectors are displayed. “v” displays the velocity vector with its components, “a” displays the acceleration vector with its components, and “v & a” displays the velocity and acceleration vectors together, in order to better see how acceleration influences velocity which in turn influences position.

Code

Initialization

(* kinematic equations for ballistic flight *)
x[1,t_]:=2t;
vx[1,t_]:=2;
ax[1,t_]:=0;
y[1,t_]:=10t-4.9(t^2);
vy[1,t_]:=10-9.8t;
ay[1,t_]:=-9.8;
tff[1]=Max[t/.Solve[y1[t]==0,t]];

(* kinematic equations for circle with constant angular velocity *)
x[2,t_]:=Cos[t];
vx[2,t_]:=-Sin[t];
ax[2,t_]:=-Cos[t];
y[2,t_]:=Sin[t];
vy[2,t_]:=Cos[t];
ay[2,t_]:=-Sin[t];
tff[2]=2Pi;

(* kinematic equations for circle with increasing angular velocity *)
x[3,t_]:=Cos[2Pi (t^2)];
vx[3,t_]:=-4Pi t Sin[2Pi (t^2)];
ax[3,t_]:=-16(Pi^2)(t^2)Cos[2Pi (t^2)]-4Pi Sin[2Pi (t^2)];
y[3,t_]:=Sin[2Pi (t^2)];
vy[3,t_]:=4Pi t Cos[2Pi (t^2)];
ay[3,t_]:=4Pi Cos[2Pi (t^2)]-16(Pi^2)(t^2)Sin[2Pi (t^2)];
tff[3]=2;

(* kinematic equations for figure eight *)
x[4,t_]:=1.25Sin[t];
vx[4,t_]:=1.25Cos[t];
ax[4,t_]:=-1.25Sin[t];
y[4,t_]:=0.6Sin[2t];
vy[4,t_]:=1.2Cos[2t];
ay[4,t_]:=-2.4Sin[2t];
tff[4]=2Pi;

Demonstration

(* Ballistic Projectile *)
With[{s=1},Manipulate[Show[{ParametricPlot[{x[s,t],y[s,t]},{t,0,tff[s]},PlotRange->{{0,5},{0,6}}],Switch[type,"v",Graphics[{Arrow[{{x[s,tf],y[s,tf]},{x[s,tf]+0.25vx[s,tf],y[s,tf]+0.25vy[s,tf]}}],Blue,Arrow[{{x[s,tf],y[s,tf]},{x[s,tf]+0.25vx[s,tf],y[s,tf]}}],Red,Arrow[{{x[s,tf],y[s,tf]},{x[s,tf],y[s,tf]+0.25vy[s,tf]}}],Black,PointSize[Large],Point[{x[s,tf],y[s,tf]}]}],"a",Graphics[{Arrow[{{x[s,tf],y[s,tf]},{x[s,tf]+0.125ax[s,tf],y[s,tf]+0.125ay[s,tf]}}],Blue,Arrow[{{x[s,tf],y[s,tf]},{x[s,tf]+0.125ax[s,tf],y[s,tf]}}],Red,Arrow[{{x[s,tf],y[s,tf]},{x[s,tf],y[s,tf]+0.125ay[s,tf]}}],Black,PointSize[Large],Point[{x[s,tf],y[s,tf]}]}],"v & a",Graphics[{Purple,Arrow[{{x[s,tf],y[s,tf]},{x[s,tf]+0.25vx[s,tf],y[s,tf]+0.25vy[s,tf]}}],Orange,Arrow[{{x[s,tf],y[s,tf]},{x[s,tf]+0.125ax[s,tf],y[s,tf]+0.125ay[s,tf]}}],Black,PointSize[Large],Point[{x[s,tf],y[s,tf]}]}]]}],{{tf,0.5,"time"},0.001,tff[s]},{{type,"v","vector"},{"v","a","v & a"},RadioButton}]
]

(* Circular Motion with Constant Angular Velocity *)
With[{s=2},Manipulate[Show[{ParametricPlot[{x[s,t],y[s,t]},{t,0,tff[s]},PlotRange->{{-1.5,1.5},{-1.5,1.5}}],Switch[type,"v",Graphics[{Arrow[{{x[s,tf],y[s,tf]},{x[s,tf]+vx[s,tf],y[s,tf]+vy[s,tf]}}],Blue,Arrow[{{x[s,tf],y[s,tf]},{x[s,tf]+vx[s,tf],y[s,tf]}}],Red,Arrow[{{x[s,tf],y[s,tf]},{x[s,tf],y[s,tf]+vy[s,tf]}}],Black,PointSize[Large],Point[{x[s,tf],y[s,tf]}]}],"a",Graphics[{Arrow[{{x[s,tf],y[s,tf]},{x[s,tf]+ax[s,tf],y[s,tf]+ay[s,tf]}}],Blue,Arrow[{{x[s,tf],y[s,tf]},{x[s,tf]+ax[s,tf],y[s,tf]}}],Red,Arrow[{{x[s,tf],y[s,tf]},{x[s,tf],y[s,tf]+ay[s,tf]}}],Black,PointSize[Large],Point[{x[s,tf],y[s,tf]}]}],"v & a",Graphics[{Purple,Arrow[{{x[s,tf],y[s,tf]},{x[s,tf]+vx[s,tf],y[s,tf]+vy[s,tf]}}],Orange,Arrow[{{x[s,tf],y[s,tf]},{x[s,tf]+ax[s,tf],y[s,tf]+ay[s,tf]}}],Black,PointSize[Large],Point[{x[s,tf],y[s,tf]}]}]]}],{{tf,Pi/6,"time"},0.001,tff[s]},{{type,"v","vector"},{"v","a","v & a"},RadioButton}]
]

(* Circular Motion with Increasing Angular Velocity *)
With[{s=3},Manipulate[Show[{ParametricPlot[{Cos[t],Sin[t]},{t,0,2Pi},PlotRange->{{-1.5,1.5},{-1.5,1.5}}],Switch[type,"v",Graphics[{Arrow[{{x[s,tf],y[s,tf]},{x[s,tf]+0.05vx[s,tf],y[s,tf]+0.05vy[s,tf]}}],Blue,Arrow[{{x[s,tf],y[s,tf]},{x[s,tf]+0.05vx[s,tf],y[s,tf]}}],Red,Arrow[{{x[s,tf],y[s,tf]},{x[s,tf],y[s,tf]+0.05vy[s,tf]}}],Black,PointSize[Large],Point[{x[s,tf],y[s,tf]}]}],"a",Graphics[{Arrow[{{x[s,tf],y[s,tf]},{x[s,tf]+0.0025ax[s,tf],y[s,tf]+0.0025ay[s,tf]}}],Blue,Arrow[{{x[s,tf],y[s,tf]},{x[s,tf]+0.0025ax[s,tf],y[s,tf]}}],Red,Arrow[{{x[s,tf],y[s,tf]},{x[s,tf],y[s,tf]+0.0025ay[s,tf]}}],Black,PointSize[Large],Point[{x[s,tf],y[s,tf]}]}],"v & a",Graphics[{Purple,Arrow[{{x[s,tf],y[s,tf]},{x[s,tf]+0.05vx[s,tf],y[s,tf]+0.05vy[s,tf]}}],Orange,Arrow[{{x[s,tf],y[s,tf]},{x[s,tf]+0.0025ax[s,tf],y[s,tf]+0.0025ay[s,tf]}}],Black,PointSize[Large],Point[{x[s,tf],y[s,tf]}]}]]}],{{tf,0.25,"time"},0.001,tff[s]},{{type,"v","vector"},{"v","a","v & a"},RadioButton}]
]

(* Figure-Eight Motion *)
With[{s=4},
Manipulate[Show[{ParametricPlot[{x[s,t],y[s,t]},{t,0,tff[s]},PlotRange->{{-1.5,1.5},{-1.5,1.5}}],Switch[type,"v",Graphics[{Arrow[{{x[s,tf],y[s,tf]},{x[s,tf]+0.4vx[s,tf],y[s,tf]+0.4vy[s,tf]}}],Blue,Arrow[{{x[s,tf],y[s,tf]},{x[s,tf]+0.4vx[s,tf],y[s,tf]}}],Red,Arrow[{{x[s,tf],y[s,tf]},{x[s,tf],y[s,tf]+0.4vy[s,tf]}}],Black,PointSize[Large],Point[{x[s,tf],y[s,tf]}]}],"a",Graphics[{Arrow[{{x[s,tf],y[s,tf]},{x[s,tf]+0.4ax[s,tf],y[s,tf]+0.4ay[s,tf]}}],Blue,Arrow[{{x[s,tf],y[s,tf]},{x[s,tf]+0.4ax[s,tf],y[s,tf]}}],Red,Arrow[{{x[s,tf],y[s,tf]},{x[s,tf],y[s,tf]+0.4ay[s,tf]}}],Black,PointSize[Large],Point[{x[s,tf],y[s,tf]}]}],"v & a",Graphics[{Purple,Arrow[{{x[s,tf],y[s,tf]},{x[s,tf]+0.4vx[s,tf],y[s,tf]+0.4vy[s,tf]}}],Orange,Arrow[{{x[s,tf],y[s,tf]},{x[s,tf]+0.4ax[s,tf],y[s,tf]+0.4ay[s,tf]}}],Black,PointSize[Large],Point[{x[s,tf],y[s,tf]}]}]]}],{{tf,Pi/6,"time"},0.001,tff[s]},{{type,"v","vector"},{"v","a","v & a"},RadioButton}]
]