<< Chapter < Page Chapter >> Page >

Screen output

The text shown in Figure 9 should appear in the browser window when you open the html file in the browser.

Figure 9 . Screen output for Listing #5.
Start Script On EarthArrow is at 89.9 feet at 1.00 seconds Arrow is at 89.9 feet at 5.21 secondsOn the Moon Arrow is at 89.9 feet at 0.86 secondsArrow is at 89.9 feet at 36.33 seconds End Script

A function named getRoots

The quadratic formula isn't very complicated, but it is fairly tedious and easy to type incorrectly. Therefore, I decided to encapsulate it in afunction that we can copy into future scripts saving us the need to type it correctly in the future.

Listing 5 begins with the definition of a function named getRoots that receives the parameters a, b, and c, and returns the roots of the quadraticequation in a two-element array.

Real or imaginary roots

The roots of a quadratic equation can be either real or imaginary. If the roots are imaginary, this function simply returns NaN (not a number) for eachroot.

The parameters of the problem

Following the definition of the getRoots function, Listing 5 declares and initializes several variables to establish the parameters of the problem, such as the accelerationof gravity on the earth and moon, the initial velocity of the arrow, etc.

The computed height versus the target height

The target height for the problem is 89.9 feet. Note that the variable named d contains that value less the initial height of 6 feet. Thus, the script willfind the time at which the arrow has traveled 83.9 feet on the way up, and the time that it has traveled that same distance on the way back down.

Establish quadratic coefficients

The next three lines of code use the problem parameters to establish values for the standard coefficients of a quadratic equation, a, b, and c, as described above . Note that at this point in the script, the coefficient named a is based on the acceleration of gravity on earth. (Later, it will be changed to reflect the acceleration ofgravity on the moon.)

Get the roots of the quadratic equation

Then the script calls the getRoots function, passing a, b, and c asparameters, and stores the returned array containing the roots in the variable named roots .

Following that, the script extracts the roots from the array and displaysthem as shown by the text in the upper half of Figure 9 .

Repeat the process for the moon

Then Listing 5 sets the value of the coefficient named a to reflect theacceleration of gravity on the moon, repeats the process, and displays the results in the lower half of Figure 9 .

Note that the arrow reaches the target height somewhat quicker on the moon due to the lower acceleration of gravity, and takes much longer to arrive at thesame height on the way back down to the surface of the moon. Were we to create a chart similar to Figure 2 for the moon, we would see that the arrow goes much higher before turning around and falling back to the surface of the moon.

Other useful equations

You have learned how to use the following equation to solve various physics problems involving motion in a straight line with uniform acceleration so far inthis module.

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Game 2302 - mathematical applications for game development. OpenStax CNX. Jan 09, 2016 Download for free at https://legacy.cnx.org/content/col11450/1.33
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Game 2302 - mathematical applications for game development' conversation and receive update notifications?

Ask