This question already has an answer here:

Let AB and CD be two intersecting chords of a circle. How can I find the coordinates of the intersection point knowing only the euclidean coordinates of the endpoints A,B,C,D and the circle center point?

This can of course be solved with a segment-segment intersection algorithm (thanks for marking this question as duplicate, everyone), but I am asking if there is a simpler or more efficient algorithm that exploits the fact that the two line segments are chords of the same circle.


marked as duplicate by amd, user99914, Namaste, ccorn, Lord Shark the Unknown Sep 1 '18 at 6:30

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

  • $\begingroup$ Draw $AB$ and $CD$, what are you asking? $\endgroup$ – Maria Mazur Aug 31 '18 at 17:10
  • $\begingroup$ What do you know about the endpoints, exactly? What do you mean by "find" the intersection point? $\endgroup$ – Sambo Aug 31 '18 at 17:12
  • 1
    $\begingroup$ The points don't even have to be on a circle for you to find the intersection of two line segments. $\endgroup$ – David G. Stork Aug 31 '18 at 17:13
  • $\begingroup$ @Sambo I know their euclidean coordinates. I know the circle center coordinates, too. I added this clarification to the question. $\endgroup$ – user11171 Aug 31 '18 at 17:39
  • 1
    $\begingroup$ Seems unlikely. You can compute this intersection with three cross products, two divisions, and a range check on the distance from the center. You might be able to do something with the arc angles, but nothing that doesn’t involve evaluating inverse trig functions immediately comes to mind. $\endgroup$ – amd Aug 31 '18 at 20:48