Check whether a given point lies inside a rectangle or not | A utility function to calculate area of triangle formed by ( x1 , y1 ) , ( x2 , y2 ) and ( x3 , y3 ) ; A function to check whether point P ( x , y ) lies inside the rectangle formed by A ( x1 , y1 ) , B ( x2 , y2 ) , C ( x3 , y3 ) and D ( x4 , y4 ) ; Calculate area of rectangle ABCD ; Calculate area of triangle PAB ; Calculate area of triangle PBC ; Calculate area of triangle PCD ; Calculate area of triangle PAD ; Check if sum of A1 , A2 , A3 and A4 is same as A ; Let us check whether the point P ( 10 , 15 ) lies inside the rectangle formed by A ( 0 , 10 ) , B ( 10 , 0 ) C ( 0 , - 10 ) D ( - 10 , 0 )
< ? php function area ( $ x1 , $ y1 , $ x2 , $ y2 , $ x3 , $ y3 ) { return abs ( ( $ x1 * ( $ y2 - $ y3 ) + $ x2 * ( $ y3 - $ y1 ) + $ x3 * ( $ y1 - $ y2 ) ) / 2.0 ) ; } function check ( $ x1 , $ y1 , $ x2 , $ y2 , $ x3 , $ y3 , $ x4 , $ y4 , $ x , $ y ) { $ A = area ( $ x1 , $ y1 , $ x2 , $ y2 , $ x3 , $ y3 ) + area ( $ x1 , $ y1 , $ x4 , $ y4 , $ x3 , $ y3 ) ; $ A1 = area ( $ x , $ y , $ x1 , $ y1 , $ x2 , $ y2 ) ; $ A2 = area ( $ x , $ y , $ x2 , $ y2 , $ x3 , $ y3 ) ; $ A3 = area ( $ x , $ y , $ x3 , $ y3 , $ x4 , $ y4 ) ; $ A4 = area ( $ x , $ y , $ x1 , $ y1 , $ x4 , $ y4 ) ; return ( $ A == $ A1 + $ A2 + $ A3 + $ A4 ) ; } if ( check ( 0 , 10 , 10 , 0 , 0 , -10 , -10 , 0 , 10 , 15 ) ) echo " yes " ; else echo " no " ; ? >