<< Chapter < Page Chapter >> Page >

Mathematical points are created to represent the values in the four matrices in a 2D reference frame. Then, mathematical displacement vectors are created for each of the pointsrelative to the origin.

Graphical objects are created for each of the four displacement vectors and those objects are drawn along with Cartesian coordinate axesin the 2D reference frame.

The vectors are shown in the top portion of Figure 1 . The red and green vectors represent the red and green matrices. The blue and orange vectorsrepresent the sum and the difference of the red and green matrices.

Text output is displayed to show the matrix values as well as whether the two original matrices are equal. The text values corresponding tothe vectors in Figure 1 are shown in Figure 2 .

Figure 2 . Text output from the program.
redMatrix = 53.0,53.0 greenMatrix = 79.0,-66.0redMatrix equals greenMatrix: false blueMatrix = redMatrix + greenMatrix = 132.0,-13.0orangeMatrix = redMatrix - greenMatrix = -26.0,119.0

If you carefully adjust the sliders so that the two values contained in the redMatrix are the same as the two values contained in the greenMatrix , the red and green vectors will overlay as shown in Figure 3 and the third line of output text will show true as shown in Figure 4 . In this case, only the green vector and part of the blue (sum) vector are visible. The red vector is covered by the green vector, and the orange (difference) vector has a zero length.

Figure 3 Graphical output for equal vectors.

Missing image.

Figure 4 . Text output for equal vectors.
redMatrix = 100.0,100.0 greenMatrix = 100.0,100.0redMatrix equals greenMatrix: true blueMatrix = redMatrix + greenMatrix = 200.0,200.0orangeMatrix = redMatrix - greenMatrix = 0.0,0.0

There are many other interesting combinations that I could show. However, I will leave it as an exercise for the student to copy, compile, and run theprogram and use the sliders to experiment with different matrix values.

I will also provide an exercise for you to complete on your own at the end of the module. The exercise will concentrate on the material that you have learnedin this module and previous modules.

Discussion and sample code

Because of its interactive nature, much of the code in this program is at a complexity level that is beyond the scope of this course. However, most ofthe interesting work is done in the method named displayColumnMatrices and I will concentrate on explaining that method.

You can view a complete listing of the program named ColMatrixVis01 in Listing 8 near the end of the module.

Note that the program requires access to the game library named GM2D03 . The source code for that library was provided in the earlier module titled GAME2302-0115: Working with Column Matrices, Points, and Vectors and you can copy it from there.

The method named displayColumnMatrices

The purpose of this method is to:

  1. Create two column matrices named redMatrix and greenMatrix using values obtained from sliders.
  2. Create two more column matrices named blueMatrix and orangeMatrix by adding and subtracting the red and green matrices.
  3. Display text information about the matrices including whether or not the red and green matrices are equal.
  4. Create mathematical points in a 2D coordinate frame that represent the values in the matrices.
  5. Create mathematical displacement vectors that represent the displacements of each of the points relative to the origin.
  6. Create and draw graphics objects that represent each of the mathematical displacement vectors along with Cartesian coordinate axes for the 2D reference frame.

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