Homework 2 Solution

$35.00 $30.80


***UPDATE: Please ENSURE you perform a “git pull” in /repos/aBurn/usr/. This will download the new 3D models needed for the radar, tower, missiles, dopper, and missile launcher.***


Also, HW2 will *NOT* run “out of the box” you will have to write some code inside of the WOInterceptorMissile class. If you simply compile and run the source code “as is”, it will crash on startup trying to create a WOInterceptorMissile.


You will create a projectile that follows Newtonian motion based on the following inputs:

  1. Heading (Degrees)
  2. Range (Meters)
  3. Time-to-impact (seconds)

You will implement the WOInterceptorMissile and the MotionStrategy classes. Most of the code is already written, you must read through all of it and compose the code where the comments instruct you to do so.

Do not forget to test your heading within the conf file. +X (red) is due north (0 degrees), -Y is due east (90 degrees), south is 180, west is -90 or 270 (green).


You will turn in a printout of your WOInterceptorMissile.cpp as well as your MotionStrategy.cpp class. There will be a quick functionality demo in class where I will ask each of you to enter in a prescribed trajectory information, I will watch the flight, and view the printout of the trajectory information.


  • L / LSHIFT-L: Toggle Light Position / Direction and toggle between point source and directional light source.
  • LSHIFT-R: Repopulate input parameters from aftr.conf. This will instantiate a new MotionStrategy and update the WOInterceptorMissile accordingly.
  • 1: Launch the missile if it is in a launch able state.
  • 2: Reset the missile back to origin and set it in a launch able state.
  • P: Prints trajectory information in the following format:

Printing Trajectory info…

V_horz (m/s) is  22.5166

V_vert (m/s) is  12.9983

Max Alt (m)  is 8.61134

Landing Position is (59.669, 0.000, 0.000)


Behavior Case 1: Along +X 10
Behavior Case 2: Non-axis Heading 10
MotionParabolic 20
WOInterceptorMissile 15