<< Chapter < Page Chapter >> Page >

A parallelogram

Note the point where the two lines intersect. The two lines and the two vectors should now form a parallelogram as shown in Figure 5 .

Solving for the resultant vector

According to the parallelogram law, the resultant vector, vecAC, is represented by a directed line that extends from point A to the intersection ofthe two lines that you constructed earlier. In other words, the sum of the two vectors is equal to a diagonal line that extends from the starting point to theopposite corner on the parallelogram that you constructed.

Subtracting vectors

In normal arithmetic subtraction, a subtrahend is subtracted from a minuend to find a difference .

To subtract a subtrahend vector from a minuend vector (in a plane), add 180 degrees to the direction of the subtrahend vector, causing it to point in theopposite direction, and add the modified subtrahend vector to the minuend vector.

If you subtract vecAB in the above example from vecBC, you should be able to show that the difference vector is represented by the other diagonal in theparallelogram. However, you will probably find it easier to do this mathematically rather than doing itgraphically.

Mathematical solutions

The horizontal component of the sum of two or more vectors is the sum of the horizontal components of the vectors.

The vertical component of the sum of two or more vectors is the sum of the vertical components of the vectors.

The horizontal and vertical components

The horizontal and vertical components respectively of a vector vecAB are equal to

  • vecABh = vecABmag * cos(angle)
  • vecABv = vecABmag * sin(angle)

where

  • angle is the angle that the vector makes relative to the horizontal axis.
  • vecABh, vecABv, and vecABmag are respectively the horizontal component, the vertical component, and the magnitude of the vector vecAB

The magnitude of the resultant vector

Given the horizontal and vertical components of the resultant vector, the magnitude of the resultant vector can be found using the Pythagorean theorem asthe square root of the sum of the squares of the horizontal and vertical components.

The angle of the resultant vector

The angle that the resultant vector makes with the horizontal axis is the arctangent (corrected for quadrant) of the ratio of the vertical component tothe horizontal component.

Using the Math.atan method

We will need to deal with several issues that arise when using the Math.atan method. Therefore, I will write a script that contains a function to deal with those issues. Then we can simply copy that function intofuture scripts without having to consider those issues at that time.

Please copy the code shown in Listing 1 into an html file and open the file in your browser.

Listing 1 . Using the Math.atan method.
<!-- File JavaScript01.html --><html><body><script language="JavaScript1.3">//The purpose of this function is to receive the adjacent // and opposite side values for a right triangle and to// return the angle in degrees in the correct quadrant. function getAngle(x,y){if((x == 0)&&(y == 0)){ //Angle is indeterminate. Just return zero.return 0; }else if((x == 0)&&(y>0)){ //Avoid divide by zero denominator.return 90; }else if((x == 0)&&(y<0)){ //Avoid divide by zero denominator.return -90; }else if((x<0)&&(y>= 0)){ //Correct to second quadrantreturn Math.atan(y/x)*180/Math.PI + 180; }else if((x<0)&&(y<= 0)){ //Correct to third quadrantreturn Math.atan(y/x)*180/Math.PI + 180; }else{//First and fourth quadrants. No correction required. return Math.atan(y/x)*180/Math.PI;}//end else }//end function getAngle//Test for a range of known angles. var angIn = 0;var angOut = 0; var x = 0;var y = 0; while(angIn<= 360){ x = Math.cos(angIn*Math.PI/180);y = Math.sin(angIn*Math.PI/180); angOut = getAngle(x,y).toFixed(1);document.write("angle = " + angOut + "<br/>"); angIn = angIn + 30;}//end while loop document.write("The End")</script></body></html>

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