N88-BASICで楕円 (2回目)

2021/10/23(土)
N88-BASICで楕円 (2回目)
 
前回(1回目)で
x2/a2 + y2/b2 = 1
を複素数でグラフを描くと楕円と双曲線は
現れますが放物線が仲間外れでした
今回は、放物線も仲間に入れてみたいと
思います
 
楕円の式
離心率e≧0, 真近点角f
近点距離q = a(1-e) > 0
長半径a = √(b2+c2), 短半径b = a√(1-e2)
焦点距離c = ae = a-q
半直弦L = b2/a = a(1-e2) = q(1+e)
動径r = L/(1+ecosf)
(楕)円(e<1, a>0, b>0, c≧0)
放物線(e=1, a=b=c=∞)
双曲線(e>1, a<0, c<0, (Im b)<0, bは虚数)
より
x = rcosf = Lcosf/(1+ecosf)
x+excosf = Lcosf
(L-ex)cosf = x
cosf = x/(L-ex)
tan2f = sin2f/cos2f = (1-cos2f)/cos2f
= 1/cos2f - 1 = (L-ex)2/x2 - 1
= (e2x2 - 2eLx + L2 - x2)/x2 
= {(e2-1)x2 - 2eLx + L2}/x2 
 
tanf = y/x, y = xtanf, (e2-1) = -L/a
y2 = x2tan2f = (e2-1)x2 - 2eLx + L2 
= -(L/a)x2 - 2eLx + L2 
= -(L/a){x2 + 2aex - aL}
= -(L/a){x2 + 2cx - aL}
= -(L/a){(x+c)2 - c2 - aL}
= -(b2/a2){(x+c)2 - c2 - b2}
= -(b2/a2){(x+c)2 - a2}
= -b2(x+c)2/a2 + b2 
(x+c)2/a2 + y2/b2 = 1
 
原点をx軸方向に-c移動して
楕円の中心(-c, 0)に持ってくると
x2/a2 + y2/b2 = 1 (a>0, b>0)
という楕円の式になります
焦点を原点にすると
(x+c)2/a2 + y2/b2 = 1 (a>0, b>0, c>0)
 
双曲線の場合
bは虚数なのでiを外して
bを実数と置くと
x2/a2 - y2/b2 = 1 (a<0, b<0)
(xとyは入替えても同じ式を作れるので
-x2/a2 + y2/b2 = 1も双曲線です)
焦点を原点にすると
(x+c)2/a2 - y2/b2 = 1 (a<0, b<0, c<0)
です
 
放物線は
x2/a2 + y2/b2 = 1 (a,b=∞)
では近点が無限遠となり描画できません
焦点を原点にすると
(x+c)2/a2 - y2/b2 = 1 (a,b,c=∞)
ですが不定形(∞/∞)となり計算できません
 
そこで
(x+c)2/a2 + y2/b2 = 1

y2 = b2 - (x+c)2(b2/a2)
= aL - (c2 + 2cx + x2)(L/a)
= aL - a2e2(L/a) - 2aex(L/a) - x2(L/a)
= aL(1-e2) - 2eLx - (1-e2)x2 
= L2 - 2eLx + e2x2 - x2 
y2 = (L - ex)2 - x2 
と変形すると焦点を原点にしたすべて
の図形が描画できます
中心を原点とした楕円や双曲線は
焦点距離cだけx軸の方向にずらして
y2 = {L - e(x-c)}2 - (x-c)2 
で描画できます
 
放物線では焦点を原点とすると
y2 = (L - ex)2 - x2 
= (2q - x)2 - x2 
= 4q2 - 4qx
(中心は無限遠にある為)近点を原点とすると
y2 = {L - e(x+q)}2 - (x+q)2 
= (2q - x - q)2 - (x+q)2 
= (q-x)2 - (x+q)2 = -2qx - 2qx
= -4qx
 
離心率eについて
b = a√(1-e2)
b2 = a2(1-e2)
1-e2 = b2/a2
e2 = 1-b2/a2
e = √(1-b2/a2)
 
結論
x2/a2 + y2/b2 = 1
は中心を原点とした楕円と双曲線(虚数)を
表すが、放物線は無限遠にあるので描画
できない
また、
(x+c)2/a2 + y2/b2 = 1
は焦点を原点とした楕円と双曲線(虚数)を
表すが、放物線は不定形(∞/∞)となり
計算できない
 
まとめ
近点距離q = a(1-e)
半直弦L = q(1+e)
離心率e = √(1-b2/a2) ≧ 0
 
(楕)円(e<1, a>b>0)
放物線(e=1, a=b=∞,ただしb/a=0とする)、
双曲線(e>1, a<0, Im b < 0, bは純虚数)
とすると
 
焦点を原点とした楕円などの式は
極座標系ではr = L/(1+ecosf)
直交座標ではy2 = (L - ex)2 - x2 
となる
 
グラフは
e = 0.5, 1.0, 1.5
q = 1, L = q(1+e)
y2 = (L - ex)2 - x2 
を描画しました
 
NL-BASICとblg~.zip(elli002.bas)は
このブログ(以下のリンク)から
ダウンロードできます

https://ulprojectmail.blogspot.com
Readme.txtを読んで遊んで下さい




このブログの人気の投稿

NEWS

N88-BASICでゲーム (1回目)