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

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!