Calculations in 2D Kinematics

Essential Formulas

Accelerationx[Distancex_,VelocityInitial_,θ_,t_]:=(2*(Distancex-VelocityInitial*Cos[θ]*t))/(t^2)


VelocityFinalx[VelocityInitial_,θ_,Accelerationx_,t_]:=N[VelocityInitial*Cos[θ]+Accelerationx*t]


VelocityInitialx[VelocityFinal_,θ_,Accelerationx_,Distancex_]:=N[(Sqrt[(((VelocityFinal*Cos[θ]))^2)+2*Accelerationx*Distancex])]


Displacementx[xinitial_,VelocityInitial_,θ_,t_,Accelerationx_]:=N[xinitial+VelocityInitial*Cos[θ]*t+.5*Accelerationx*(t^2)]

Accelerationy[Distancey_,VelocityInitial_,θ_,t_]:=(2*(Distancey-VelocityInitial*Sin[θ]*t))/(t^2)


VelocityFinaly[VelocityInitial_,θ_,Accelerationy_,t_]:=N[VelocityInitial*Sin[θ]+Accelerationy*t]


VelocityInitialy[VelocityFinal_,θ_,Accelerationy_,Distancey_]:=N[(Sqrt[(((VelocityFinal*Sin[θ]))^2)+2*Accelerationy*Distancey])]


Displacementy[yinitial_,VelocityInitial_,θ_,t_,Accelerationy_]:=N[yinitial+VelocityInitial*Sin[θ]*t+.5*Accelerationy*(t^2)]

Calculating Displacement, Velocity, & Acceleration with Varying Conditions

Horizontal Acceleration Manipulate[Accelerationx[Distance,InitialVelocity,Angle,Time],{Distance,0,100},{InitialVelocity,0,50},{Angle,0,(π/2)},{Time,0,100}]
(*This calculates the horizontal componenet of the acceleration of an object, allowing the user to change the values of the distance traveled, initial velocity, the angle at which the object starts its motion relative to the x-axis, and the time.*)
Final Horizontal Velocity Manipulate[VelocityFinalx[InitialVelocity,Angle, Acceleration,Time],{InitialVelocity,0,50},{Angle,0,(π/2)},{Acceleration,-5,5},{Time,0,100}]
(*This calculates the horizontal component of the final velocity, allowing the user to change values of the inital velocity, the angle at which the object starts its motion  relative to the x-axis, the horizontal acceleration, and the time.*)
Initial Horizontal Velocity Manipulate[VelocityInitialx[FinalVelocity,Angle,Acceleration,Distance],{FinalVelocity,0,50},{Angle,0,(π/2)},{Acceleration,-5,5},{Distance,0,100}]
(*This calculates the horizontal component of the initial velocity, allowing the user to change the values of the final velocity, the angle at which the object starts its motion relative to the x-axis, the starting and ending points, and the horizontal acceleration.*)
Horizontal Displacement Manipulate[Displacementx[StartingPoint,InitialVelocity,Angle,Time,Acceleration],{StartingPoint,0,50},{InitialVelocity,0,50},{Angle,0,(π/2)},{Time,0,100},{Acceleration,-5,5}]
(*This calculates the horizontal displacement of the object, allowing the user to change the values of the starting point, the initial velocity, the angle at which the objects starts its motion, the time, and the horizontal acceleration.*)

