Comment calculer un produit croisé en Python
En supposant que nous ayons le vecteur A avec des éléments (A 1 , A 2 , A 3 ) et un vecteur B avec des éléments (B 1 , B 2 , B 3 ), nous pouvons calculer le produit vectoriel de ces deux vecteurs comme suit :
Produit croisé = [(A 2 *B 3 ) – (A 3 *B 2 ), (A 3 *B 1 ) – (A 1 *B 3 ), (A 1 *B 2 ) – (A 2 *B 1 )]
Par exemple, supposons que nous ayons les vecteurs suivants :
- Vecteur A : (1, 2, 3)
- Vecteur B : (4, 5, 6)
Nous pourrions calculer le produit vectoriel de ces vecteurs comme suit :
- Produit croisé = [(A 2 *B 3 ) – (A 3 *B 2 ), (A 3 *B 1 ) – (A 1 *B 3 ), (A 1 *B 2 ) – (A 2 *B 1 )]
- Produit croisé = [(2*6) – (3*5), (3*4) – (1*6), (1*5) – (2*4)]
- Produit croisé = (-3, 6, -3)
Vous pouvez utiliser l’une des deux méthodes suivantes pour calculer le produit vectoriel de deux vecteurs en Python :
Méthode 1 : utiliser la fonction cross() de NumPy
import numpy as np #calculate cross product of vectors A and B np.cross(A, B)
Méthode 2 : définissez votre propre fonction
#define function to calculate cross product def cross_prod(a, b): result = [a[1]*b[2] - a[2]*b[1], a[2]*b[0] - a[0]*b[2], a[0]*b[1] - a[1]*b[0]] return result #calculate cross product cross_prod(A, B)
Les exemples suivants montrent comment utiliser chaque méthode dans la pratique.
Exemple 1 : utiliser la fonction cross() de NumPy
Le code suivant montre comment utiliser la fonction cross() de NumPy pour calculer le produit vectoriel entre deux vecteurs :
import numpy as np #define vectors A = np.array([1, 2, 3]) B = np.array([4, 5, 6]) #calculate cross product of vectors A and B np.cross(A, B) [-3, 6, -3]
Le produit vectoriel s’avère être (-3, 6, -3) .
Cela correspond au produit croisé que nous avons calculé manuellement plus tôt.
Exemple 2 : définissez votre propre fonction
Le code suivant montre comment définir votre propre fonction pour calculer le produit vectoriel entre deux vecteurs :
#define function to calculate cross product def cross_prod(a, b): result = [a[1]*b[2] - a[2]*b[1], a[2]*b[0] - a[0]*b[2], a[0]*b[1] - a[1]*b[0]] return result #define vectors A = np.array([1, 2, 3]) B = np.array([4, 5, 6]) #calculate cross product cross_prod(A, B) [-3, 6, -3]
Le produit vectoriel s’avère être (-3, 6, -3) .
Cela correspond au produit vectoriel que nous avons calculé dans l’exemple précédent.
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes en Python :
Comment calculer le produit scalaire à l’aide de NumPy
Comment normaliser une matrice NumPy
Comment ajouter une ligne à la matrice dans NumPy