Homecoming Cheerleader Launch

Activity Information

Learning Goals

  • Use kinematics to model a projectile in midair (HS-PS2-1)
  • Understand the relationship between launch velocity and distance traveled in the x-direction

Prior Knowledge Required

  • Scalar and vector quantities
  • kinematic equations

Code Manipulation

  • Interpret existing code
  • Add to existing code
  • Create code from mathematical equations

Activity

Handout – Homecoming Cheerleader Launch

This year the homecoming committee wants to put on a spectacular half-time show. Someone acquired a circus cannon for use in the celebrations! The cannon has plenty of adjustability—most importantly control over the launch speed.

The grounds department has built a launching platform 32 feet high. During half-time the platform will be placed at the 40-yard line on the football field. The pole vault pits, which are 36 inches thick, will be placed at the other 40-yard line.

While the band plays “We are the Champions” by Queen, cheerleaders will be systematically launched from the cannon mounted atop the
platform into the pole vault pits on the other side of the 50-yard line.

Here’s where the expertise of your team comes in. The planning committee knows about your physics prowess. They want you to make the
appropriate calculations to determine the proper launch velocity for the cheerleaders so they don’t miss the pit! The launch velocity controls are metric, that is, measured in m/s.

Additionally, your group has been tasked to create a computer simulation to demonstrate the trajectory of a launched cheerleader. For now, assume that the cannon can only be oriented horizontally. Take extra care in your computations—the safety of your classmates depends on your calculations!

Code

Link

GlowScript 2.9 VPython
#Set up windows
scene.width = 824
scene.height = 568
scene.center = vector(0,15,0)

field = box(pos=vector(0,-5,0), size=vector(200,10,24), axis=vector(1,0,0), color=color.green)
platform = box(pos=vector(-15,20,0), size=vector(10,40,10), axis=vector(1,0,0), color=color.white)
cheer = sphere(pos=vector(-10,40.5,0), radius=.5, color=color.red, make_trail=True)

vcheer = vector(5,0,0)

dt = .05

while cheer.pos.y > 0:
  rate(120)
  cheer.pos = cheer.pos + vcheer*dt

Answer Key

Handout – Homecoming Cheerleader Launch

First, let’s get all those measurements into meters:

  • 32 feet = 9.75 m
  • 10 yards = 9.14 m
  • 36 in = 0.91 m

The launch position and the pole vault pit will be 20 yards apart, which is 18.28 m.

Now let’s use those values to fix the locations, sizes and heights of the objects:

field = box(pos=vector(0,-5,0), size=vector(200,10,24), axis=vector(1,0,0), color=color.green)
platform = box(pos=vector(-15,5,0), size=vector(10,10,10), axis=vector(1,0,0), color=color.white)
cheer = sphere(pos=vector(-9.14,9.75,0), radius=.5, color=color.red, make_trail=True)

Let’s add something to represent the pole vault pits as well:

pit = ring(pos=vector(9.14,1,0), thickness = 0.91, radius = 4, axis = vector(0,1,0), color = color.orange)

We’ll need the acceleration due to gravity as well:

g = vector(0,-9.81,0)  # add acceleration

To get the cheerleader to fall, we need to update their velocity as well as their position in the while loop:

  vcheer = vcheer + g*dt  # add velocity update equation
  cheer.pos = cheer.pos + vcheer*dt # cheerleader position update equation

The necessary launch velocity can be calculated and put directly into the code, or the code can be made to calculate the velocity for any specified distance.

First, we assume that the cheerleader’s velocity in the x-direction is constant. This means that the constant velocity equation vx = d/t can be used

Now we need to find the right value of t. This time will be the same as how long it takes the cheerleader to fall to the ground so let’s solve for that. This will come from the kinematic equation: d = (vi)t + 1/2at^2. Noting that our initial velocity in the y-direction is 0 m/s, this equation can be re-written:

d = 1/2at^2  =>  h = 1/2gt^2  =>  t = sqrt(2y/g)

This means that the x-velocity can be written as:

v = d/sqrt(2y/g)

Now that we have the right velocity let’s add it to the code before the while loop:

vcheer = vector(targetd/sqrt((2*(cheer.pos.y))/mag(g)),0,0)  # calculate the neccecary launch velocity for any target distance

Code

Link

GlowScript 2.9 VPython
#Set up windows
scene.width = 824
scene.height = 568
scene.center = vector(0,15,0)

field = box(pos=vector(0,-5,0), size=vector(200,10,24), axis=vector(1,0,0), color=color.green)
platform = box(pos=vector(-15,5,0), size=vector(10,10,10), axis=vector(1,0,0), color=color.white)
cheer = sphere(pos=vector(-9.14,9.75,0), radius=.5, color=color.red, make_trail=True)
pit = ring(pos=vector(9.14,1,0), thickness = 0.91, radius = 4, axis = vector(0,1,0), color = color.orange)

g = vector(0,-9.81,0)  # add acceleration

targetd = 18.28  # target distance, how far away from the platform in the x direction the cheerleader will land

vcheer = vector(targetd/sqrt((2*(cheer.pos.y))/mag(g)),0,0)  # calculate the neccecary launch velocity for any target distance

dt = .05

while cheer.pos.y > 0: # run the program while the cheerleader is above the ground
  rate(120)
  vcheer = vcheer + g*dt  # add velocity update equation
  cheer.pos = cheer.pos + vcheer*dt # cheerleader position update equation