ulvis.paste.net

Paste Search Dynamic
Recent pastes
CrossLine
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. bool    CrossLine(long x1, long y1, long x2, long y2, long x3, long y3, long x4, long y4) {
  5.         long x,y;
  6. long    dx1 = x2 - x1;
  7. long    dy1 = y2 - y1;
  8. long    dx2 = x4 - x3;
  9. long    dy2 = y4 - y3;
  10.         x = dy1 * dx2 - dy2 * dx1;
  11.         if(!x || !dx2)
  12.                 return
  13.                         false;
  14.         y = x3 * y4 - y3 * x4;
  15.         x = ((x1 * y2 - y1 * x2) * dx2 - y * dx1) / x;
  16.         y = (dy2 * x - y) / dx2;
  17.         return
  18.                 ((x1 <= x && x2 >= x) || (x2 <= x && x1 >= x)) && ((x3 <= x && x4 >= x) || (x4 <= x && x3 >= x));
  19. }
  20.  
  21.  
  22. int main() {
  23.         cout << CrossLine(0,0,2,2,2,0,0,2);
  24.         return 0;
  25. }
Parsed in 0.004 seconds