Geometrie/Numerický výpočet průniku dvou kružnic

Chceme vypočítat průsečíky C dvou kružnic, z nichž ani jedna neleží uvnitř druhé. Máme dány jejich středy [Ax, Ay], [Bx, By] a poloměry Ar a Br.

V obecném případě jsou tyto průsečíky 2. Budeme hledat jen jeden, jménem C. Druhý je osově převrácený okolo spojnice středů a snadno se nalezne.

Spočítáme vzdálenost středů:

Představíme si, že středy kružnic jsou dvěma body trojúhelníka a hledaný průsečík třetím. Potom jsou vzdálenosti d, Ar a Br délkami stran.

Rozdělíme bodem S úsečku d na části m a n (takže m + n = d), abychom získali dva pravoúhlé trojúhelníky ACS a BCS. Tyto trojúhelníky mají společnou výšku v = |SC|. Potom platí:

a

tudíž

Známe tedy rozdíl m a n:

pročež

Spočítáme výšku trojúhelníka v bodě C s využitím Pythagorovy věty.

Lineárně interpolujeme vzdálenost mezi středy a získáváme souřadnice bodu S (uprostřed průsečíků!):

a

Závěrem (pomocí jednoduchého triku se záměnou souřadnic z X a Y) přičteme/odečteme úsečku SC o délce v, kolmou na AB:

a

A získáváme souřadnice obou bodů.