なんのひねりもなく、円の交点を求める

2つの円

C1:(xa1)2+(yb1)2=r12

C2:(xa2)2+(yb2)2=r22

を考える。

この交点を考えよう。

ただし今、C1の中心から見た、交点の方向にしか興味はない。

また、C1C2の位置関係は、中心間の距離 |(a1,b1)(a2,b2)|、半径r1, r2の大小関係によって判定できるが、ここでは、三角不等式

|r1r2|<|(a1,b1)(a2,b2)|<r1+r2

が成り立っている、つまり、C1C2は2点で交わっているものとする。

2つの円の方程式を辺々引くことで、

(2a1+2a2)x+(2b1+2b2)y+a12a22+b12b22=r12r22

2(a1a2)x+2(b1b2)y+(a1+a2)(a1a2)+(b1+b2)(b1b2)=r12r22

(a1a2)(a1+a22x)+(b1b2)(b1+b22y)=r12r22

ここで、

x=a1+r1cosθ

y=b1+r1sinθ

とおき、先の式に代入すると、

(a1a2)(a1+a22r1cosθ)+(b1b2)(b1+b22r1sinθ)=r12r22

となる。

α=a1a2

β=b1b2

ρ2=r12r22

とおいて整理すると、

α(α+2r1cosθ)β(β+2r1sinθ)=ρ2

αcosθ+βsinθ=ρ2+α2+β22r1

今、

γ=|α+iβ|=α2+β2

ϕ=(α+iβ)

とおけば、

cos(θϕ)=ρ2+γ22r1γ

θ=ϕ±arccos(ρ2+γ22r1γ)

となり、θが求まる。

これは、元をたどると、 交点と2つの円の中心のなす三角形に対して余弦定理を用い、円の中心同士を結ぶ直線の傾き分補正したのと同じである。