プロが教える店舗&オフィスのセキュリティ対策術

x軸方向に長径がa、y軸方向に短径がbの楕円を描きます。・・・・(1)
この楕円を、x軸方向にcだけ(ただし、0<c<aとする。)、y軸方向にbだけ平行複写した楕円を描きます。・・・・(2)
(1)と(2)の交点P1、P2を求めたいです。

それぞれの楕円は次の式で表されると思います。
x*x/a/a + y*y/b/b=1 ・・・・(1)
(x-c)*(x-c)/a/a + (y-b)*(y-b)/b/b=1 ・・・・(2)

両式にa*a*b*bを掛け、差を取ると次のようになります。
b*c*(-2*x+c)+a*a*(-2*y+b)=0

これをxについて解くと
x=a*a*(-2*y+b*(1+c^2))/2b/c・・・・(3)
となります。

(3)を(1)に代入して整理すると
4*(a*a+c*c)*y*y -4*a*a*b*(1+c*c)*y +b*b*(a*a*(1+c*c)*(1+c*c)-4*c*c)=0・・・・(4)
---------- ================ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
となります。

(4)のうち、---部をA、===部をB、^^^部をC とすると、解の公式より
y=(-B±√(B*B-4*A*C)/2/A
で解けると思いました。

ためしにa=50, b=30, c=10として計算してみたところ、
√の中が
マイナスとなってしまいます。
つまり、解なし、ということらしいです。

どうやったら交点が求まるのでしょうか。
教えてください。よろしくお願いします。

「2つの楕円の交点の求め方が分かりません。」の質問画像

A 回答 (3件)

別の解法を。



X=x/a
Y=y/b
C=c/a
とおけば、
X^2 + Y^2 = 1
(X-C)^2 + (Y-1)^2 = 1
となり、計算が簡単になります。
    • good
    • 1
この回答へのお礼

nag0720さま

これはとてもすっきりして解きやすいです。
置き換えて考える方法があったのですね。
ありがとうございます。

お礼日時:2011/07/09 21:30

その解法で計算ミスをしないのは


難行です。
平行移動したほうの楕円を
三角関数を使って媒介変数表示し、
もとの楕円の式に代入するとよい
ように思います。
    • good
    • 0
この回答へのお礼

alice_44さま

ありがとうございます。
さて、媒介変数を使うとのことですが、
sinθとcosθのことでしょうか。

よくわかりません。もう少し詳しく教えてください。

お礼日時:2011/07/09 21:01

(3)の式が間違っています。



正しくは、
x=(a^2(-2y+b)+bc^2)/(2bc)

この回答への補足

nag0720さま

計算しなおしたところ、期待した数値が得られました。
ありがとうございました。

補足日時:2011/07/09 21:18
    • good
    • 0
この回答へのお礼

nag0720さま

途中経過が間違っていたことに、全く気がつきませんでした。
ありがとうございます。

お礼日時:2011/07/09 20:52

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!