Vertical Acceleration Manipulate[Accelerationy[Distance,InitialVelocity,Angle,Time],{Distance,0,100},{InitialVelocity,0,50},{Angle,0,(π/2)},{Time,0,100}]
(*This calculates the vertical componenet of the acceleration of an object, allowing the user to change the values of the distance traveled, initial velocity, the angle at which the object starts its motion relative to the x-axis, and the time.*)
Final Vertical Velocity Manipulate[VelocityFinaly[InitialVelocity,Angle, Acceleration,Time],{InitialVelocity,0,50},{Angle,0,(π/2)},{Acceleration,-10,10},{Time,0,100}]
(*This calculates the vertical component of the final velocity, allowing the user to change values of the inital velocity, the angle at which the object starts its motion  relative to the x-axis, the vertical acceleration, and the time.*)
Initial Vertical Velocity Manipulate[VelocityInitialy[FinalVelocity,Angle,Acceleration,Distance],{FinalVelocity,0,50},{Angle,0,(π/2)},{Acceleration,-10,10},{Distance, 0,100}]
(*This calculates the vertical component of the initial velocity, allowing the user to change the values of the final velocity, the angle at which the object starts its motion relative to the x-axis, the vertical acceleration, and the starting and ending points.*)
Vertical Displacement Manipulate[Displacementy[StartingPoint,InitialVelocity,Angle,Time,Acceleration],{StartingPoint,0,50},{InitialVelocity,0,50},{Angle,0,(π/2)},{Time,0,100},{Acceleration,-10,10}]
(*This calculates the vertical displacement of the object, allowing the user to change the values of the starting point, the initial velocity, the angle at which the objects starts its motion relative to the x-axis, the time, and the vertical acceleration.*)

Affects of Different Conditions on Graphs of Displacement and Velocity

Manipulate[Plot[InitialVelocity*Sin[Angle]*t+.5*Acceleration*(t^2),{t,0,11},AxesLabel->{Time,Displacement}],{InitialVelocity,0,50},{Angle,0,(π/2)},{Acceleration,-10,10}]
(*This is a graph of distance vs. time with variable initial velocity, starting angle, and acceleration. It shows the affect of an objects starting velocity, angle at which it starts moving relative to the x-axis, and its acceleration on its distance traveled. This is the vertical component of distance.*)

HeightDistribution=Table[v*Sin[θ]*1+.5*-2*1^2,{v,0,20},{θ,0,(π),(π/36)}];

ListPlot[HeightDistribution]
(*This is a scattered plot of various points which represent different situations. The time of travel is kept at a constant of 1, as is the acceleration at -2. When going left to right, and angle at which the object is released relative to the x-axis increases. It goes form 0  to 180 degrees in incriments of 5. Essentially, the angle shold only go up to 90 degrees because beyond that the object is being released backwards, but it goes up to 180 degrees instead in order to show a better distribution of points. When going down to up, the initial velocity increases. It starts at 0 and goes up to 20. Each point represents the maximum height at that specific angle and velocity. So, the highest point in this projection is the one where velocity equals 20, because the height is linearly dependent on velocity, and where the angle is 90 degrees because that is a projectile shot straight upward, which would produce the highest upward distance traveled. If a line is drawn through the points it would produce half of a parabola, which would apparently appear to be half of the actual motion of the object. However these points are not to be confused with the motion of the object. Each point is the maximum height of a parabola that is the motion of the object in a distance versus time. So there are 20x36, which is 720, objects represented in this projection.*)

GraphDistribution=Table[v*Sin[θ]*t+.5*-2*t^2,{v,15,20},{θ,(π/18),(π/2),(π/18)}];

Plot[GraphDistribution,{t,0,21},AxesLabel->{Time,Displacement}]
(*This is a graph of displacement vs. time of the above distribution. Acceleration is still at a constant of -2, but time is now a variable. I reduced the range of the velocity to be from 15 to 20 and the range of the angle to be from 10 degrees to 90 degrees in steps of 10 degrees because with the original values, this graph was taking too long to evaluate. Here, each parabola represents the trajectory of an object at a different starting velocity and angle. The max of each parabola is represented above by each of the points. Also, first I let the word "GraphDistribution" equal the table of values, then I plotted it because that takes almost half as much time as plotting the whole thing without initializing it, as shown below.*)

First[Timing[Plot[Table[v*Sin[θ]*t+.5*-2*t^2,{v,15,20},{θ,(π/18),(π/2),(π/18)}],{t,0,21}]]]
First[Timing[Plot[GraphDistribution,{t,0,21},AxesLabel->{Time,Displacement}]]]