Skip to main content
Logo image

Engineering Statics: Open and Interactive

Section 2.7 Dot Products

Unlike ordinary algebra where there is only one way to multiply numbers, there are two distinct vector multiplication operations. The first is called the dot product or scalar product because the result is a scalar value, and the second is called the cross product or vector product and has a vector result. The dot product will be discussed in this section and the cross product in the next.
For two vectors \(\vec{A}= \langle A_x, A_y, A_z \rangle\) and \(\vec{B} = \langle B_x, B_y, B_z \rangle,\) the dot product multiplication is computed by summing the products of the components.
\begin{equation} \vec{A} \cdot \vec{B} = A_x B_x + A_y B_y + A_z B_z \tag{2.7.1} \end{equation}
An alternate, equivalent method to compute the dot product is
\begin{equation} \vec{A} \cdot \vec{B} = | \vec{A} | | \vec{B} |\cos \theta = A\ B\ \cos \theta \tag{2.7.2} \end{equation}
where \(\theta\) in the equation is the angle between the two vectors and \(| \vec{A} |\) and \(| \vec{B} |\) are the magnitudes of \(\vec{A}\) and \(\vec{B}\text{.}\)
We can conclude from this equation that the dot product of two perpendicular vectors is zero, because \(\cos \ang{90} = 0\text{,}\) and that the dot product of two parallel vectors is the product of their magnitudes.
When dotting unit vectors which have a magnitude of one, the dot products of a unit vector with itself is one and the dot product two perpendicular unit vectors is zero, so for \(\ihat\text{,}\) \(\jhat\text{,}\) and \(\khat\) we have
\begin{align*} \ihat \cdot \ihat \amp = 1 \amp \jhat \cdot \ihat \amp = 0 \amp \khat \cdot \ihat \amp = 0\\ \ihat \cdot \jhat \amp = 0 \amp \jhat \cdot \jhat \amp = 1 \amp \khat \cdot \jhat \amp = 0\\ \ihat \cdot \khat \amp = 0 \amp \jhat \cdot \khat \amp = 0 \amp \khat \cdot \khat \amp = 1 \end{align*}
Dot products are commutative, associative and distributive:
  1. Commutative. The order does not matter.
    \begin{equation} \vec{A}\cdot\vec{B} = \vec{B}\cdot\vec{A}\tag{2.7.3} \end{equation}
  2. Associative. It does not matter whether you multiply a scalar value \(C\) by the final dot product, or either of the individual vectors, you will still get the same answer.
    \begin{equation} C\left( \vec{A}\cdot\vec{B} \right ) = C\ \vec{A}\cdot\vec{B}= \vec{A}\cdot C\ \vec{B}\tag{2.7.4} \end{equation}
  3. Distributive. If you are dotting one vector \(\vec{A}\) with the sum of two more \((\vec{B}+\vec{C})\text{,}\) you can either add \(\vec{B}+\vec{C}\) first, or dot \(\vec{A}\) by both and add the final value.
    \begin{equation} \vec{A}\cdot\left( \vec{B} + \vec{C} \right ) = \vec{A}\cdot\vec{B}+ \vec{A}\cdot \vec{C}\tag{2.7.5} \end{equation}
Dot products are a particularly useful tool which can be used to compute the magnitude of a vector, determine the angle between two vectors, and find the rectangular component or projection of a vector in a specified direction. These applications will be discussed in the following sections.

Subsection 2.7.1 Magnitude of a Vector

Dot products can be used to find vector magnitudes. When a vector is dotted with itself using (2.7.1), the result is the square of the magnitude of the vector. By the Pythagorean theorem
\begin{equation} |\vec{A}| = \sqrt{\vec{A} \cdot \vec{A}}\tag{2.7.6} \end{equation}
The proof is trivial. Consider vector \(\vec{A} = \langle A_x, A_y \rangle\text{.}\)
\begin{align*} \vec{A} \cdot \vec{A} \amp = A_x A_x + A_y A_y = A_x^2 + A_y^2 \\ \sqrt{\vec{A} \cdot \vec{A}} \amp = \sqrt{A_x^2 + A_y^2} = A = | \vec{A} | \end{align*}
. The results are similar for three-dimensional vectors.

Example 2.7.1. Find Vector Magnitude using the Dot Product.

