Advertisement
szanisz

Untitled

May 12th, 2016
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.98 KB | None | 0 0
  1. bool intersect(ray s, rectangle p)
  2. {
  3.     bool xcheck = false;
  4.     bool ycheck = false;
  5.     float x, y, vy, vx, eco;
  6.     for (int i = 0;i < 4;i++)
  7.     {
  8.     if ((multiplication(s.getnormx()*-1, p.getnormx(i))) / (multiplication(s.getnormy(), p.getnormy(i)!=0)))
  9.     {
  10.     x = s.getnormx()-p.getnormx(i);
  11.     y = s.getnormy() - p.getnormy(i);
  12.     eco= s.geteco()-p.geteco(i);
  13.  
  14.     if (x==0) {vy=eco/y; vx=eco-y*vy;}
  15.     else { vx = eco / x; vy = eco - x*vx; };
  16.     //std::cout << vx<<" "<<vy<<std::endl;
  17.     if (s.greatx()==1){
  18.     if(s.getx(1)>vx && vx<s.getx(0)){
  19.     if(p.getx(3)>vx && vx>p.getx(1)) xcheck=true;}}
  20.     else if (s.getx(0)>vx && vx<s.getx(1)) {
  21.         if (p.getx(3)>vx && vx>p.getx(1)) xcheck = true;
  22.     }
  23.    
  24.     if (s.greaty() == 1) {
  25.         if (s.gety(1)>vy && vy<s.gety(0)) {
  26.             if (p.gety(1)>vy && vy>p.gety(3)) ycheck = true;
  27.         }
  28.     }
  29.     else if (s.gety(0)>vy && vy<s.gety(1)) {
  30.         if (p.gety(1)>vy && vy>p.gety(3)) ycheck = true;
  31.    
  32. }
  33.  
  34.  
  35. }
  36. }
  37.     if (xcheck == true && ycheck == true) return true;
  38.     else return false;
  39. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement