はじめに
楕円の周長が第2種完全楕円積分で求められる事や、楕円弧長が第2種不完全楕円積分で表される事に言及しているサイトは良く見掛けるが、楕円弧長については、多くが具体的な算出法を示していなかったり、著しく不完全な記述に終わっている。
正しく定式化するのに難解な議論は必要ないので、ここで整理しておく。なお、今回は弧の範囲を第Ⅰ象限に限定し、次回以降、楕円の右半分、楕円全体と範囲を広げて行く。
第2種楕円積分
第2種楕円積分は、次の積分で定義される。
$$ E(\varphi,k) = \int_{0}^{\varphi} \sqrt{1-k^2 \sin^2\phi}\,d\phi $$
$\hspace{35pt}$ $0 \leq \varphi \leq \pi/2$
第2種完全楕円積分は、第2種不完全楕円積分に於いて$ \varphi = \pi/2 $と置いた式で定義される。
$$ E(k) = \int_{0}^{\pi/2} \sqrt{1-k^2 \sin^2\phi}\,d\phi $$
関数名が同じ事に違和感を覚えるかも知れないが、変数の数で区別する事が慣習となっているので、本稿でもそれに従う。
楕円
中心が座標の原点に一致し、水平な楕円は、次の式で表される。
$\hspace{10pt}$ $\frac{x^2}{a^2}+ \frac{y^2}{b^2} = 1$
これを、楕円の標準形と言う。
$ 0 \lt b \lt a $の時、$a$を長半径、$b$を短半径と呼ぶ。
また、楕円の重要な特徴量として離心率$e$があり、次の式で求められる。
$\hspace{10pt}$ $e = \begin{eqnarray}
\left\{
\begin{array}{l}
\sqrt{1-(b/a)^2} &( 0 \lt b \leq a ) \\
\sqrt{1-(a/b)^2} &( 0 \lt a \leq b )
\end{array}
\right.
\end{eqnarray} $
また楕円の表示には、次の媒介変数表示も良く用いられる。
$\space\space$ $x = a\cos t$, $y = b\sin t$, $0 \leq t \leq 2\pi$
この場合、$t=0$で点$(a,0)$から始まり、点$(0,b)$を経て、反時計方向に一周して、点$(a,0)$に戻る。
楕円上の点$(x,y)$と原点を結ぶ線分は動径と呼ばれる。
円の媒介変数表示
$\hspace{10pt}$ $x = r\cos t$, $y = r\sin t$
では、$t$は動径が$x$軸となす角$\theta$と一致するが、楕円では一致せず、(第I及び第IV象限では)次のような関係になる。
$\hspace{10pt}$ $\tan \theta = y/x = (b/a)\tan t$
さらに、媒介変数表示は次のようにする事もできる。
$\hspace{10pt}$ $x = a\sin t$, $y = b\cos t$, $0 \leq t \leq 2\pi$
この場合、$t=0$で点$(0,b)$から始まり、点$(a,0)$を経て、時計方向に一周して、点$(0,b)$に戻る。$t$と$\theta$の関係は次の通り。
$\hspace{10pt}$ $\tan \theta = y/x = (b/a)/\tan t$
最初の媒介変数表示を第1の形式、後の方を第2の形式と呼ぶ事にする。
楕円の弧長
媒介変数表示
$\hspace{10pt}$ $x = x(t)$, $y = y(t)$
で表される関数の$t=t_1$から$t=t_2$までの弧長$L$は
$$ \hspace{20pt} L = \int_{t_1}^{t_2} \sqrt{ \left( \frac{dx}{dt} \right)^2+\left( \frac{dy}{dt} \right)^2 }\,dt$$
で求められる。これより、第1の形式で表された楕円の$[0,r]$の範囲の弧長$L$は
$$ \hspace{20pt} L = \int_{0}^{r} \sqrt{ \left( \frac{d}{dt}a \cos t \right)^2+\left( \frac{d}{dt} b \sin t \right)^2 }\,dt$$
$$ \hspace{30pt} =\int_{0}^{r} \sqrt{ a^2 \sin^2 t +b^2 \cos^2 t }\,dt$$
となる。この式は初等関数で表す事はできないが、$k=e$とした第2種不完全楕円積分で表す事は可能である。しかし、$e$が複素数にならないようにする為に$a,b$の大小関係に応じて場合分けが必要になる。
A. $0 \lt b \leq a$の場合
離心率は$ e = \sqrt{1-(b/a)^2} $となる。
楕円を媒介変数$u$を用いた第2の形式で表す。そうすると弧長$L$は
$$ \hspace{20pt} L = \int_{0}^{r} \sqrt{ \left( \frac{d}{du}a \sin u \right)^2+\left( \frac{d}{du} b \cos u \right)^2 }\,du$$
$$ \hspace{30pt} =\int_{0}^{r} \sqrt{ a^2 \cos^2 u +b^2 \sin^2 u }\,du$$
$$ \hspace{30pt} =a\int_{0}^{r} \sqrt{ \cos^2 u +(b/a)^2 \sin^2 u }\,du$$
$$ \hspace{30pt} =a\int_{0}^{r} \sqrt{ 1-\sin^2 u +(b/a)^2 \sin^2 u }\,du$$
$$ \hspace{30pt} =a\int_{0}^{r} \sqrt{ 1-(1-(b/a)^2) \sin^2 u }\,du$$
$$ \hspace{30pt} =a\int_{0}^{r} \sqrt{ 1-e^2 \sin^2 u }\,du$$
$$ \hspace{30pt} =a\,E(r,e)$$
で得られる。前述した通り$u$は動径とy軸との時計方向の角度であるから、$a\,E(r,e)$は点$(0,b)$から$u=r$で与えられる点までの弧長になっている。$[u_1,u_2]$の範囲の弧長は
$$ \hspace{20pt} L = a\int_{u_1}^{u_2} \sqrt{ 1-e^2 \sin^2 u }\,du$$
$$ \hspace{30pt} =a\int_{0}^{u_2} \sqrt{ 1-e^2 \sin^2 u }\,du - a\int_{0}^{u_1} \sqrt{ 1-e^2 \sin^2 u }\,du$$
$$ \hspace{30pt} =a\,(E(u_2,e)-E(u_1,e))$$
となる。実用上、弧の範囲は$\theta$で指定できた方が便利なので、$\theta$から$u$への変換方法を求めておく。
$0 \leq u,\theta \leq \pi/2$とすると、
$ \hspace{10pt}\tan \theta = (b/a)/\tan u $から$ \space\tan u = (b/a)/\tan \theta $
よって、
$ \hspace{10pt}u = \tan^{-1}((b/a)/\tan \theta) $
となる。ただし、$\theta = 0$の時$u = \pi/2$、$\theta = \pi/2$の時$u = 0$とする。$\theta_1 \le \theta_2$の時$u_1 \le u_2$となるよう
$ \hspace{10pt}u_1 = \tan^{-1}((b/a)/\tan \theta_2),\,u_2 = \tan^{-1}((b/a)/\tan \theta_1) $
と定める。
B. $0 \lt a \leq b$の場合
離心率は$ e = \sqrt{1-(a/b)^2} $となる。
楕円を媒介変数$v$を用いた第1の形式で表す。そうすると弧長$L$は
$$ \hspace{20pt} L = \int_{0}^{r} \sqrt{ \left( \frac{d}{dv}a \cos v \right)^2+\left( \frac{d}{dv} b \sin v \right)^2 }\,dv$$
$$ \hspace{30pt} =\int_{0}^{r} \sqrt{ a^2 \sin^2 v +b^2 \cos^2 v }\,dv$$
$$ \hspace{30pt} =b\int_{0}^{r} \sqrt{ (a/b)^2\sin^2 v + \cos^2 v }\,dv$$
$$ \hspace{30pt} =b\int_{0}^{r} \sqrt{ 1-e^2 \sin^2 t }\,dv$$
$$ \hspace{30pt} =b\,E(r,e)$$
で得られる。前述した通り$v$は動径とx軸との反時計方向の角度であるから、$b\,E(r,e)$は点$(a,0)$から$v=r$で与えられる点までの弧長になっている。$[v_1,v_2]$の範囲の弧長は
$$ \hspace{20pt} L = b\,(E(v_2,e)-E(v_1,e))$$
となる。$\theta$から$v$への変換方法は
$0 \leq v,\theta \leq \pi/2$とすると、
$ \hspace{10pt}\tan \theta = (b/a)\tan v $から$ \space\tan v = (a/b)\tan \theta $
よって、
$ \hspace{10pt}v = \tan^{-1}((a/b)\tan \theta) $
となる。ただし、$\theta = \pi/2$の時$v = \pi/2$とする。
$\theta_1 \le \theta_2$の時$v_1 \le v_2$となるよう
$ \hspace{10pt}v_1 = \tan^{-1}((a/b)\tan \theta_1),\,v_2 = \tan^{-1}((a/b)\tan \theta_2)) $
と定める。
なお、ケースAでは、媒介変数$t$を用いた第1の形式でスタートし、途中で$t=\pi/2-u$と変数変換しても(やや議論の見通しが悪くなるが)全く同じ結論に達する。興味が有れば、確認されたい。
まとめ
楕円を
$\hspace{10pt}$ $\frac{x^2}{a^2}+ \frac{y^2}{b^2} = 1$
と表す時、$\theta=\theta_1$から$\theta=\theta_2$までの弧長$L$は、第2種不完全楕円積分$ E(\varphi,k) $を用いて、次のように求められる。ただし、$\theta$は動径と$x$軸との間の反時計方向の角度であり
$\hspace{30pt}$ $0 \leq \theta_1 \leq \theta_2 \leq \pi/2$
とする。
A. $0 \lt b \leq a$の場合
$\hspace{10pt}$ $L = a\,(E(u_2,e)-E(u_1,e))$
$\hspace{20pt}$ $e = \sqrt{1-(b/a)^2}$
$\hspace{20pt}$ $u_1 = \tan^{-1}((b/a)/\tan \theta_2)$
$\hspace{20pt}$ $u_2 = \tan^{-1}((b/a)/\tan \theta_1)$
B. $0 \lt a \leq b$の場合
$\hspace{10pt}$ $L = b\,(E(v_2,e)-E(v_1,e))$
$\hspace{20pt}$ $e = \sqrt{1-(a/b)^2}$
$\hspace{20pt}$ $v_1 = \tan^{-1}((a/b)\tan \theta_1)$
$\hspace{20pt}$ $v_2 = \tan^{-1}((a/b)\tan \theta_2)$