<< Chapter < Page Chapter >> Page >

Interpreting the vector dot product

In effect, the dot product of two vectors provides a measure of the extent to which the two vectors have the same orientation. If the two vectors areparallel, the dot product of the two vectors has a maximum value of 1.0 multiplied by the product of the lengths of the two vectors. Normalizingthe vectors before computing the dot product will eliminate the effect of the vector lengths and will cause the results to be somewhat easier to interpret.

If the normalized vectors are parallel and point in the same direction, the dot product of the normalized vectors will be 1.0. If the normalizedvectors are parallel and point in opposite directions, the value of the dot product will be -1.0. If the vectors are perpendicular, the dot product ofthe two vectors will be 0.0 regardless of whether or not they are normalized.

For all orientations, the value of the dot product of normalized vectors will vary between -1.0 and +1.0.

More than three dimensions

You may have it in your mind that the use of mathematical concepts such as the vector dot product are limited to the three dimensions of width, height, anddepth. If so, that is a false impression. The vector dot product is very useful for systems with more than three dimensions. In fact,engineers and scientists deal with systems every day that have more than three dimensions. While it usually isn't too difficult to handle the mathinvolved in such systems, we have a very hard time drawing pictures of systems with more than three or four dimensions.

Digital convolution is a good example

I have spent much of my career in digital signal processing where I have routinely dealt with systems having thirty or forty dimensions. Forexample, in the module titled Convolution and Frequency Filtering in Java and some other related modules as well, I describe the process of digital convolution filtering .

One way to think of digital convolution is that it is a running dot product computation between one vector (the convolution filter) and a series of other vectors, each comprised of successive chunks of samples from the incomingdata. In non-adaptive systems, the vector that represents the convolution filter usually has a set of fixed coordinate values, and there may be dozens andeven hundreds of such coordinates. (For an adaptive system, the values that define the vector typically change as a function of time or some otherparameter.)

Often, the input data will consist of samples taken from a channel consisting of signal plus noise. The objective is often to design a vector (the convolution filter) that is parallel to all of the signal components in the incoming data and is perpendicular to all of the noise components in theincoming data. If that objective is achieved, the noise will be suppressed while the signal will be passed through to the output.

Documentation for the GM02 library

Click here to download a zip file containing standard javadoc documentation for the library named GM02 . Extract the contents of the zip file into an empty folder and open the file named index.html in your browser to view the documentation.

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