Find Point of Intersection of Two Lines
pdd LinesIntersection(pdd A, pdd B, pdd C, pdd D) { // Line AB represented as a1x + b1y = c1 double a1 = B.second - A.second; double b1 = A.first - B.first; double c1 = a1*(A.first) + b1*(A.second); // Line CD represented as a2x + b2y = c2 double a2 = D.second - C.second; double b2 = C.first - D.first; double c2 = a2*(C.first)+ b2*(C.second); double determinant = a1*b2 - a2*b1; if (determinant == 0) { // The lines are parallel. This is simplified // by returning a pair of FLT_MAX return make_pair(FLT_MAX, FLT_MAX); ...