skspatial.objects.Circle.intersect_circle

Circle.intersect_circle(other: Circle) Tuple[Point, Point][source]

Intersect the circle with another circle.

A circle intersects a circle at two points.

Parameters:
otherCircle

Other circle.

Returns:
point_a, point_bPoint

The two points of intersection.

Raises:
ValueError

If the centres of the circles are coincident. If the circles are separate. If one circle is contained within the other.

References

http://paulbourke.net/geometry/circlesphere/

Examples

>>> from skspatial.objects import Circle
>>> circle_a = Circle([0, 0], 1)
>>> circle_b = Circle([2, 0], 1)
>>> circle_a.intersect_circle(circle_b)
(Point([1., 0.]), Point([1., 0.]))
>>> circle_a.intersect_circle(Circle([0, 0], 2))
Traceback (most recent call last):
...
ValueError: The centres of the circles are coincident.
>>> circle_a.intersect_circle(Circle([3, 0], 1))
Traceback (most recent call last):
...
ValueError: The circles do not intersect. These circles are separate.
>>> Circle([0, 0], 3).intersect_circle(Circle([1, 0], 1))
Traceback (most recent call last):
...
ValueError: The circles do not intersect. One circle is contained within the other.