Node: Circle Intersections, Previous: Querying Circles, Up: Circle Reference



Intersections

bool_point_quadruple intersection_points (const Circle& c, [const bool verbose = false]) Virtual const function
Returns the intersection points of two Circles.

If the Circles are coplanar, they can intersect at at most two points. There is an easy algebraic solution for this, so in this case, this function is faster than Ellipse::intersection_points(Ellipse, bool), which uses an iterative procedure to find the points.

If the Circles are non-coplanar, the intersection points of each Circle with the plane of the other Circle are returned, so a maximum of four Points can be found.

          Circle t(origin, 5, 90);
          Circle c(origin, 3, 90);
          c.shift(3);
          c.rotate(0, 0, 45);
          bool_point_quadruple bpq = t.intersection_points(c);
          bpq.first.pt.dotlabel("$f$");
          bpq.second.pt.dotlabel("$s$");
          


[Figure 177. Not displayed.]

Fig. 177.