Dot product

Formula

The dot product (scalar product) of two vectors is the product of the magnitudes of the two vectors and the cosine of the angle between them. The dot product of vectors \(\vec{V}\) and \(\vec{U}\) can be calculated thanks to the following formula:

$$ \vec{V} \cdot \vec{U} = V_x.U_x + V_y.U_y + V_z.U_z = | \vec{V} |. | \vec{U} | .cos (\theta) $$

where \(\theta\) is the angle between \(\vec{V}\) and \(\vec{U}\).

Properties

If \(\vec{V}\) and \(\vec{U}\) are perpendicular, \(\vec{V} \cdot \vec{U}\) is equal to zero.
If \(\vec{V}\) is null, \(\vec{V} \cdot \vec{U}\) is equal to zero.
If \(\vec{U}\) is null, \(\vec{V} \cdot \vec{U}\) is equal to zero.
\(\vec{V} \cdot \vec{V} = | \vec{V} | ^2\)
\(\vec{V} \cdot \vec{U} = \vec{U} \cdot \vec{V}\)
\(\vec{V} \cdot (-\vec{U}) = (-\vec{V}) \cdot \vec{U} = - ( \vec{V} \cdot \vec{U} )\)

C++ source code

/*!
 * \brief   Compute the dot product of two vectors (this . V)
 *          The current vector is the first operand
 * \param   V is the second operand
 * \return  the dot product between the current vector and V
 */
inline double rOc_vector::dot(const rOc_vector V)
{
    return this->x()*V.x() + this->y()*V.y() + this->z()*V.z();
}

See also


Last update : 06/11/2018