<< Chapter < Page Chapter >> Page >

Screen output

When you open the html file in your browser, the text shown in Figure 7 should appear in your browser window.

Figure 7 . Screen output for Listing #2.
Hello from JavaScript vecABv = 0vecABh = 30 vecBCv = 28.284271247461902vecBCh = -28.2842712474619 vecResultMag = 28.336261665087125vecResultAng = 86.5286817554714 The End

Explanation of the code

Listing 2 begins with a copy of the getAngle method that I explained in conjunction with Listing 1 . I won't repeat that explanation here.

Define magnitudes and angles of vectors

Then Listing 2 declares and initializes four variables that represent the magnitude and angle of each of the two vectors. The variable names that end with"mag" contain magnitude values and the variable names that end with "ang" contain angle values, which are converted from degrees to radians.

Compute horizontal and vertical components

Then Listing 2 calls the Math.cos and Math.sin methods to compute the horizontal and vertical components of each vector. The variable names that endwith "h" contain horizontal component values and the variable names that end with "v" contain vertical component values.

Compute the sums of the components

The procedure for adding two or more vectors is to

  • Add the horizontal components of all the vectors to get the horizontal component of the resultant vector.
  • Add the vertical components of all the vectors to get the vertical component of the resultant vector.
  • Compute the magnitude (if needed) of the resultant vector as the square root of the sum of the squares of the horizontal and vertical components.
  • Compute the angle (if needed) of the resultant vector as the arctangent of the ratio of the vertical component and the horizontal component.

Listing 2 computes the sum of the horizontal components from each of the vectors and saves the result in the variable named vecResultH . Then it computes the sum of the vertical components and saves the result in thevariable named vecResultV .

Compute the magnitude of the resultant

In many cases, simply knowing the horizontal and vertical components is the solution to the problem. However, in some cases, it is necessary to convertthose components into a magnitude and an angle.

There are a couple of ways to compute the magnitude. One way is to use the Pythagorean theorem as described above to compute the square root of the sum of the squares of the horizontal and verticalcomponents.

The Math.sqrt and Math.pow methods

The method named Math.sqrt can be called to return the square root of its positive argument. (If the argument is negative, the method returns NaN, whichis an abbreviation for "Not a Number".)

The method named Math.pow can be called to raise the value specified by the first argument to the power specified by the second argument.

Listing 2 calls those two methods to compute the magnitude of the resultant and to save that value in the variable named vecResultMag .

Compute the angle of the resultant

Then Listing 2 calls the getAngle method that we developed earlier to get the angle of the resultant and to save the angle in degrees in the variable named vecResultAng .

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