2つの円の共通接線の求め方と位置関係

今まで数学ネタを書いていたページに書いてあった話を1つだけこっちのブログに移植します。

2つの円の共通接線の話です。


xy座標平面上にある2つの円

{
C_1 : \ (x-x_1)^2 + (y-y_1)^2 = {r_1}^2 \hspace{20pt} (r_1 \gt 0) \\
C_2 : \ (x-x_2)^2 + (y-y_2)^2 = {r_2}^2 \hspace{20pt} (r_2 \gt 0)
}

の共通接線を求めてみましょう。

このままだと文字が多くて計算が大変なので、{ C_1 } が原点中心になるように両方の円を平行移動したものを考えます。


 p=x_2-x_1, \ q=y_2-y_1 とおいて

{ \displaystyle C_1' : x^2 + y^2 = {r_1}^2 \\ C_2' : (x-p)^2 + (y-q)^2 = {r_2}^2 }

の共通接線を求めてみましょう。

共通接線を求める

C_1' の周上に点 (\alpha, \ \beta) を取り、その点における接線を l とします。

このとき  \alpha^2+\beta^2={r_1}^2 であり、接線 l \alpha x+\beta y-{r_1}^2=0 で表されます。

lC_2' に接するとき、C_2' の中心と直線 l との距離は r_2 なので

{ \displaystyle \frac{|\alpha p+\beta q-{r_1}^2|}{\sqrt{\alpha^2+\beta^2}} = r_2 }

すなわち

{ \displaystyle |\alpha p+\beta q-{r_1}^2| = r_1 r_2 }

が成り立ちます。


このとき

{
\begin{cases}
    \displaystyle \ \alpha^2+\beta^2={r_1}^2 \\
    \displaystyle \ |\alpha p+\beta q-{r_1}^2| = r_1 r_2
\end{cases}
}

の2式を連立させれば点 (\alpha, \ \beta) の座標が求まりそうです。


これを解いてみると

{ \alpha p+\beta q-{r_1}^2 = r_1 r_2 } のとき

{
\begin{cases}
    \displaystyle \alpha = \frac{pr_1 (r_1+r_2) \pm qr_1 \sqrt{p^2+q^2-(r_1+r_2)^2}}{p^2+q^2} \\
    \displaystyle \beta = \frac{qr_1 (r_1+r_2) \mp pr_1 \sqrt{p^2+q^2-(r_1+r_2)^2}}{p^2+q^2}
\end{cases}
}

{ \alpha p+\beta q-{r_1}^2 = - r_1 r_2 } のとき

{
\begin{cases}
    \displaystyle \alpha = \frac{pr_1 (r_1-r_2) \pm qr_1 \sqrt{p^2+q^2-(r_1-r_2)^2}}{p^2+q^2} \\
    \displaystyle \beta = \frac{qr_1 (r_1-r_2) \mp pr_1 \sqrt{p^2+q^2-(r_1-r_2)^2}}{p^2+q^2}
\end{cases}
}

となります。なお、それぞれの場合で複号同順です。


これら0~4つの解を l の式  \alpha x+\beta y-{r_1}^2=0 に代入すれば、それが C_1'C_2' の共通接線になります。

"0~4つ"というのは、根号の中の符号によって共通接線が存在しない場合や、存在しても4本に満たない場合があるからです。2つの円の位置関係ってやつです。


したがってこれを元の位置へ平行移動することによって、C_1 と共通接線との接点の座標は (x_1+\alpha, \ y_1+\beta) であり、C_1C_2 の共通接線は

 \alpha (x-x_1)+\beta (y-y_1)-{r_1}^2=0

と求まります。やったーー!!!!!!

共通内接線と共通外接線

と、求めるだけならここで終了ですが、ここで疑問が残ります。

円の共通接線には、共通内接線共通外接線の2種類があります。

2円の中心を結ぶ線分上で交わるものが共通内接線です。そして2円の外側にくっついているものが共通外接線です。

先ほど高々4つの接点が求まりましたが、どれが共通内接線の接点で、どれが共通外接線の接点なのでしょうか。


f:id:hge:20160207025123p:plain

[図 1]


ここから先は平行移動した円 C_1'C_2' で考えます。

以降、{ \alpha p+\beta q-{r_1}^2 = r_1 r_2 } のときの2つの解を以下のように (\alpha_1, \ \beta_1), \ (\alpha_2, \ \beta_2) とおき、その点における接線をそれぞれ l_1, \ l_2 とします。

また、{ \alpha p+\beta q-{r_1}^2 = - r_1 r_2 } のときの2つの解を以下のように (\alpha_3, \ \beta_3), \ (\alpha_4, \ \beta_4) とおき、その点における接線をそれぞれ l_3, \ l_4 とします。


