Due date: 4/2 @ 9:50 am
Problem 1:
A trajectory of a shot fired from a cannon depends on the angle of the
gun. It is given by the function f(angle, t) = velocity * (t *
tan(angle) - g * t * t)
where g is the gravity constant, tan is the
trigonometry tangent function, and velocity is some
constant value.
Your job now is to help the gunner to shoot down the given target. The target is given by its position - it is a black circle of radius 10.
Part 1
Design the function that computes the position of the shot at the
given time, provided it was fired at the given angle and
at the given velocity.
Part 2
Design the function that will tabulate the values of the trajectory
function at times 0, 1, 2, ... , n for a given
angle and velocity.
Part 3
We now want to see the location of the shot at the times 0, 1, 2,
... , 40 shown on a scene of size 200 by
200. For the x-coordinate,
use the time multiplied by 5.
The y-coordinate is determined by the function value. Use the
floor function to convert the inexact number into an
integer.
Show the location of shots as red circles of radius 3.
Part 4
Design the function that determines whether the shot hit the target by checking whether the shot location at each time interval is within the bounds of the target. Do not worry about the position of the shot in between the time intervals.
Part 5
Design the function that determines whether the shot had gone above the target.
Adjust the constant speed and the gravity constant so that you can actually see the trajectory display. Do not worry whether the trajectory hits the ground while still within the bounds of the display, ... the trajectory of the shot once it is submerged under the water is no longer visible.
Exra Credit:
Design the function that will determine for a constant
velocity the angle needed to hit the given
target at the end of the scene at the
height 0 to 100. Assume that the
velocity is
sufficiently large so that this is always possible. Use successive
approximations -- if above, shoot a bit lower, if below, shoot a bit
higher, etc.