Produit croisé de 2 vecteurs 2D

Quelqu’un peut-il fournir un exemple de fonction renvoyant le produit croisé de deux vecteurs 2D? J’essaye d’implémenter cet algorithme .

C code serait génial. Merci.


EDIT: trouvé une autre façon de faire qui fonctionne pour la 2D et qui est extrêmement facile.

bool sorting2d::inTriangle(vec2d pt) { float AB = (pt.y-p1.y)*(p2.x-p1.x) - (pt.x-p1.x)*(p2.y-p1.y); float CA = (pt.y-p3.y)*(p1.x-p3.x) - (pt.x-p3.x)*(p1.y-p3.y); float BC = (pt.y-p2.y)*(p3.x-p2.x) - (pt.x-p2.x)*(p3.y-p2.y); if (AB*BC>0.f && BC*CA>0.f) return true; return false; } 

(Remarque: le produit croisé de 2 vecteurs est défini uniquement dans les espaces 3D et 7D .)

Le code calcule le composant z de 2 vecteurs situés sur le plan xy :

 vec2D a, b; ... double z = ax * by - bx * ay; return z; 

Produit Mathworld Cross