レ☆ト☆ロ☆ラ☆ボ

タイトルテスト中

アポロニアン・ガスケットの描き方(2) ー 最初の3円

f:id:sekibunta:20141209160124p:plain

アポロニアン・ガスケットを描くには, まず第0世代の3つの円を描かなければなりません. 左図の円  A,  B,  Cの半径を大きくして, 右図のような互いに接する円にしたいのですが, それぞれの半径  r_A,  r_B,  r_C をどのようにとればよいでしょうか?

その答えは,

\[ r_A = \frac{r}{1 + \sqrt{\frac{2(1-\cos\theta)}{(1-\cos\varphi)(1-\cos\psi)}}}, \]

\[ r_B = \frac{r}{1 + \sqrt{\frac{2(1-\cos\varphi)}{(1-\cos\psi)(1-\cos\theta)}}}, \]

\[ r_C = \frac{r}{1 + \sqrt{\frac{2(1-\cos\psi)}{(1-\cos\theta)(1-\cos\varphi)}}} \]

となります( r は円  D の半径です). 本記事では, この公式を導出してみようと思います.

この公式を使うと, 最初の3点をいろいろと変えて, アポロニアン・ガスケットを描くことができます. アポロニアン・ガスケットの形は, 最初の3点の選び方によって変わってきます:

f:id:sekibunta:20141210154700p:plain

それでは, 公式の導出を始めたいと思います.

f:id:sekibunta:20141211123656p:plain f:id:sekibunta:20141210164823p:plain

上の右の図の各三角形に余弦定理を使うと,

\[ (r-r_A)^{2} + (r-r_B)^{2} - 2(r-r_A)(r-r_B)\cos{\psi} = (r_A + r_B)^{2}, \]

\[ (r-r_B)^{2} + (r-r_C)^{2} - 2(r-r_B)(r-r_C)\cos{\theta} = (r_B + r_C)^{2}, \]

\[ (r-r_C)^{2} + (r-r_A)^{2} - 2(r-r_C)(r-r_A)\cos{\varphi} = (r_C + r_A)^{2} \]

という3つの式が得られます. 以下で行うのは, この3式から  r_A,  r_B,  r_C を求めることです. まず, 一番上の式を展開してみます:

\begin{multline} (r^{2} - 2 r_A r + r_A^{2}) + (r^{2} - 2 r_B r + r_B^{2}) - 2(r^{2} - r_A r - r_B r + r_A r_B)\cos{\psi} \\ = r_A^{2} + 2 r_A r_B + r_B^{2}. \end{multline}

これを段階的に整理していくと,

\[ 2(1-\cos\psi)r^{2} - 2(1-\cos\psi)r_A r - 2(1-\cos\psi)r_B r - 2(1+\cos\psi)r_A r_B = 0, \]

\[ r^{2} - r_A r - r_B r - \frac{1+\cos\psi}{1-\cos\psi}r_A r_B = 0, \]

\[ \frac{r}{r_A} \frac{r}{r_B}- \frac{r}{r_B} - \frac{r}{r_A} - \frac{1+\cos\psi}{1-\cos\psi} = 0 \]

となり, だいぶすっきりとした形になります. ここで  R_A = r/r_A,  R_B = r/r_B とおくと,

\[ R_A R_B - R_A - R_B - \frac{1+\cos\psi}{1-\cos\psi} = 0, \]

\[ (R_A - 1) (R_B - 1) - \left( 1 + \frac{1+\cos\psi}{1-\cos\psi} \right) = 0, \]

\[ (R_A - 1) (R_B - 1) - \frac{2}{1-\cos\psi} = 0 \]

となり, さらに

\[ X_A = R_A - 1, \quad X_B = R_B - 1, \quad g(\psi) = \frac{2}{1-\cos\psi} \]

とおくと,

\[ X_A X_B = g(\psi) \]

となります. 他の2式についても同様に変形して(あるいは文字を入れ換えて),

\[ X_A X_B = g(\psi), \]

\[ X_B X_C = g(\theta), \]

\[ X_C X_A = g(\varphi) \]

を得ます. この3式の左辺, 右辺をそれぞれ掛け合わせると,

\[ X_A^{2} X_B^{2} X_C^{2} = g(\theta)g(\varphi)g(\psi) \]

となりますが, これより

\[ X_A^{2} = \frac{g(\varphi)g(\psi)}{g(\theta)} \]

が得られます. ここで  r > r_A > 0 であることに注意すると,

\[ X_A = R_A - 1 = \frac{r}{r_A} - 1 > 0 \]

ですので,

\[ X_A = \sqrt{\frac{g(\varphi)g(\psi)}{g(\theta)}} = \sqrt{\frac{2(1-\cos\theta)}{(1-\cos\varphi)(1-\cos\psi)}} \]

となります. これより,

\[ r_A = \frac{r}{R_A} = \frac{r}{1 + X_A} = \frac{r}{1 + \sqrt{\frac{2(1-\cos\theta)}{(1-\cos\varphi)(1-\cos\psi)}}} \]

です.  r_B r_C についても同様に計算すると, 目的の公式が得られます.

広告を非表示にする