View Single Post
Old 11-08-2010, 12:54 PM   #1
The Fifth Horseman
FUTURE SCIENCE BASTARD
 
The Fifth Horseman's Avatar


 
Join Date: Oct 2004
Location: Opole, Poland
Posts: 14,276
Default Collision detection algorithms

Assuming the collision detection runs for all objects on the map (because it does; neither programmer has much of an idea how to optimize that).
Which of these solutions is more effective? Is there a better way to do it?
Code:
bool check_collision(int x1, int y1, int x2, int y2, int r1, int r2) {
float d_x=x1-x2, d_y=y1-y2;
if (sqrt(d_x*d_x+d_y*d_y)<r1+r2) return true;
else return false; }
Code:
bool check_collision(int x1, int y1, int x2, int y2, int r1, int r2){
          int d_x=abs(x1-x2), r_t=r1+r2;
          if (d_x<r_t) { int d_y=abs(y1-y2);
                         if (d_y<r_t) { if (d_x*d_x+d_y*d_y<r_t*r_t) return true;
                                        else return false; }
                         else return false; }
__________________

"God. Can't you people see I'm trying to commit a crime against science and nature here?"
-- Reed Richards
The Fifth Horseman is offline                         Send a private message to The Fifth Horseman
Reply With Quote