3 bool PSPlanner::collide()
17 PSPlanner::PSPlanner()
21 std::tuple<bool, double, double> intersect(
28 double deno = (x1 - x2) * (y3 - y4) - (y1 - y2) * (x3 - x4);
30 return std::make_tuple(false, 0, 0);
31 double t = (x1 - x3) * (y3 - y4) - (y1 - y3) * (x3 - x4);
33 double u = (x1 - x2) * (y1 - y3) - (y1 - y2) * (x1 - x3);
36 if (t < 0 || t > 1 || u < 0 || u > 1)
37 return std::make_tuple(false, 0, 0);
38 return std::make_tuple(true, x1 + t * (x2 - x1), y1 + t * (y2 - y1));