double iy2 = (-D*dx - std::abs(dy)*sqrt(r*r * dr*dr - D*D)) / (dr*dr);
return std::make_tuple(true, ix1, iy1, ix2, iy2);
}
+
+double
+angle_between_three_points(
+ double x1, double y1,
+ double x2, double y2,
+ double x3, double y3
+) {
+ return 0;
+}
WVPASS(!std::get<0>(tmpi10));
}
+WVTEST_MAIN("auxiliary angle between three points")
+{
+ double a;
+ a = angle_between_three_points(1, 0, 0, 0, 0, 1);
+ WVPASSEQ_DOUBLE(a, M_PI/2, 0.00001);
+ a = angle_between_three_points(0, 1, 0, 0, 1, 0);
+ WVPASSEQ_DOUBLE(a, M_PI/2, 0.00001);
+ a = angle_between_three_points(2, 2, 1, 1, 0, 0);
+ WVPASSEQ_DOUBLE(a, 0, 0.00001);
+ a = angle_between_three_points(-2, 2, -1, 1, -1, 2);
+ WVPASSEQ_DOUBLE(a, M_PI/4, 0.00001);
+ a = angle_between_three_points(-1, 2, -1, 1, -2, 2);
+ WVPASSEQ_DOUBLE(a, M_PI/4, 0.00001);
+}
+
WVTEST_MAIN("drivable")
{
double tmp_double_1 = 0;