<< Chapter < Page Chapter >> Page >

However, the column matrix is not the vector . The contents of the column matrix simply represent certain attributes of the vector in a particular reference frame. Different column matrices can be used torepresent the same vector in different reference frames, in which case, the contents of the matrices will be different.

An absolute location in space

The fact that a column matrix can be used to represent both points and vectors can be confusing. However, as you will see later, this is convenientfrom a programming viewpoint.

The two (or three) real number values contained in the matrix to represent a point specify an absolute location inspace relative to the current coordinate frame.

A vector specifies a displacement

A vector does not have a position. Rather, it has only two properties: length and direction. Kjell tells us that the two (or three) real number values contained in the matrix to represent a vector (in 2D or 3D) specify a displacement of a specific distance from an arbitrary point in a specific direction.

In 2D, the two values contained in the matrix represent the displacements along a pair of orthogonal axes (call them x and y for simplicity) .

As you will see in a future module, in the case of 2D, the length of the vector isthe length of the hypotenuse of a right triangle formed by the x and y displacement values.

The direction of the vector can be determined from the angle formed by the x-displacement and the line segment that represents thehypotenuse of the right triangle. Similar considerations apply in 3D as well but they are somewhat more complicated.

The bottom line is that while a point is an absolute location , a vector is a displacement .

Do we need to draw vectors?

It is very common to draw vectors in various engineering disciplines, such as when drawing free-body diagrams in theoretical mechanics. My guess is that it is unusual todraw vectors in the final version of computer games, but I may be wrong.

Normally what you will need to draw in a computer game is the result of one or more vectors acting on an object, such as the velocity and acceleration vectorsthat apply to a speeding vehicle going around a curve. In that case, you might draw the results obtained from using the vector for mathematical computations (perhaps the vehicle turns over) but you probably wouldn't draw the vectors themselves.

The program named PointLine02 and the library named GM2D01

The purpose of this program is to introduce you to a game-math library named GM2D01 .

(The class name GM2D01 is an abbreviation for GameMath2D01. Later in this collection, I will develop and present a combination 2D/3D game-mathlibrary named GM03. I will develop and present several intermediate 2D and 3D libraries along the way.)

This program instantiates objects from the following static top-level classes belonging to the class named GM2D01 :

  • GM2D01.ColMatrix
  • GM2D01.Line
  • GM2D01.Point
  • GM2D01.Vector

(See the documentation for the library named GM2D01 .)

Then the program displays the contents of those objects on the standard output device in two different ways.

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