Suppose you have have a rectangle, bottom-left point 0,0 and upper-right point is 100,100. Now two line intersects the rectangle. I have to find out the coordinate of the intersection point. I have done that. Now the problem is I can't tell whether it is inside the rectangle or not. I used double comparison. But I think it is giving me wrong answer. Suppose the intersection point is ( x , y ). I used this checking for comparison : if( x >= 0.0 && x <= 100.0 && y >= 0.0 && y <= 100.0 ). What should I do?
//this function generates line line genline( int x1 , int y1 , int x2 , int y2 ){ line l ; l.A = y2 - y1 ; l.B = x1 - x2 ; l.C = l.A * x1 + l.B * y1 ; return l ; } //this function checks intersection bool intersect( line m ,line n ) { int det = m.A * n.B - m.B * n.A ; if( det == 0 ){ return false ; } else { double x = ( n.B * m.C - m.B * n.C ) / ( det * 1.0 ) ; double y = ( m.A * n.C - n.A * m.C ) / ( det * 1.0 ) ; if( x >= 0.0 && x <= L && y >= 0.0 && y <= W ) { return true ; } else{ return false ; } } } EDIT: Both the line are stretched to infinity.