Question: Trebuchet Trials! We are going to make a program that compares a number of trebuchets, sorts them by distance, and prints the result. The trebuchet
Trebuchet Trials! We are going to make a program that compares a number of trebuchets, sorts them by distance, and prints the result. The trebuchet class should allow the user to set the name, angle, and release velocity, and then calculate distance traveled of the projectile.
Skipping to the answer: distance = 2 * cos( angle_r ) * sin( angle_r ) * velocity * velocity / g Use g = 9.807 (unless you want your trebuchets on a different planet).
Note: Math.cos() and Math.sin() both take radians.
To convert an angle to radians from degrees, do angle_r = angle_d * Math.PI / 180.0 In your main(), make an array of trebuchets. Sort them. Print results.
Extra Credit: Make a .Generate() function in your Trebuchet class to randomly generate an angle and velocity (pick a max velocity, but all angles should be between 0 and 90)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Here's the calculation assuming a flat field (for the curious):
x = vx * t where t = 2*vy / g
Thus, x = 2 * vx * vy / g
where vx = cos( angle ) * velocity and vy = sin( angle ) * velocity
Thus, distance = 2 * cos( angle_r ) * sin( angle_r ) * velocity * velocity / g
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
