前回と問題を逆転してみる。つまりは、楕円上の一点で半径rで接触する円の中心を求めるのであります。ここで長軸はa、短軸はbの楕円とする。
楕円上の一点の座標を(u, v)とし、求めるべき円の中心座標を(x0, y0)とする。
するとこの方程式を解けばよく。あとで、u=a cosα, v=b sinαとすれば、楕円の点であることが指示できる。
これは簡単に解ける。
前回25日の悲惨な厳密解とは雲泥の差である。
これにa,b,rを与えて、u&vを動かせば(つまり、パラメータαを0〜2πで動かす)、下図のような形状を与える。
ここからが本題であります。
楕円とそれを取り囲む円(半径=R)に接する円を描画したい。楕円には外接し、円には内接するのでありますな。
条件式をこうする。
これで楕円には外接し、円Rには内接するようになる。rについて解けば良い。
ということになる。
論より証拠。こうなる。αを離散的に動かした結果である。
分かりやすくするために、円Rを描画する。
これで様々な円の連鎖を生成できるようになる。
だが、本当にやりたいことはこの先にある。互いに接するように円の連鎖を生み出せるか、だ。どうもそれはかなり面倒くさそうな感じがする。
アルベロスに関するパッポスの円に類似なイメージを生成したいのだが。