<< Chapter < Page Chapter >> Page >

Display the results

Finally Listing 2 calls the document.write method several times in succession to display the values stored in some of the variables mentioned above in thebrowser window as shown in Figure 7 . As you can see, the magnitude and angle of the resultant agrees with the estimate that I made using the graphic methodearlier.

Subtracting vectors

To subtract one vector from another using the mathematical approach, simply reverse the algebraic sign on the horizontal and vertical components for thesubtrahend vector and perform the addition shown in Listing 2 .

Adding more than two vectors

Let's work through a problem that requires the addition of four vectors.

A graphical solution

First I would like for you to lay out the vectors, tail-to-head on graph paper to create a solution to this problem.

Pretend that you take a walk consisting of the following sequential segments. Angles are specified relative to east with east being zero degrees. Positiveangles are counter-clockwise and negative angles are clockwise.

The segments are as follows:

  • 12 meters at 20 degrees
  • 8 meters at 120 degrees
  • 10.5 meters at -74 degrees
  • 12.5 meters at 145 degrees

What is your final displacement?

When you reach the end of the walk, what is your displacement (distance and direction) relative to the location at which you began the walk. You should beable to do a reasonable job of measuring the displacement using your vector diagram.

A mathematical solution

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

Listing 3 . The sum of four vectors.

<!-- File JavaScript03.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//Specify the magnitudes and angles of four vectors. //Convert the angles from degrees to radians.var vecAmag = 12; var vecAang = 20*Math.PI/180;//degrees*radians/degrees=radiansvar vecBmag = 8; var vecBang = 120*Math.PI/180;//degrees*radians/degrees=radiansvar vecCmag = 10.5; var vecCang = -74*Math.PI/180;//degrees*radians/degrees=radiansvar vecDmag = 12.5; var vecDang = 145*Math.PI/180;//degrees*radians/degrees=radians//Compute the horizontal and vertical components of each vector. var vecAh = vecAmag*Math.cos(vecAang);var vecAv = vecAmag*Math.sin(vecAang); var vecBh = vecBmag*Math.cos(vecBang);var vecBv = vecBmag*Math.sin(vecBang); var vecCh = vecCmag*Math.cos(vecCang);var vecCv = vecCmag*Math.sin(vecCang); var vecDh = vecDmag*Math.cos(vecDang);var vecDv = vecDmag*Math.sin(vecDang); //Compute the sums of the horizontal and vertical components from// the four vectors to get the horizontal and vertical component // of the resultant vector.var vecResultH = vecAh + vecBh + vecCh + vecDh; var vecResultV = vecAv + vecBv + vecCv + vecDv;//Use the Pythagorean theorem to compute the magnitude of the // resultant vector.var vecResultMag = Math.sqrt(Math.pow(vecResultH,2) + Math.pow(vecResultV,2));//Compute the angle of the resultant vector. vecResultAng = getAngle(vecResultH,vecResultV);document.write("Hello from JavaScript" + "<br/>") document.write("vecResultMag = " + vecResultMag.toFixed(2) + "<br/>"); document.write("vecResultAng = " + vecResultAng.toFixed(2) + "<br/>"); 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