The document Dot Product of Vectors Mechanical Engineering Notes | EduRev is a part of the Mechanical Engineering Course Engineering Mechanics - Notes, Videos, MCQs & PPTs.

All you need of Mechanical Engineering at this link: Mechanical Engineering

The dot product is a value expressing the angular relationship between two vectors. In this article we will learn how this value is calculated, its mathematical significance, and several ways in which this function is useful in 3D applications.

**Calculating the Dot Product**

A dot product is a scalar value that is the result of an operation of two vectors with the same number of components. Given two vectors A and B each with *n* components, the dot product is calculated as:

A Â· B = A_{1}B_{1} + ... + A* _{n}*B

The dot product is thus the sum of the products of each component of the two vectors. For example if A and B were 3D vectors:

A Â· B = A.x * B.x + A.y * B.y + A.z * B.z

A generic C++ function to implement a dot product on two floating point vectors of any dimensions might look something like this:

`float dot_product(float *a,float *b,int size)`

`{`

` float dp = 0.0f;`

` for (inti=0;i<size;i++)`

` dp += a[i] * b[i];`

` return dp;`

`}`

This sample code is provided solely for the purpose of showing a generic function to clarify how the dot product is calculated; DirectX provides several implementations of this function for you, as you will see , though if you did need to write your own function (for example if using C++ without the D3DX libraries) you would likely just write separate functions to handle the vector types commonly used (2D,3D,4D) as inline code.

Earlier we said that the dot product represents an angular relationship between two vectors, and left it at that. Now we'll take a closer look at what this value represents.

Let's say we have two vectors, A and B, as shown to the left. The values |A| and |B| represent the lengths of vectors A and B, respectively, and *Î˜* is the angle between the two vectors. The dot product of vectors A and B will have the following relationship to these values:

A Â· B = |A| * |B| * cos(*Î˜*)

That is to say, the dot product of two vectors will be equal to the cosine of the angle between the vectors, times the lengths of each of the vectors.

**Angular Domain of Dot Product:**

Given the characteristics of the cosine function, we can deduce three possible conditions:

- If A and B are perpendicular (at 90 degrees to each other), the result of the dot product will be zero, because cos(
*Î˜*) will be zero. - If the angle between A and B are less than 90 degrees, the dot product will be positive (greater than zero), as cos(
*Î˜*) will be positive, and the vector lengths are always positive values. - If the angle between A and B are greater than 90 degrees, the dot product will be negative (less than zero), as cos(
*Î˜*) will be negative, and the vector lengths are always positive values.

**Angle from Dot Product of Unit Vectors**

The above characteristics are true for any vectors with non-zero length. In addition, there is a special case when both vectors are unit vectors, that is, vectors with a length of one (1.0). In this case, the lengths of the vectors does not contribute to the equation, simplifying to:

A Â· B = |A| * |B| * cos(*Î˜*)

A Â· B = 1 * 1 * cos(*Î˜*)

A Â· B = cos(*Î˜*)

In this case, the dot product is equal to the cosine of the angle between the vectors. Thus the angle between unit vectors can be calculated as:

*Î˜* = acos(A Â· B)

**Angle from Dot Product of Non-Unit Vectors**

Angles between non-unit vectors (vectors with lengths not equal to 1.0) can be calculated either by first normalizing the vectors, or by dividing the dot product of the non-unit vectors by the length of each vector.

**Dot Product of Vector with Itself**

Taking the dot product of a vector against itself (i.e. A Â· A) results in a value equal to the square of the vector's length. This is a familiar portion of the distance equation, d=sqrt(x*x+y*y+z*z).

**Projection of Vector onto another Vector**

If one were to take the dot product of a unit vector A and a second vector B of any non-zero length, the result is the length of vector B projected in the direction of vector A (see illustration to left). This is used in a number of ways, such as collision response and conversion of vectors from one coordinate system to another (this forms the basis of matrix transformations).

Offer running on EduRev: __Apply code STAYHOME200__ to get INR 200 off on our premium plan EduRev Infinity!

30 videos|72 docs|65 tests

### Dot Product of Vectors

- Video | 04:08 min
### Test: Dot Product And Cross Product

- Test | 30 ques | 30 min
### Scalars and Vectors

- Doc | 4 pages
### Scalars and Vectors

- Video | 12:34 min

- Position Vectors
- Doc | 1 pages
- Addition and Subtraction of Cartesian Vectors
- Doc | 1 pages