<< Chapter < Page | Chapter >> Page > |
Listing 18 . Do the same operations in a different order. |
---|
//Draw vecB in GREEN with its tail at the origin.
g2D.setColor(Color.GREEN);vecB.draw(g2D,new GM2D04.Point(
new GM2D04.ColMatrix(0,0)));//Draw vecA in RED with its tail at the head of vecB.
g2D.setColor(Color.RED);vecA.draw(g2D,new GM2D04.Point(new GM2D04.ColMatrix(
vecB.getData(0),vecB.getData(1))));//Define a fourth vector as the sum of the first
// two vectors defined above by adding vecA to vecB.GM2D04.Vector sumB = vecB.add(vecA);//Draw sumB in BLACK with its tail at the origin.
// The head will coincide with the head of the// red vecA, and the visual manifestation of sumB will
// overlay the visual manifestation of sumAg2D.setColor(Color.BLACK);
sumB.draw(g2D,new GM2D04.Point(new GM2D04.ColMatrix(0.0,0.0)));
}//end drawOffScreen |
Then Listing 18 creates another vector by adding the red and green vectors and refers to the new vector as sumB . In the case of Listing 17, vecB is added to vecA to produce sumA . In Listing 18, vecA is added to vecB to produce sumB . In other words, the two addition operations are performed in reverse order in the twolistings. As I have mentioned before, the order in which you add vectors doesn't matter. The result will be the same no matter the order in which youadd them.
This is demonstrated in Listing 18 by drawing the vector referred to by sumB in black. As you can see in Figure 4 , the drawing of sumB overlays the earlier drawing of sumA and you can't tell one from the other.
(You know that the length of the two vectors is the same because the little circles at the heads of the two vectors overlay one another. You knowthat the directions are the same because sumB completely covers sumA .)
That concludes the discussion of the program named VectorAdd02 .
This program illustrates the fact that the length of the sum of two vectors is not necessarily equal to the sum of the lengths of the two vectors.
Two vectors are added by the program. The length of the sum is much smaller than the length of either of the original vectors. This is shown in Figure 5 where the red vector is added to the green vector producing the shorter blackvector.
Figure 5 Graphic screen output from the program named VectorAdd03.
Command-line output
In addition to the graphic output shown in Figure 5 , this program also produces three lines of text on the command-line screen as shown in Figure 6 .
Figure 6 . Command-line output from the program named VectorAdd03. |
---|
Red length = 111.80339887498948
Green length = 115.43396380615195Black length = 18.027756377319946 |
The text output on the command-line screen shows the length of each vector. As you can see in Figure 6 , the length of the black vector is much less than the length of either the red vector or the blue vector.
Not much that is new
The only thing that is new in this program is the call to the new getLength method of the GM2D04.Vector class to compute and display the length of each vector in Figure 6 .
Notification Switch
Would you like to follow the 'Game 2302 - mathematical applications for game development' conversation and receive update notifications?