楕円が存在する領域
どうも,筆者です.
楕円を覆う領域
今回は,有限個の楕円が平面状に散らばっている状況を考える.この状況において,すべての楕円を含む長方形領域の最小値を求める問題を解く. 図で示すと以下のような長方形領域を求めることになる.
領域の計算方法
計算方法として,以下のような楕円ごとの長方形の領域を考えた.
この図において,楕円の方程式は,
で与えられる.ここで, である.また,媒介変数 を用いると,楕円上の点 は,
となる.
この時,楕円を だけ回転させた場合,移動後の点 は,回転行列を用いて,
となる.さらに,三角関数の合成を用いて,
と表せる.ここで,
である.
よって, がそれぞれ最大となる時が,求める長方形領域の半分の長さとなるので, は,
となる.
C プログラム
後は,この結果をプログラムに落とすだけである.ここでは,以下のような図を考える.
この図のように,それぞれの楕円に外接する長方形を計算し,原点から最も遠くなる位置を求める.以下に,プログラムを示す.
これで,図に示した青色の領域を求めることができる.