<< 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
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 .
Notification Switch
Would you like to follow the 'Game 2302 - mathematical applications for game development' conversation and receive update notifications?