Morceaux de code (Snippets en anglais) dédié pour le language C++.



Calculer le produit Scalaire de 2 vecteurs (Dot Product)



la formule mathématique :

Soit 2 vecteurs : v1(x1, y1) et v2(x2, y2)

Le produit scalaire ps = x1*x2 + y1*y2

Exemple pour v1(4, 2) et v2(3, 1)

ps = 4*3 + 2*1 = 12 + 2 = 14

En 3 dimensions il faut juste rajouter la 3ème coordonnée z

Le produit scalaire ps = x1*x2 + y1*y2 + z1*z2

Exemple pour v1(4, 2, 7) v2(-3,1,2)

On obtient ps = 4*(-3) + 2*1 + 7*2 = -12 + 2 + 14 = 4

Ok et en C++ alors ?

C'est pas beaucoup plus compliqué :

Version 2D :

float vecteur1[2] = { 4, 2 };
float vecteur2[2] = { 3, 1 };
float ProduitScalaire( float v1[2], float v2[2] ) // Routine qui calcule le produit scalaire de 2 vecteurs 2D

{
return ( v1[0]*v2[0] + v1[1]*v2[1] );
}


float ps = ProduitScalaire(vecteur1, vecteur2); // calcul le produit scalaire de vecteur1 et vecteur2 et met le resultat dans ps



Version 3D :

float vecteur1[3] = { 4, 2, 7 };
float vecteur2[3] = {-3, 1, 2 };
float ProduitScalaire( float v1[3], float v2[3] ) // Routine qui calcule le produit scalaire de 2 vecteurs 3D

{
return ( v1[0]*v2[0] + v1[1]*v2[1] + v1[2]*v2[2] );
}


float ps= ProduitScalaire(vecteur1, vecteur2); // calcul le produit scalaire de vecteur1 et vecteur2 et met le resultat dans ps







Réalisation WwW.SaTuRnE.NeT