アポロニアン・ガスケット. 無数の円があり複雑な図形に見えますが, その描き方は意外と簡単です. この記事では, それを紹介したいと思います. (左側の図形を扱いますが, 右側の図形でも考え方はほぼ同じです. 両者は実は同じものです.)
それでは, さっそく描き方を述べたいと思います. アポロニアン・ガスケットは次の2ステップで描くことができます.
1. まず, 円 の上に3点
,
,
をとります.
(この記事で円と言えば, 円周を意味するものとします. また, 簡単のために, 円
は原点中心の単位円とします.)
次に, 互いに接する円
,
,
を, それぞれ点
,
,
で円
に接するように描きます.
(それぞれの円の中心も
,
,
で表します.)
このとき, 円 ,
,
の半径はそれぞれ
\[ r_A = \frac{1}{1 + \sqrt{\frac{2(1-\cos\theta)}{(1-\cos\varphi)(1-\cos\psi)}}}, \]
\[ r_B = \frac{1}{1 + \sqrt{\frac{2(1-\cos\varphi)}{(1-\cos\psi)(1-\cos\theta)}}}, \]
\[ r_C = \frac{1}{1 + \sqrt{\frac{2(1-\cos\psi)}{(1-\cos\theta)(1-\cos\varphi)}}} \]
で与えられます. これらを用いると, 円 ,
,
の中心は,
\[ (A_x,A_y) = (1-r_A) (\cos\alpha,\, \sin\alpha), \]
\[ (B_x,B_y) = (1-r_B) (\cos\beta,\, \sin\beta), \]
\[ (C_x,C_y) = (1-r_C) (\cos\gamma,\, \sin\gamma) \]
により計算できます.
2. 4つの "反転円" ,
,
,
を補助的に描きます.
円 は三角形
の内接円であり, その中心と半径は,
\[ (D'_x,D'_y) = \left(\frac{aA_x+bB_x+cC_x}{a+b+c}, \frac{aA_y+bB_y+cC_y}{a+b+c}\right),\, r_{D'} = \frac{2S}{a+b+c} \]
で与えられます( は三角形
の面積).
また, 円
は点
,
を通り円
に直交する円であり(円
,
についても同様), その中心と半径は,
\[ (A'_x,A'_y) = \left(\frac{\sin\beta - \sin\gamma}{\sin(\beta-\gamma)}, -\frac{\cos\beta - \cos\gamma}{\sin(\beta-\gamma)} \right),\, r_{A'} = \left|\frac{1 - \cos(\beta-\gamma)}{\sin(\beta-\gamma)}\right|, \]
\[ (B'_x,B'_y) = \left(\frac{\sin\gamma - \sin\alpha}{\sin(\gamma-\alpha)}, -\frac{\cos\gamma - \cos\alpha}{\sin(\gamma-\alpha)} \right),\, r_{B'} = \left|\frac{1 - \cos(\gamma-\alpha)}{\sin(\gamma-\alpha)}\right|, \]
\[ (C'_x,C'_y) = \left(\frac{\sin\alpha - \sin\beta}{\sin(\alpha-\beta)}, -\frac{\cos\alpha - \cos\beta}{\sin(\alpha-\beta)} \right),\, r_{C'} = \left|\frac{1 - \cos(\alpha-\beta)}{\sin(\alpha-\beta)}\right| \]
で与えられます.
次に, これらの反転円 ,
,
,
に関して, 円
,
,
,
を次々と反転させます.
ここで, 反転円
に関する反転とは, 下の図のように, 円
から円
を得る操作のことです.

\[ (T_x,T_y) = \frac{r_I^{2}}{d^{2} - r_S^{2}} (S_x, S_y),\quad r_T = \left|\frac{r_I^{2}}{d^{2} - r_S^{2}} \right| \, r_S \]
例えば円 を反転させる場合, まず反転円
に関して反転をとります.
それ以降は
,
,
,
のどれに関して反転をとってもよいのですが, 同じ反転円を続けて選ばないようにします.
(同じ反転を2回繰り返すと元に戻るからです.)
下は一例です.
以上で描き方の説明を終わります. 上記の方法をまとめると,
「最初の3つの円と4つの反転円さえ知れば, アポロニアン・ガスケットに現れる無数の円が描ける」
ということになります. 実際には全ての円を描くことはできないので, 反転の回数の上限を決める, あるいは円の半径の下限を決める, などの制限をつけて描くことになります. 記事中で述べた数式の導出と, この方法でアポロニアン・ガスケットが描かれる理由については, 今後何回かに分けて説明を加えたいと思います.