I'm trying to find the intersection points of two spherical circles on a unit sphere.

two spherical circles and their intersection points

Each circle is defined by a normal vector n pointing to its center, and an angle θ used as radius, meaning that a point on the surface of the sphere is on the circle if the angle between it and n is θ.

Let d be the angle between n1 and n2 (normal vectors of circle 1 and 2).

if d > θ1 + θ2, the two circles do not intersect.

if d = θ1 + θ2, the two circles intersect on a single point.

if θ1 >= d - θ2, c1 is included in c2.

if θ2 >= d - θ1, c2 is included in c1.

In any other case, the two circles intersect in two points.

How can I calculate their coordinates ?

EDIT: what I've done so far

I somewhat tried (without success) to transpose that problem to 2D by projecting one of the circles to the plane of the other, and find the intersection points between what is now a 2D ellipse and a 2D circle, but I gave up as it feels way too complicated.

I also tried (again, without success) to find the great circle on which the two intersection points lies.

  • $\begingroup$ Can you show us your efforts? $\endgroup$
    – Dominique
    Feb 12 at 9:55
  • 3
    $\begingroup$ The rough idea: Each circle lies in a plane $n_k \cdot p = \cos \theta_k$, the intersection of these two planes is a line, and that line intersects the unit disk at two points. $\endgroup$
    – Martin R
    Feb 12 at 9:59
  • $\begingroup$ @Dominique I've updated my question $\endgroup$ Feb 12 at 10:12
  • $\begingroup$ @MartinR By "unit disk" you mean "unit sphere" right ? Indeed, that look easy enougth. Thx ! $\endgroup$ Feb 12 at 16:45
  • $\begingroup$ Yes, that is what I meant. $\endgroup$
    – Martin R
    Feb 12 at 18:10


You must log in to answer this question.

Browse other questions tagged .