ソディの円、あるいは、デカルトの円定理

2013 / 12 / 06 by
Filed under: AS 
Bookmark this on Delicious
[`livedoor` not found]
[`yahoo` not found]

以下の条件を満たした3つの円A、B、C があるとします。

  • 各々の円は、他の2つの円と1点で接する
  • 各々の円は、他のいずれかの円に含まれない
  • このとき、円A、B、C すべてに1点で接する円Dの半径を求める計算式があるという。
    その計算には「曲率(円の半径の逆数)」というものを使います。
    円Aの曲率を kA、円Bの曲率を kB、円Cの曲率を kC、円Dの曲率を kD としたとき、以下の計算式が成り立つとのこと。


    (kA + kB + kC + kD)^2 = 2 * (kA^2 + kB^2 + kC^2 + kD^2)

    この式を変形すると kD は以下のように導かれるらしいです。


    kD = kA + kB + kC ± 2 * √(kA*kB + kB*kC + kC*kA)

    この kD の逆数が円Dの半径になるわけです。

    soddy circles

    ところでこの式の右辺には ± が含まれています。ってことは値が2つ得られるということで、それはつまり円Dは2つあるわけです。
    ひとつは3つの円A、B、Cが作る隙間の内側に配置される円。もうひとつは3つの円A、B、Cを取り囲むように配置される円。
    以後、前者を内接円(円D)、後者を外接円(円E)と呼ぶことにします。

    この計算式はフレデリック・ソディというイギリスの化学者が1937年にネイチャーに発表した「ソディの6球連鎖」の中にある公式で「ソディの円(soddy circles)」あるいは「ソディの公式」と呼ばれるものだそうです。

    実はこの公式、ソディを遡ること300年ほど前の1643年にはすでに知られていたものなんだとか。
    発見したのは「我思う、故に我在り」で有名な哲学者のルネ・デカルト
    デカルトはボヘミアの皇女と親交があり、その往復書簡中に記されているとのこと。
    これは「デカルトの円定理」と呼ばれ、長らく埋もれていたものが、ソディによって再発見された、ということになるそうです。

    ところで、デカルトの円定理にしてもソディの円にしても、円D、Eの半径の求め方は示されていますが、円D、Eの中心座標の求め方が示されていません。

    その辺りをいろいろ調べていたら、英語版ウィキペディアの「デカルトの定理(Descartes’ theorem)」の項に書いてありました。
    複素平面で考えたとき、中心座標を求める公式があるとのこと。

    円Aの中心座標を複素数 zA、円Bの中心座標を zB、円Cの中心座標を zC、円Dの中心座標を zD とするとき、この中心座標と先に述べた曲率を使うと、以下の公式が成り立つそうです。


    (kA*zA + kB*zB + kC*zC + kD*zD)^2 = 2 * (kA^2*zA^2 + kB^2*zB^2 + kC^2*zC^2 + kD^2*zD^2)

    この式を変形すると zD は以下のように導かれるらしいです。


    zD = (kA*zA + kB*zB + kC*zC ± 2 * √(kA*kB*zA*zB + kB*kC*zB*zC + kC*kA*zC*zA)) / kD

    これは「デカルトの複素数の定理」と呼ばれるものらしい。
    ↓は、これらの定理を使って4つの円を描くようにコード化したものです。

    ソディの円 -Soddy circles- – wonderfl build flash online

    赤・緑・青の円はそれぞれドラッグすると移動します。その移動に伴いサイズが変わり、その変動に従って、内接円(灰色)と外接円(黒)も変化します。

    ところでこれはSoddy Circles(BIT-101)にあるものと同じです。
    そこで得られるコードでは、内接円と外接円の計算ステップが何をしているのか理解できなかったので、独自に調べてコード化してみた次第。



    Comments

    Tell me what you're thinking...
    and oh, if you want a pic to show with your comment, go get a gravatar!





    WP-SpamFree by Pole Position Marketing