float ax,ay,bx,by,cx,cy,px,py,d1, d2, d3;
cout ...
d1 = px*(ay-by) + py*(bx-ax) + (ax*by-ay*bx);
d2 = px*(by-cy) + py*(cx-bx) + (bx*cy-by*cx);
d3 = px*(cy-ay) + py*(ax-cx) + (cx*ay-cy*ax);
if ((d1<=0)&&(d2<=0)&&(d3<=0) || (d1>=0)&&(d2>=0)&&(d3>=0) ) cout << " Punkt lezy wewnatrz trojkata " << endl;
else cout << " Punkt nie lezy wewnatrz trojkata" << endl;
Potrzebuję zrobić taki program jak w temacie, znalazłem podany wyżej kod na pewnym forum, wszystko pięknie i ładnie działa, ale.. nie rozumiem na jakiej zasadzie, myślę, że to coś z wektorami.. Może mógłby ktoś wytłumaczyć na jakiej zasadzie wszystko działa ?