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

今まで他ホームページに少し書いていた数学ネタですが,1つこちらのブログへ移植します。2つの円の共通接線の話です。


xy平面上にある2つの異なる円

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

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

このまま計算すると文字が多く大変なので,{ C_1 } の中心を原点へ移すように両方の円を  x 軸方向に  -x_1 y 軸方向に  -y_1 だけ平行移動させたものを考えます。


 p=x_2-x_1, \ q=y_2-y_1 とおいて,2つの円

{ \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) を任意にとり,その点における {C_1}'の接線を l とします。

(\alpha, \ \beta){C_1}'上の点なので  \alpha^2+\beta^2={r_1}^2 が成り立ちます。

また,接線 l の方程式は  \alpha x+\beta y-{r_1}^2=0 となります。

l が円 {C_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 }

が成り立つはずです。


以上より,

{
(*)\cdots \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式を連立させれば,共通接線の {C_1}'との接点 (\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 C_2の共通接線が求まります。

つまり,得られた点や直線を  x 軸方向に  x_1 y 軸方向に  y_1 だけ平行移動することで,2円  C_1,\ C_2の共通接線が得られるわけです。

したがって,C_1と共通接線の接点の座標は (x_1+\alpha, \ y_1+\beta) \alpha,\ \beta は上の式で得られる値)であり, C_1 C_2の共通接線の方程式は

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

となります。やったー!

共通内接線と共通外接線

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

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

2円の中心が直線を挟んでそれぞれ逆の領域にあるようなものが共通内接線です*1。そして2円の中心が直線に関して同じ側にあるようなものが共通外接線です*2

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


f:id:hge:20160207025123p:plain

[図 1]


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

上の図は,2円 {C_1}'{C_2}'とその共通接線の一例を図示したものです。

左下の円が {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円の共通内接線になり,l_3l_4 は共通外接線になります。

それを確かめてみましょう。


まず,2本の接線 l_1l_2 の方程式を連立して  x, \ y について解き,交点の座標を求めてみます。

l_1l_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}
}

となり,l_1l_2 の交点の座標が { \displaystyle \left( \frac{pr_1}{r_1+r_2}, \ \frac{qr_1}{r_1+r_2} \right) } であることが分かりました。

この結果を見て分かるとおり,交点の座標は {C_1}'{C_2}'それぞれの中心を結ぶ線分を  r_1 : r_2 に内分した点となりました*3

よってこの点は {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となります。したがって  l_1 l_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 : 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 から共通内接線・共通外接線の区別ができることがわかりました。

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

 {C_2}'の中心は共通内接線から見て  \boldsymbol{n} の向く方向にあるので, \alpha p+\beta q-{r_1}^2 = r_1 r_2 \ (> 0) のときに得られる直線は共通内接線です。

また,円  {C_2}'の中心は共通外接線から見て  \boldsymbol{n} の向く方向と逆の位置にあるので, \alpha p+\beta q-{r_1}^2 = - r_1 r_2 \ (< 0) のときに得られる直線は共通外接線になります。

(追記おわり)


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

共通接線の位置関係

共通内接線が2本存在するとき,l_1 l_2 はそれぞれどちら側の直線を表すのでしょうか?

つまり,"◯/◯","◯\◯" というように円と共通内接線があったとき, l_1 l_2 はそれぞれ / と \ のどちらの直線を表すものかどうかを考えましょう。

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

説明のために,2円  {C_1}', {C_2}' がちょうど上下に並んでいるとします。どちらが上でも構いません。

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

[図 1] の添え字が正しい位置関係を表しています。円が上下に並んでいるときは"\"という向きの接線が  l_1 で,"/"という向きの接線が  l_2 となります。

この位置関係は円の位置を連続的に移動させても変化しません。すなわち,連続的に円を移動させていく中で突然 l_1l_2 の位置関係がひっくり返ったりすることはありません。

ゆえに,円が左右に並んでいるときは, l_1 は "◯/◯" という向きの接線を表し, l_2 は "◯\◯"という向きの接線を表します。


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

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

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

こちらも円の連続的な移動によって位置関係が突然ひっくり返ることはありません。なお,円の位置を上下にひっくり返すと見かけ上 l_3l_4 が入れ替わったように見えることに注意してください。


もう1つの接点

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

{C_1}'と接線  l :\ \alpha x + \beta y - {r_1}^2 = 0 の接点は  (\alpha, \ \beta) でしたが, このときの {C_2}' と接線  l の接点の座標を求めてみましょう。

これは,図形の相似に着目することで簡単に得られます。


まずは共通内接線を考えましょう。

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

このとき  \triangle\text{AOD} \triangle\text{BCE} は相似であり,その相似比は {r_1 : r_2} です。

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

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


f:id:hge:20160208092149p:plain

[図 3]


続いて共通外接線です。

こちらも同じように図形をかくと相似比は {r_1 : 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 に関する結果としてまとめます。

2つの異なる円

{ \\
C_1 : \ (x-x_1)^2 + (y-y_1)^2 = {r_1}^2 \quad (r_1 \gt 0) \\
C_2 : \ (x-x_2)^2 + (y-y_2)^2 = {r_2}^2 \quad (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_il_e はそれぞれ高々2本ずつあります。


また,接線 l_il_e の方程式はそれぞれ

 {
l_i : \ \alpha_i (x - x_1) + \beta_i (y - y_1) - {r_1}^2 = 0 \\
l_e : \ \alpha_e (x - x_1) + \beta_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


[2019/02/08] 一部記述を修正しました。
[2021/02/02] 一部記述を修正しました。


*1:2本存在する場合,2円の中心を結ぶ線分上で交わります。

*2:2本存在する場合,2円の中心を結ぶ線分をある比で外分した点で交わります。

*3:相似の中心です!

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