Find the magnitude of vector \(\vec{F}\) with components \(F_x = \N{30}\text{,}\) \(F_y=\N{-40}\) and \(F_z = \N{50}\)
\begin{equation*} F = |\vec{F}| = \N{70.7} \end{equation*}
\begin{align*} \vec{F} \amp = \langle \N{30}, \N{-40}, \N{50} \rangle\\ \\ \vec{F} \cdot \vec{F} \amp = F_x^2 + F_y^2 + F_z^2\\ \amp = (\N{30})^2 +(\N{-40})^2 + (\N{50})^2\\ \amp = \N{5000}^2\\ \\ F \amp = |\vec{F}| = \sqrt{\vec{F} \cdot \vec{F}}\\ \amp = \sqrt{\N{5000}^2}\\ \amp = \N{70.7} \end{align*}

Subsection 2.7.2 Angle between Two Vectors

A second application of the dot product is to find the angle between two vectors. Equation (2.7.2) provides the procedure.
\begin{align} \vec{A} \cdot \vec{B} \amp = | \vec{A} | | \vec{B} |\cos \theta \notag\\ \cos \theta \amp = \frac{\vec{A} \cdot \vec{B}}{ | \vec{A} | | \vec{B} |}\tag{2.7.7} \end{align}

Example 2.7.2. Angle between Orthogonal Unit Vectors.

Find the angle between \(\ihat= \langle 1,0,0 \rangle\) and \(\jhat =\langle 0,1,0 \rangle\text{.}\)
\begin{equation*} \theta= \ang{90} \end{equation*}
\begin{align*} \cos \theta \amp = \frac{\ihat \cdot \jhat}{ | \ihat | | \jhat |}\\ \amp = \frac{(1)(0) + (0)(1) + (0)(0)}{(1)(1)}\\ \amp = 0 \\ \\ \theta \amp = \cos^{-1}(0) \\ \amp = \ang{90} \end{align*}
This shows that \(\ihat\) and \(\jhat\) are perpendicular to each other.

Example 2.7.3. Angle between Two Vectors.

Find the angle between \(\vec{F} = \langle \N{100}, \N{200}, \N{-50} \rangle \)and \(\vec{G} = \langle \N{-75}, \N{150}, \N{-40} \rangle\text{.}\)
\begin{equation*} \theta= \ang{51.7} \end{equation*}
\begin{align*} \cos \theta \amp = \frac{\vec{F} \cdot \vec{G}}{ | \vec{F} | | \vec{G} |}\\ \amp = \frac{ F_x G_x + F_y G_y + F_z G_z }{\sqrt{F_x^2 + F_y^2 + F_z^2}\sqrt{G_x^2 + G_y^2 + G_z^2}}\\ \amp = \frac{(100)(-75) + (200)(150) + (-50)(-40)} {\sqrt{100^2 + 200^2 + (-50)^2} \sqrt{(-75)^2 + 150^2 + (-40)^2}}\\ \amp = \frac{24500}{(229.1)(172.4)}\\ \amp = 0.620\\ \\ \theta \amp = \cos^{-1}(0.620) \\ \amp = \ang{51.7} \end{align*}

Subsection 2.7.3 Vector Projection

The dot product is used to find the projectionn of one vector onto another. You can think of a projection of \(\vec{B}\) on \(\vec{A}\) as a vector the length of the shadow of \(\vec{B}\) on the line of action of \(\vec{A}\) when the sun is directly above \(\vec{A}\text{.}\) More precisely, the projection of \(\vec{B}\) onto \(\vec{A}\) produces the rectangular component of \(\vec{B}\) in the direction parallel to \(\vec{A}\text{.}\) This is one side of a rectangle aligned with \(\vec{A}\text{,}\) having \(\vec{B}\) as its diagonal.
This is illustrated in Figure 2.7.4, where \(\vec{u}\) is the projection of \(\vec{B}\) onto \(\vec{A}\text{,}\) or alternately \(\vec{u}\) is the rectangular component of \(\vec{B}\) in the direction of \(\vec{A}\text{.}\)
In this text we will use the symbols
  • \(\proj_{\vec{A}}\vec{B}\) to mean the projection of \(\vec{B}\) on \(\vec{A}\text{,}\) a vector quantity,
  • \(|\proj_{\vec{A}}\vec{B}|\) to mean the magnitude of the projection, a positive or zero valued scalar, and
  • \(\|\proj_{\vec{A}}\vec{B}\|\) to mean the scalar component of the projection (the scalar projection), a signed scalar.
As we have mentioned before, the magnitude of a vector is its length and is always positive or zero, while a scalar component is a signed value which can be positive or negative. When a scalar component is multiplied by a unit vector the result is a vector in that direction when the scalar component is positive, or \(\ang{180}\) opposite when the scalar component is negative.


