Vector Physics Computer Graphics Harmonics DOT Cross Product

Jeffrey Graf's image for:
"Vector Physics Computer Graphics Harmonics DOT Cross Product"
Image by: 

A vector is a mathematical object that can be used to represent a physical or mathematical property. By object, I mean a construct that contains two or more components. A vector always has a magnitude and a direction. Vectors are useful for representing forces,  velocities, orientations, phases, and very often rays of light.

Operations on a vector.

The first example I will use is addition of two vectors. Suppose we have a rail car and two locomotives, each capable of pulling with a force of L. If we position the two locomotives in tandem to each other, they will be capable of pulling our rail car with a force of 2(L) . Suppose we position our locomotives so that one is pulling in the forward direction and one is pulling in the reverse direction. Obviously, they will cancel each other out, and the resulting force will be zero. To represent this mathematically, we let the track represent the x axis. When our two locomotives are pulling in the same direction we sum their magnitudes, or L, but when one is reversed, we represent its force generation by negative L, so that when summed, it gives a resulting value of 0.

This one dimensional example is easily extendible to two dimensions. Suppose now instead of a train on a track, we are in a boat on a sea. Now we have an x axis which runs from bow to stern and a y axis that runs from starboard to port. Our presumed boat is a sailboat, which means a force is being exerted on it which has components in both directions, x and y. Likewise, the centerboard of the boat is exerting a force counter to the direction of  the wind, that will counter the boats tendency to drift downwind. As the boat moves forward in the water, the resistance due to the viscosity of the water increases until the boat reaches a maximum speed. When the boat is moving at a maximum speed, we can presume that the x components of all of the force vectors equals 0 and the y components of all of the force vectors equals 0. By creating this type of mathematical model for a physical system, like a sailing boat, we can make predictions about how changes in the size of the sail, the length of the boat or the size of the centerboard will affect overall speed. In fact, these types of predictions have given rise to sailboat classes, for example the 12-meter rule yachts. A 12-meter rule yacht is not 12 meters long ( about 30 feet ) but closer to 70 feet long.  The parameters of each design are plugged into an equation, and must produce a number less than 12 meters. Thus construction of vector models of sailing vessels gave rise to early hull and sail rating systems, and continue to provide a means to compare different vessels.

Much of the same principles hold true for automotive design or aircraft design. Most likely, you will not have to design your own aircraft, but given the popularity of flight simulator games, you might want to give it a shot, and fly your creation on your own flight simulator.

There are other operations that can be performed on vectors, in particluar the cross product and the dot product. The dot product of two vectors, which is a fairly straight forward equation, represents the angle between two vectors times the length of each vector. In this case, a letter between | means absolute value, or vector sum of all of the components of the vector.

      (1)  a . b   =  ax * bx + ay * by + cx * cy      

      (2)  a . b   =  |a| |b| cosine (theta)

Thus if we want to calculate the angle between two vectors, we calculate the dot product with equation 1, then plug it into the second equation and solve for theta. ( we must use an arccos ) . In practice, where might we want to calculate the angle between two vectors. Actually, we do it all of the time. If you are playing a video game or watching a movie with computer generated graphics, there is an incident ray of light and a surface which the incident light hits. We calculate the angle between the incident light and the vector normal to the surface in order to generate a shading value, or a value that will be displayed on the screen to the game player or movie watcher.

Which brings up the other type of product that we can calculate between two vectors. A cross product of two vectors represents the normal to the plane that the two vectors are in. If the two vectors represent the edges on a face we want to render, then the cross product of those two vectors will be a vector which is normal to that face. This is useful because many operations in computer graphics packages, such as opengl request a normal to a face for their required arguments. If you are rendering a computer graphic model, you must know how to get cross products.

There is one last operation and application in physics that must be mentioned in an introductory note. That is that frequencies add together like vectors. For example if we have a function such as the sine of theta, which we can visualize as a tone or a wave form, and we add it to a function which is negative sine of theta, the result will be zero. They will cancel each other out. Likewise, if we add sine of theta to the cosine of theta, the result will be a single sinusoidal function who's amplitude is the vector sum of the two curves. We can visualize this in a few ways. First, if we have two guitar strings that are almost the same pitch but not quite, we will hear a beating as they move in phase and out of phase. The beating is the vector sum of the two sine curves as they move in and out of phase.

Advanced signal processing takes advantage of these vector operations of frequencies to generate noise canceling technology. A recent commercial  by an automotive maker shows microphones sampling sound coming from engine components, and then calculating canceling, or negating sound to be played through speakers to cancel the engine noise out. In vector terms, this is much like our original example of two locomotives pulling in opposite directions, their vector sum is zero. Enjoy the ride!

More about this author: Jeffrey Graf

From Around the Web

  • InfoBoxCallToAction ActionArrow
  • InfoBoxCallToAction ActionArrow