Accordez-moi une faveur, prenez quelques instants pour découvrir mon dernier projet.

Merci, Lulu

Produit vectoriel (cross product)

Formule

Le produit vectoriel de deux vecteurs est un vecteur perpendiculaire au plan formé par les deux vecteurs. Le produit vectoriel de \(\vec{V}\) et \(\vec{U}\) peut être calculé grâce à la formule suivante :

$$ \vec{V} \times \vec{U} = \left ( \begin{matrix} V_y.U_z - V_z.U_y \\ V_z.U_x - V_x.U_z \\ V_x.U_y - V_y.U_x \end{matrix} \right ) $$

Propriétés

Properties
Si \(\vec{V}\) et \(\vec{U}\) sont collinéaires, \(\vec{V} \times \vec{U}\) est un vecteur nul.
Si \(\vec{V}\) est nul, \(\vec{V} \times \vec{U}\) est un vecteur nul.
Si \(\vec{U}\) est nul, \(\vec{V} \times \vec{U}\) est un vecteur nul.
\(\vec{V} \times \vec{U}\) est normal au plan formé par les vecteurs \(\vec{V}\) and \(\vec{U}\).
\(\vec{V} \times \vec{U}=-(\vec{U} \times \vec{V}) = (-\vec{U}) \times \vec{V}\).

Code source C++

/*!
 * \brief   Compute the cross product of two vectors (this x V)
 *          The current vector is the first operand
 * \param   V is the second operand
 * \return  a vector = the cross product of the current vector by V
 */
inline rOc_vector rOc_vector::cross(const rOc_vector V)
{
    rOc_vector Res;
    Res.x()=this->y()*V.z() - this->z()*V.y();
    Res.y()=this->z()*V.x() - this->x()*V.z();
    Res.z()=this->x()*V.y() - this->y()*V.x();
    return Res;
}

Voir aussi


Dernière mise à jour : 13/04/2019