楕円の面積
Maxima で長半径 $a$,単半径 $b$ の楕円を描く例。
a: 2$
b: 1$
draw2d(
font_size = 14, dimensions=[640, 400],
/* 縦横比 */
proportional_axes = xy,
/* 表示範囲 */
xrange = [-2.5, 2.5], yrange = [-1.5, 1.5],
transparent = false,
fill_color = yellow,
line_width = 3,
/* x 軸 y 軸の表示 */
xaxis = true, yaxis = true,
xtics = {["-a", -a], ["a", a]},
ytics = {["-b", -b], ["b", b]}, user_preamble = "set grid front;",
ellipse(0, 0, a, b, 0, 360)
)$
$\displaystyle \frac{x^2}{a^2} + \frac{y^2}{b^2} = 1$ の楕円の面積。
便宜上,$a > b > 0$ として $a$ は長半径,$b$ は短半径と呼ぶ。離心率 $e$ を使って書くと,$b = a \sqrt{1-e^2}$。
$\displaystyle \frac{x^2}{a^2} + \frac{y^2}{b^2} = 1$ より $\displaystyle y = \pm b \sqrt{1-\frac{x^2}{a^2}}$。上半分の面積,つまり $\displaystyle y = b \sqrt{1-\frac{x^2}{a^2}}$ と $x$ 軸で囲まれる部分の面積を求めて2倍すればよいから,
\begin{eqnarray}
S &=& 2 \int_{-a}^a b \sqrt{1 – \frac{x^2}{a^2}} dx \\
&&\qquad (x \equiv a \sin\theta, \ \sqrt{1 – \frac{x^2}{a^2}} = \cos\theta, \ dx = a \cos\theta d\theta)\\
&=& 2 a b \int_{-\pi/2}^{\pi/2} \cos^2\theta d\theta\\
&=& a b \int_{-\pi/2}^{\pi/2} (1 + \cos 2\theta) d\theta \\
&=&a b \left[ \theta + \frac{1}{2}\sin 2\theta\right]_{-\pi/2}^{\pi/2} \\
&=& \pi a b
\end{eqnarray}
Maxima で直接積分してみると,($a>0$ を仮定して)
kill(a, b, e, x, y)$
assume(a > 0, b > 0, e > 0, e < 1)$
2 *'integrate(b*sqrt(1-(x/a)**2), x, -a, a) =
2 * integrate(b*sqrt(1-(x/a)**2), x, -a, a);
楕円の周
a: 2$
b: 1$
draw2d(
font_size = 14, dimensions=[640, 400],
/* 縦横比 */
proportional_axes = xy,
/* 表示範囲 */
xrange = [-2.5, 2.5], yrange = [-1.5, 1.5],
transparent = true,
line_width = 3,
/* x 軸 y 軸の表示 */
xaxis = true, yaxis = true,
xtics = {["-a", -a], ["a", a]},
ytics = {["-b", -b], ["b", b]}, user_preamble = "set grid front;",
ellipse(0, 0, a, b, 0, 360)
)$
楕円の式を媒介変数表示すると,($x = a \cos\theta, \ y = b \sin\theta$ とするところを趣向を変えて) $x = a \sin\theta, \ y = b \cos\theta$。$0 \le \theta \le \pi/2$ の長さを4倍すればよいから,
\begin{eqnarray}
L &=& 4 \int_0^{\frac{\pi}{2}} \sqrt{\left(\frac{dx}{d\theta}\right)^2 + \left(\frac{dy}{d\theta}\right)^2} \,d\theta\\
&=& 4 \int_0^{\frac{\pi}{2}} \sqrt{a^2 \cos^2\theta + b^2 \sin^2\theta} \,d\theta \\
&=& 4 a \int_0^{\frac{\pi}{2}} \sqrt{\cos^2\theta + (1-e^2) \sin^2\theta} \,d\theta \\
&=& 4 a \int_0^{\frac{\pi}{2}} \sqrt{1 -e^2 \sin^2\theta} \,d\theta \\
&=& 4 a E(e)
\end{eqnarray}
ここで
$\displaystyle E(k) \equiv \int_0^{\frac{\pi}{2}} \sqrt{1 -k^2 \sin^2\theta} \,d\theta$ は第二種完全楕円積分である。
要するに,楕円の周を求める積分は初等関数で表すことができない。
Maxima では第二種(不完全)楕円積分は elliptic_e(phi, m)
として組み込まれている。
Function: elliptic_e (<phi>, <m>)
The incomplete elliptic integral of the second kind, defined as
elliptic_e(phi, m) = integrate(sqrt(1 - m*sin(x)^2), x, 0, phi)
また,第二種完全楕円積分は elliptic_ec(m)
として組み込まれている。
Function: elliptic_ec (<m>)
The complete elliptic integral of the second kind, defined as
integrate(sqrt(1 - m*sin(x)^2), x, 0, %pi/2)
elliptic_ec(m)
の引数 $m$ と $e$ の関係に注意して,ここで使う第二種完全楕円積分を関数 $E(e)$ として定義する。
E(e):= elliptic_ec(e**2);
離心率 $e$ は $0 \le e < 1$ であるから…
E(0);
E(1);
$0 \le e \le 1$ の範囲で関数 $E(e)$ のグラフを描いておく。
draw2d(
grid = true, dimensions=[640, 400],
xlabel = "e", ylabel = "E(e)",
explicit(E(e), e, 0, 1))$
回転楕円体の表面積 1.
f(x):= b*sqrt(1-x**2/a**2)$
a: 2$
b: 1$
draw3d(
dimensions=[640, 640], proportional_axes = xyz,
xrange = [-2.2, 2.2],
yrange = [-2.2, 2.2],
zrange = [-2.2, 2.2],
/* 回転体の表面 */
colorbox=false,
line_width=0.5, xu_grid = 30, yv_grid = 30,
parametric_surface(x, f(x)*cos(t), f(x)*sin(t),
x, -a, a, t, 0, 2*%pi),
surface_hide =true, view=[60, 30],
axis_3d = false,
/* x 軸 */
color=blue, line_width = 2,
parametric(x, 0, 0, x, -2.2, 2.2),
/* いわゆる「y 軸」,実は z 軸 */
color=red, line_width = 1,
parametric(0, 0, z, z, -2.2, 2.2),
/* いわゆる「y = y(x)」,実は z = z(x) */
nticks=100, color=dark-blue, line_width = 3,
parametric(a*cos(t), 0, b*sin(t), t, 0, %pi)
)$
$\displaystyle y = b \sqrt{1-\frac{x^2}{a^2}} = \sqrt{b^2 – (1-e^2) x^2}$ を $x$ 軸のまわりに回転してできる回転楕円体の表面積は
\begin{eqnarray}
S &=& \int_{-a}^a 2\pi y \sqrt{1+ \left(\frac{dy}{dx}\right)^2}\,dx \\
\end{eqnarray}
kill(a, b, e, x, y)$
assume(a > 0, b > 0, e > 0, e < 1)$
y: sqrt(b**2-x**2*(1-e**2));
… ということで,$y$ を定義し,$\displaystyle f \equiv 2 \pi y \sqrt{1+\left(\frac{dy}{dx}\right)^2} = 2 \pi \sqrt{y^2 + y^2 \left(\frac{dy}{dx}\right)^2}$ を計算すると…
f: 2*%pi*sqrt(y**2 + y**2 * diff(y,x)**2), ratsimp;
'integrate(f, x, -b/sqrt(1-e**2), b/sqrt(1-e**2)) =
integrate(f, x, -b/sqrt(1-e**2), b/sqrt(1-e**2)), factor;
これ以上は簡単化してくれなさそうなので,目の子で
\begin{eqnarray}
-\frac{2\,\pi\,b^2\,\left(\sqrt{1-e^2}\,\arcsin e-e^3+e\right)}{\left(e-1\right)\,e\,\left(e+1\right)} &=&
2\pi b^2 \frac{\sqrt{1-e^2} \arcsin e + e(1-e^2)}{e(1-e^2)} \\
&=& 2\pi b^2 \left(1 + \frac{\arcsin e}{e \sqrt{1-e^2}} \right) \\
&=& 2\pi \left(b^2 + ab \frac{\arcsin e}{e} \right)
\end{eqnarray}
確かに定積分できることがわかったので,置換積分の立場から確認してみよう。
そもそも計算するのは,以上の結果をじっとみて,
$$f = 2 \pi b\sqrt{1 – \frac{e^2}{a^2} x^2}$$
となることがわかれば…
f: 2*%pi*b*sqrt(1-e**2 * x**2/a**2)$
int1: 'integrate(f, x, -a, a);
$\displaystyle \frac{e x}{a} \rightarrow t$ と置換してやると…
int2: changevar(int1, t = e*x/a, t, x);
つまり,基本的に $\displaystyle \int \sqrt{1-t^2} \, dt$ がわかればよい。これは以下のように積分できる。
'integrate(sqrt(1-t**2), t) = integrate(sqrt(1-t**2), t);
Maxima では苦もなく出てくるが,人力では以下のように部分積分してみると…
\begin{eqnarray}
I &\equiv& \int \sqrt{1-t^2}\, dt \\
&=& t \sqrt{1-t^2} -\int t \, \frac{d}{dt} \sqrt{1-t^2}\,dt \\
&=& t \sqrt{1-t^2} + \int \frac{t^2}{\sqrt{1-t^2}}\,dt \\
&=& t \sqrt{1-t^2} + \int \frac{1}{\sqrt{1-t^2}} \,dt -\int \frac{1-t^2}{\sqrt{1-t^2}}\, dt \\
&=& t \sqrt{1-t^2} + \int \frac{1}{\sqrt{1-t^2}} \,dt -I \\
\therefore\ \ I &=& \frac{1}{2} \left(t \sqrt{1-t^2} + \int \frac{1}{\sqrt{1-t^2}} \,dt \right) \\
&=& \frac{t\sqrt{1-t^2}}{2} + \frac{\sin^{-1} t}{2}
\end{eqnarray}
定積分も以下のように…
int2 = ev(int2, integrate);
回転楕円体の表面積 2.
g(z):= a*sqrt(1-z**2/b**2)$
a: 2$
b: 1$
draw3d(
dimensions=[640, 640], proportional_axes = xyz,
xrange = [-2.2, 2.2],
yrange = [-2.2, 2.2],
zrange = [-2.2, 2.2],
/* 回転体の表面 */
surface_hide =true, view=[60, 30],
axis_3d = false,
color = red,
line_width=0.5, xu_grid = 40, yv_grid = 40,
parametric_surface(g(z)*cos(t), g(z)*sin(t), z,
z, -b, b, t, 0, 2*%pi),
/* x 軸 */
color=blue, line_width = 1,
parametric(x, 0, 0, x, -2.2, 2.2),
/* いわゆる「y 軸」,実は z 軸 */
color=red, line_width = 2,
parametric(0, 0, z, z, -2.2, 2.2),
/* いわゆる「y = y(x)」,実は z = z(x) */
nticks=100, color=dark-red, line_width = 3,
parametric(a*cos(t), 0, b*sin(t), t, -%pi/2, %pi/2)
)$
$\displaystyle x = a \sqrt{1-\frac{y^2}{b^2}}= \frac{\sqrt{b^2-{y^2}}}{\sqrt{1-e^2}}$ を $y$ 軸のまわりに回転してできる回転楕円体の表面積は
\begin{eqnarray}
S &=& \int_{-b}^b 2\pi x \sqrt{1+ \left(\frac{dx}{dy}\right)^2}\,dy \\
\end{eqnarray}
kill(a, b, e, x, y)$
assume(a > 0, b > 0, e > 0, e < 1)$
x: sqrt(b**2 - y**2)/sqrt(1-e**2);
f: 2*%pi*sqrt(factor(x**2 + x**2 * diff(x,y)**2));
integrate(f, y, -b, b);
あとは人力で簡単化。
\begin{eqnarray}
\frac{2\,\pi\,\left(\left(b^2\,e^2-b^2\right)\,{\rm asinh}\; \left(\frac{e\,\sqrt{b^2-b^2\,e^2}}{b\,e^2-b}\right)+b^2\,e\right)}{\left(1-e\right)\,e\,\left(e+1\right)} &=&
2\pi \left(\frac{b^2(1-e^2){\rm asinh}\;\frac{e}{\sqrt{1-e^2}}+b^2 e}{e (1-e^2)} \ \right) \\
&=& 2\pi \left(a^2 + b^2 \frac{1}{e} {\rm asinh}\;\frac{e}{\sqrt{1-e^2}} \right) \\
&=& 2\pi \left(a^2 + b^2 \frac{1}{e} {\rm atanh}\;e \right)
\end{eqnarray}
なお,$\operatorname{asinh}$ すなわち $\sinh^{-1}$ と $\operatorname{atanh}$ すなわち $\tanh^{-1}$ の関係については,
\begin{eqnarray}
y &\equiv& \sinh^{-1} \frac{e}{\sqrt{1-e^2}} \\
\sinh y &=& \frac{e}{\sqrt{1-e^2}} \\
\cosh y &=& \sqrt{1 + \sinh^2 y} = \frac{1}{\sqrt{1-e^2}} \\
\therefore\ \ \tanh y &=& \frac{\sinh y}{\cosh y} = e \\
\therefore\ \ y &=& \tanh^{-1} e = \sinh^{-1} \frac{e}{\sqrt{1-e^2}}
\end{eqnarray}
確かに定積分できることがわかったので,置換積分の立場から確認してみよう。
以上の結果をじっとみて,
\begin{eqnarray}
f &=& \frac{2\,\pi\,\sqrt{e^2\,y^2-b^2\,e^2+b^2}}{\left(1-e\right)\,\left(e+1\right)}\\
&=& 2 \pi a\sqrt{1 + \frac{a^2 e^2}{b^4} y^2}
\end{eqnarray}
となることがわかれば,そもそも計算するのは,
f: 2*%pi*a*sqrt(1 + a**2 * e**2 * y**2 / b**4)$
int1: 'integrate(f, y, -b, b);
$\displaystyle \frac{a e y}{b^2} \rightarrow t$ と置換してやると…
int2: changevar(int1, t = a*e*y/b**2, t, y);
つまり,基本的に $\displaystyle \int \sqrt{1+t^2} \, dt$ がわかればよい。これは以下のように積分できる。
'integrate(sqrt(1+t**2), t) = integrate(sqrt(1+t**2), t);
Maxima では苦もなく出てくるが,人力では以下のように部分積分してみると…
\begin{eqnarray}
I &\equiv& \int \sqrt{1+t^2}\, dt \\
&=& t \sqrt{1+t^2} -\int t \, \frac{d}{dt} \sqrt{1+t^2}\,dt \\
&=& t \sqrt{1-t^2} -\int \frac{t^2}{\sqrt{1+t^2}}\,dt \\
&=& t \sqrt{1-t^2} + \int \frac{1}{\sqrt{1+t^2}} \,dt -\int \frac{1+t^2}{\sqrt{1-t^2}}\, dt \\
&=& t \sqrt{1-t^2} + \int \frac{1}{\sqrt{1+t^2}} \,dt -I \\
\therefore\ \ I &=& \frac{1}{2} \left(t \sqrt{1+t^2} + \int \frac{1}{\sqrt{1+t^2}} \,dt \right) \\
&=& \frac{t\sqrt{1+t^2}}{2} + \frac{\sinh^{-1} t}{2}
\end{eqnarray}
定積分も以下のように…
int2 = ev(int2, integrate);
回転楕円体の体積 1.
$\displaystyle y = b \sqrt{1-\frac{x^2}{a^2}}$ を $x$ 軸のまわりに回転してできる回転楕円体の体積は
\begin{eqnarray}
V &=& \int_{-a}^a \pi y^2 \,dx \\
\end{eqnarray}
$\displaystyle y = b \sqrt{1-\frac{x^2}{a^2}}$ とおいて…
kill(a, b, e, x, y)$
assume(a > 0, b > 0, e > 0, e < 1)$
y: b*sqrt(1 - x**2/a**2);
$\displaystyle \int_{-a}^a \pi y^2 \,dx $ の積分をすると…
'integrate(%pi * y**2, x, -a, a) =integrate(%pi * y**2, x, -a, a);
回転楕円体の体積 2.
$\displaystyle x = a \sqrt{1-\frac{y^2}{b^2}}$ を $y$ 軸のまわりに回転してできる回転楕円体の体積は
\begin{eqnarray}
V &=& \int_{-b}^b \pi x^2 \,dy \\
\end{eqnarray}
$\displaystyle x = a \sqrt{1-\frac{y^2}{b^2}}$ とおいて…
kill(a, b, e, x, y)$
assume(a > 0, b > 0, e > 0, e < 1)$
x: a*sqrt(1-y**2/b**2);
$\displaystyle \int_{-b}^b \pi x^2 \,dy $ の積分をすると…
'integrate(%pi * x**2, y, -b, b) = integrate(%pi * x**2, y, -b, b);
楕円および楕円体にまつわるエトセトラ
- 楕円の周は第二種完全楕円積分で表される。(初等関数ではあらわせない。)
- 回転楕円体の表面積を求める際には,以下のような簡単な無理関数の積分がでてくるので,しっかりやっておく。
$$\int \sqrt{1 -t^2} \, dt, \quad \int \sqrt{1+t^2} \, dt$$
答えは逆三角関数や逆双曲線関数を含むからね。