Tank Ballistics App (Projectile Motion)

Andrew Chastain
6/17/2019

Teaching Projectile Motion

Using R with Shiny it is possible to build quick, interactive applications to help teach math and physics concepts. This presentation will discuss the features of my “Tank Ballistics” application and discuss how it can be used to experiment with the parameters that impact simple (zero drag) projectile motion.

http://andrewchastain.shinyapps.io/Tank_ballistics/

Projectile Motion

In this system, we know the parameters of projectile velocity (\( V \) \( (m/s) \)), angle of attack (\( \theta \) \( (degrees) \)) and strength of gravity (\( g \) \( (m/s^2) \)). The projectile velocity can then be broken down into the x and y components as:

\( V_{x} = V * cos(\theta * (2 \pi/360)) \)
\( V_{y} = V * sin(\theta * (2 \pi/360)) \)

This can then be used to write equations of motion in the x (horizontal) and y (vertical) directions. The equations of motion are functions of time, \( t \).

\( x(t) = V_{x} * t \)
\( y(t) = V_{y} * t - 1/2 * g * t^2 \)

Changing the angle

plot of chunk plot_angle

Tank Ballistics App

The app allows users to select values for strength of gravity, angle of attack (in degrees), projectile Speed, and an approximate distance to target. The target distance has a random jitter added to make things more interesting. By adjusting angle of attack and projectile speed (and/or gravity) the user is able to adjust the trajectory to try to land within 10m of the target.

plot of chunk example