{
\begin{cases}
    \displaystyle \alpha_1 = \frac{pr_1 (r_1+r_2) + qr_1 \sqrt{p^2+q^2-(r_1+r_2)^2}}{p^2+q^2} \\
    \displaystyle \beta_1 = \frac{qr_1 (r_1+r_2) - pr_1 \sqrt{p^2+q^2-(r_1+r_2)^2}}{p^2+q^2}
\end{cases} \\
\begin{cases}
    \displaystyle \alpha_2 = \frac{pr_1 (r_1+r_2) - qr_1 \sqrt{p^2+q^2-(r_1+r_2)^2}}{p^2+q^2} \\
    \displaystyle \beta_2 = \frac{qr_1 (r_1+r_2) + pr_1 \sqrt{p^2+q^2-(r_1+r_2)^2}}{p^2+q^2}
\end{cases} \\
\begin{cases}
    \displaystyle \alpha_3 = \frac{pr_1 (r_1-r_2) + qr_1 \sqrt{p^2+q^2-(r_1-r_2)^2}}{p^2+q^2} \\
    \displaystyle \beta_3 = \frac{qr_1 (r_1-r_2) - pr_1 \sqrt{p^2+q^2-(r_1-r_2)^2}}{p^2+q^2}
\end{cases} \\
\begin{cases}
    \displaystyle \alpha_4 = \frac{pr_1 (r_1-r_2) - qr_1 \sqrt{p^2+q^2-(r_1-r_2)^2}}{p^2+q^2} \\
    \displaystyle \beta_4 = \frac{qr_1 (r_1-r_2) + pr_1 \sqrt{p^2+q^2-(r_1-r_2)^2}}{p^2+q^2}
\end{cases}
}

{
\displaystyle l_n : \ \ \alpha_n x + \beta_n y - {r_1}^2 = 0 \hspace{15pt} (n=1,2,3,4)
}


まず試しに l_1l_2 の2式を連立方程式とみて  x, \ y について解き、この2直線の交点を求めてみます。

2直線の連立方程式は行列を用いて

{
\left(
    \begin{array}{cc}
      A & B \\
      C & D
    \end{array}
\right)
\left(
    \begin{array}{c}
      x \\
      y
    \end{array}
\right)
 = 
\left(
    \begin{array}{c}
      (p^2+q^2) {r_1}^2 \\
      (p^2+q^2) {r_1}^2
    \end{array}
\right)
}

と表すことができます。ただし

{
    A = (p^2+q^2) \alpha_1 = pr_1 (r_1+r_2) + qr_1 \sqrt{p^2+q^2-(r_1+r_2)^2} \\
    B = (p^2+q^2) \beta_1 = qr_1 (r_1+r_2) - pr_1 \sqrt{p^2+q^2-(r_1+r_2)^2} \\
    C = (p^2+q^2) \alpha_2 = pr_1 (r_1+r_2) - qr_1 \sqrt{p^2+q^2-(r_1+r_2)^2} \\
    D = (p^2+q^2) \beta_2 = qr_1 (r_1+r_2) + pr_1 \sqrt{p^2+q^2-(r_1+r_2)^2}
}

です。

これを  x, \ y について解くと

{ 
\begin{array}
\displaystyle x&=
\displaystyle \frac
{
  \left|
    \begin{array}{cc}
      (p^2+q^2){r_1}^2 & B \\
      (p^2+q^2){r_1}^2 & D
    \end{array}
  \right|
}
{
  \left|
    \begin{array}{cc}
      A & B \\
      C & D
    \end{array}
  \right|
} \\
&= \displaystyle \frac{ (p^2+q^2){r_1}^2 (D-B) }{ AD-BC } \\
&= \displaystyle \frac{ 2(p^2+q^2)p{r_1}^3 \sqrt{p^2+q^2-(r_1+r_2)^2} }{ 2(p^2+q^2)(r_1+r_2){r_1}^2 \sqrt{p^2+q^2-(r_1+r_2)^2} } \\
&= \displaystyle \frac{pr_1}{r_1+r_2}
\end{array}
}

{ 
\begin{array}
\displaystyle y&=
\displaystyle \frac
{
  \left|
    \begin{array}{cc}
      A & (p^2+q^2){r_1}^2 \\
      C & (p^2+q^2){r_1}^2
    \end{array}
  \right|
}
{
  \left|
    \begin{array}{cc}
      A & B \\
      C & D
    \end{array}
  \right|
} \\
&= \displaystyle \frac{ 2(p^2+q^2)q{r_1}^3 \sqrt{p^2+q^2-(r_1+r_2)^2} }{ 2(p^2+q^2)(r_1+r_2){r_1}^2 \sqrt{p^2+q^2-(r_1+r_2)^2} } \\
&= \displaystyle \frac{qr_1}{r_1+r_2}
\end{array}
}