This interactive demonstrates the relationship between vectors \(\vec{A}\) and \(\vec{B}\) and the projection of \(\vec{B}\) onto \(\vec{A}\text{.}\) The checkbox switches between showing \(\proj_\vec{A}\vec{B}\) and \(\proj_\vec{B}\vec{A}\text{.}\)
Figure 2.7.4. Vector projection in two dimensions.
The interactive shows that the projection is the adjacent side of a right triangle with \(\vec{B}\) as the hypotenuse. From the definition of the dot product (2.7.2) we find that
\begin{equation*} \vec{A}\cdot \vec{B} = A ( B\ \cos \theta) = A\ \|\proj_A B\| \end{equation*}
, where \(B\ \cos \theta\) is the scalar component of the projection. So, the dot product of \(\vec{A}\) and \(\vec{B}\) gives us the projection of \(\vec{B}\) onto \(\vec{A}\) times the magnitude of \(\vec{A}\text{.}\) This value will be positive when \(\theta < \ang{90}\text{,}\) negative when \(\theta > \ang{90}\text{,}\) and zero when the vectors are perpendicular because of the properties of the cosine function.
So, to find the scalar value of the projection of \(\vec{B}\) onto \(\vec{A}\) we divide by the magnitude of \(\vec{A}\)
\begin{equation} \|\proj_{\vec{A}}\vec{B} \| =\frac{\vec{A}\cdot \vec{B}}{A}=\hat{\vec{A}}\cdot \vec{B}\tag{2.7.8} \end{equation}
The final simplified form is written in terms of the unit vector in the direction vector \(\hat{\vec{A}}=\dfrac{\vec{A}}{A}\text{.}\)
If you want the vector projection of \(\vec{B}\) onto \(\vec{A}\text{,}\) as opposed to the scalar projection we just found, multiply the scalar projection by the unit vector \(\hat{\vec{A}}\)
\begin{equation} \proj_{\vec{A}}\vec{B} = \|\proj_{\vec{A}}\vec{B} \| \hat{\vec{A}} = \left (\hat{\vec{A}} \cdot \vec{B} \right )\hat{\vec{A}}\tag{2.7.9} \end{equation}
Similarly, the vector projection of \(\vec{A}\) onto \(\vec{B}\) is
\begin{equation} \proj_{\vec{B}}\vec{A} ={\left (\vec{A} \cdot \hat{\vec{B}} \right )\hat{\vec{B}}}\tag{2.7.10} \end{equation}
The spatial interpretation of the results the scalar projection \(\|\proj_A B\|\) is
  • Positive value.
    means that \(\vec{A}\) and \(\vec{B}\) are generally in the same direction.
  • Negative value.
    means that \(\vec{A}\) and \(\vec{B}\) are generally in opposite directions.
  • Zero.
    means that \(\vec{A}\) and \(\vec{B}\) are perpendicular.
  • Magnitude smaller than \(\vec{B}\).
    This is the most common answer. The vectors are neither parallel nor perpendicular.
  • Magnitude equal to \(\vec{B}\).
    \(\vec{A}\) and \(\vec{B}\) point in the same direction, thus 100% of \(\vec{B}\) acts in the direction of \(\vec{A}\text{.}\)
  • Magnitude larger than \(\vec{B}\).
    This answer is impossible. Check your algebra; you might have forgotten to divide by the magnitude of \(\vec{A}\text{.}\)


This interactive shows the vector projection of \(\vec{A}\) on \(\vec{B}\) or of \(\vec{B}\) on \(\vec{A}\text{.}\)
You may change \(\vec{A}\) and \(\vec{B}\) by moving the red dots or entering values into the table cells. Click dot to switch between \(x\)-\(y\) mode and \(z\) mode. The components of \(\vec{A}\) and \(\vec{B}\) can also be entered into the table.
Figure 2.7.5. Vector projections in three dimensions.

Subsection 2.7.4 Perpendicular Components

The final application of dot products is to find the component of one vector perpendicular to another.
To find the component of \(\vec{B}\) perpendicular to \(\vec{A}\text{,}\) first find the vector projection of \(\vec{B}\) on \(\vec{A}\text{,}\) then subtract that from \(\vec{B}\text{.}\) What remains is the perpendicular component.
\begin{equation} \vec{B}_\perp = \vec{B} - \proj_{\vec{A}}\vec{B}\tag{2.7.11} \end{equation}
To find the component of vector B perpendicular to vector A, first find the vector projection of B on A, then subtract that from B. What remains is the perpendicular component.
Figure 2.7.6. Perpendicular and parallel components of \(\vec{B}\text{.}\)