と交点の座標  (x, \ y) が求まります。なお、今回は解を求めるのにクラメルの公式を使用しました。

この答えを見て分かるとおり、交点の座標は C_1'C_2' それぞれの中心を結ぶ線分を  r_1 \colon r_2 に内分した点だったのです!!

面倒な計算をする必要はなかったのでした!!!!つらい!!!!!!!

この点 { \displaystyle \left( \frac{pr_1}{r_1+r_2}, \ \frac{qr_1}{r_1+r_2} \right) }C_1', \ C_2' の中心を結ぶ線分上にあることがわかったので、結果的に l_1l_2 は共に共通内接線ということになります。


なお、上の式において {
\displaystyle
  \left|
    \begin{array}{cc}
      A & B \\
      C & D
    \end{array}
  \right|
} = 0 となるのは  p^2+q^2=(r_1+r_2)^2 のときですから、このとき三平方の定理より2円は外接しています。(下図参照)

2円が外接しているときの共通内接線は1本ですから、そもそも交点なんてありません。

そして  p^2+q^2=(r_1+r_2)^2 が成り立つとき \alpha, \ \beta の根号の中は 0 なので、 \alpha_1 = \alpha_2, \ \ \beta_1 = \beta_2 となります。だから共通内接線がただ1本に決まるわけですね。

また、このとき2円の接する点の座標は先ほどと同じく { \displaystyle \left( \frac{pr_1}{r_1+r_2}, \ \frac{qr_1}{r_1+r_2} \right) } になりますが、この点は共通内接線の唯一の接点ですからこれは (\alpha_1, \ \beta_1) 及び (\alpha_2, \ \beta_2) と等しいのです。


f:id:hge:20160207025811p:plain

[図 2]


共通外接線については結論だけ書きます。

l_3, \ l_4 は共に共通外接線となり、交点の座標は { \displaystyle \left( \frac{pr_1}{r_1-r_2}, \ \frac{qr_1}{r_1-r_2} \right) } で表されます。

この点は C_1'C_2' の中心を  r_1 \colon r_2 に外分した点になっています。

 p^2+q^2=(r_1-r_2)^2 のとき2円は内接し、共通外接線は1本になります。

また、 r_1=r_2 のとき l_3, \ l_4 は平行です。


[追記]

点と直線の距離の公式を用いた式  |\alpha p+\beta q-{r_1}^2| = r_1 r_2 から区別ができることがわかりました。

絶対値の中の符号は、直線から見て点  (p,\ q) が直線の法線ベクトル  \boldsymbol{n}=(\alpha,\ \beta) の向きにあるときに正、法線ベクトルと反対の向きにあるときに負になります。

共通内接線の接点は接線から見て  \boldsymbol{n} と同じ向きにあるので、 \alpha p+\beta q-{r_1}^2 = r_1 r_2 のときは共通内接線です。

そして共通外接線の接点は接線から見て  \boldsymbol{n} と反対の向きにあるので、 \alpha p+\beta q-{r_1}^2 = - r_1 r_2 のときは共通外接線になります。

(追記おわり)


ここで一段落です。今度は2本の共通接線の位置関係について考えてみます。

共通接線の位置関係

共通内接線が2本あるとき、l_1, \ l_2 のどちらがどちら側の直線なのでしょうか?(うまく説明できない)

これは \alpha, \ \beta に含まれる根号の前の \pm の符号によって次のように確定します。*1

説明のために2円がちょうど上下に並んでいるとします。

このとき \alpha\pm がプラス( =\alpha_1)のとき接線 l_1 は左上から右下への直線、マイナス( =\alpha_2)のとき接線 l_2 は右上から左下への直線になります。

この位置関係は円の位置を移動させても変わりません。


次は共通外接線の位置関係です。

C_1' が下、C_2' が上になるように2円が上下に並んでいるとします。

このとき \alpha\pm がプラス( =\alpha_3)のとき接線 l_3 は右側の直線、マイナス( =\alpha_4)のとき接線 l_4 は左側の直線になります。

こちらも円の移動で位置関係が変わることはありません。なお、円の位置を上下にひっくり返すと左右も逆になることに注意してください。


文章で示されてもちんぷんかんぷんですね。[図 1] の添え字と照らし合わせてみてください。

もう1つの接点

もう1つ調べてみましょう。

C_1' と接線の接点は  (\alpha, \ \beta) でしたが、 C_2' と接線の接点はどこでしょうか。

面倒な計算をする必要はありません。


まずは共通内接線です。

下の[図 3]のように共通内接線と C_1', \ C_2' との接点をそれぞれ A, \ B とし、円 C_2' の中心を C,点 A, \ B から OC へ引いた垂線の足をそれぞれ D, \ E とします。

このとき  \triangle{AOD} \sim \triangle{BCE} (相似)であり、その相似比は {r_1 \colon r_2} です。

したがって { \displaystyle
\overrightarrow{CE} = -\frac{r_2}{r_1} \overrightarrow{OD} = -\frac{r_2}{r_1} \left( \begin{array}{c} \alpha \\ 0 \end{array} \right), \hspace{10pt}
\overrightarrow{EB} = -\frac{r_2}{r_1} \overrightarrow{DA} = -\frac{r_2}{r_1} \left( \begin{array}{c} 0 \\ \beta \end{array} \right)} が成り立ちます。

C の座標は (p, \ q) ですから、C_2' と接線の接点 Bの座標は  \displaystyle (p-\frac{r_2}{r_1}\alpha, \ q-\frac{r_2}{r_1}\beta) とわかります。


f:id:hge:20160208092149p:plain

[図 3]


続いて共通外接線です。

こちらも同じように図形をかくと相似比は {r_1 \colon r_2} で、ベクトルの向きは反転せずにそのままになります。

よって C_2' と接線の接点の座標は  \displaystyle (p+\frac{r_2}{r_1}\alpha, \ q+\frac{r_2}{r_1}\beta) となります。

まとめ

今までは C_1', \ C_2' で考えてきましたが、最後にこれを C_1, \ C_2 に関する結果としてまとめます。

{ \\
C_1 : \ (x-x_1)^2 + (y-y_1)^2 = {r_1}^2 \hspace{20pt} (r_1 \gt 0) \\
C_2 : \ (x-x_2)^2 + (y-y_2)^2 = {r_2}^2 \hspace{20pt} (r_2 \gt 0) \\
}

の共通内接線を l_i,共通外接線を l_e とすると、C_1l_i の接点は  (x_1+\alpha_i, \ y_1+\beta_i) で、C_1l_e の接点は  (x_1+\alpha_e, \ y_1+\beta_e) です。

また、 C_2l_i の接点は  \displaystyle (x_2-\frac{r_2}{r_1}\alpha_i, \ y_2-\frac{r_2}{r_1}\beta_i) で、C_2l_e の接点は  \displaystyle (x_2+\frac{r_2}{r_1}\alpha_e, \ y_2+\frac{r_2}{r_1}\beta_e) です。ただし  p=x_2-x_1, \ q=y_2-y_1 とおくと


{
\begin{cases}
    \displaystyle \alpha_i = \frac{pr_1 (r_1+r_2) \pm qr_1 \sqrt{p^2+q^2-(r_1+r_2)^2}}{p^2+q^2} \\
    \displaystyle \beta_i = \frac{qr_1 (r_1+r_2) \mp pr_1 \sqrt{p^2+q^2-(r_1+r_2)^2}}{p^2+q^2}
\end{cases}
}

{
\begin{cases}
    \displaystyle \alpha_e = \frac{pr_1 (r_1-r_2) \pm qr_1 \sqrt{p^2+q^2-(r_1-r_2)^2}}{p^2+q^2} \\
    \displaystyle \beta_e = \frac{qr_1 (r_1-r_2) \mp pr_1 \sqrt{p^2+q^2-(r_1-r_2)^2}}{p^2+q^2}
\end{cases}
}


また、接線 l_{i,e} の式は

 l_{i,e} : \ \ \alpha_{i,e} (x-x_1)+\beta_{i,e} (y-y_1)-{r_1}^2=0

と表されます。

l_i が2本存在するとき、その交点の座標は

{ \displaystyle \left( x_1+\frac{pr_1}{r_1+r_2}, \ y_1+\frac{qr_1}{r_1+r_2} \right)} すなわち { \displaystyle \left( \frac{r_1 x_2+r_2 x_1}{r_1+r_2}, \ \frac{r_1 y_2+r_2 y_1}{r_1+r_2} \right) }

l_e が2本存在するとき、その交点の座標は

{ \displaystyle \left( x_1+\frac{pr_1}{r_1-r_2}, \ y_1+\frac{qr_1}{r_1-r_2} \right)} すなわち { \displaystyle \left( \frac{r_1 x_2-r_2 x_1}{r_1-r_2}, \ \frac{r_1 y_2-r_2 y_1}{r_1-r_2} \right) }

です。



無駄に長くだらだら書いてしまいました。これでおしまいです。

続きを書きました。

hg.hatenablog.jp


*1:α, βに含まれる±の符号とp, qの符号が関係しあうことでα, βの大小が決定し、それに伴って位置が決定します。