連載「X線CTで高精度寸法測定!?」

◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇ 楕円関数との遭遇 発行:エスオーエル株式会社 http://www.sol-j.co.jp/ 連載「X線CTで高精度寸法測定!?」 2014年6月11日号 VOL.037 平素は格別のお引き立てを賜り、厚く御礼申し上げます。 X線CTスキャンによる精密測定やアプリケーション開発情報などをテーマに、 無料にてメールマガジンを配信いたしております。 ◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇ デカルトの著書に「精神指導の規則」という本があります。 冒頭を意訳すると、智慧を高みに導くためには、 狭く深く学ぶ方が到達が早いという思い込みはやめた方がよいと書いてあります。 正しい方法で広く学んだことは、つながりを持ち、 それぞれをより深く知ることになるばかりか、新たな理解や視点をもらたします。 筋の良い抽象化が、多くの具象を知ることに優ることは、多くの人々が経験しています。 さて、前回までに、CTの話から、 「積分変換」に触れ、「PID制御」に触れ、「ラプラス変換」に突入すると思いきや、 話がそれて「複素解析」に踏み込みそうになっています。 複素解析を学べば、非常に多くのことが見通し良くなります。 伝達関数もそうですが、フィルタに関する理解も容易になります。 極(ポール)と零点(ゼロ)を聞いたことがある人もいるかと思いますが、 敷居が高いと感じる人が多いようです。 複素解析は、自由に使いこなせるまで準備が大変ですが、知ってしまえば簡単です。 なんと言っても、実数の範囲では非常に実行困難な積分が、するっと計算できてしまいます。 今回は複素解析で出てくる楕円関数に触れてみたいと思います。 でも、複素解析は使いません。 最初に伝えたいことを言っておくと、 楕円の周の長さを求めようとすると、楕円積分という形になって、 その逆関数が楕円関数になります。 このアイデアを三角関数に応用すると、三角比を使わない 新しい三角関数の定義に到達します。 今回その楕円関数への遭遇は、楕円の周の長さという数学サイドからではなく、 単振り子という物理学サイドから近づいていきます。 では、質量 m の錘が長さ L の糸に付いた単振り子を考えます。 鉛直方向と糸のなす角度をθとすると、角度0~θまでの弧の長さ s は s = Lθ です。 速度 v = ds/dt とし、加速度を a = dv/dt と書いておきます。 初期条件として、時刻 t=0 で θ=α, v=0 としておきます。 運動方程式は、ma = -mg sinθ になります。(g は重力加速度) 整理すると、(d^2/dt^2)θ = -(g/L) sinθ です。 初めて単振り子に出会ったときに、どう計算するかというと、 sinθ = θ という近似をします。すると、   (d^2/dt^2)θ = -(g/L)θ は、微分を2回すると係数 -(g/L) が付いて元に戻る関数θ(t) を見つけなさい ということなので、初期条件を考慮して、   θ(t) = α cos(√(g/L)t) となります。 ここから、√(g/L)T = 2π とすると、周期 T も求まり、T = 2π√(L/g) です。 さて、sinθ = θ という近似を使いました。 光学では、θ^3 の項まで含めると、ザイデルの5収差が現れることを 以前にご紹介しました。 単振り子では、sinθ = θ - θ^3/3! なんてことは言わずに、 sinθ を sinθ のまま解いてやろうとチャレンジします。 今度はエネルギー保存則から出発して、   (1/2)mv^2 + mgL(1-cosθ) = mgL(1-cosα) を変形していきます。   dθ/dt = √(2g/L)√(cosθ-cosα) まで来ると変数分離できますので、   dt = dθ/(√(2g/L)√(cosθ-cosα)) の両辺を積分して、   t = √(L/2g)∫dθ/√(cosθ-cosα) となります。 なんと、sinθ を近似せずに、t=... の形まで解くことができました。 これによって、右辺の積分範囲を0~π/2 (1/4周期)にして4倍することで、 単振り子の厳密な周期を得ることができます。 ここで出てきた右辺の積分は、 楕円の周の長さを求めるときに遭遇する楕円積分と呼ばれるものです。 この楕円積分は、 積分範囲として角度θ を入力すると時刻 t を出力する関数になっています。 でも、時刻 t を入力すると角度θ を出力する θ(t)=... の形を知りたくなります。 そこで、√(L/2g)∫dθ/√(cosθ-cosα) を 関数 F と定義して、 その逆関数 F^{-1} を考えるというアイデアに辿り着きます。 すると、θ(t) = F^{-1} と書けるではありませんか! 騙された気分になりますが、このアイデアを推し進めて行くと、 逆関数 F^{-1} ってどんなもの?という疑問に答えなくてはならず、 複素解析に突入していきます。 そして、F^{-1} もいつまでも「楕円積分の逆関数」という名前では かわいそうなので、「楕円関数」という名前で呼ばれています。 さてさて、sinθ = θ という近似では、θ(t) = α cos(√(g/L)t) なので、 θ(t)=... の形に書けています。 cos の 逆関数は arccos なので、arccos を使えば t=... の形に書けます。 でもここで、楕円関数を得たような方法で、 sin や cos といった三角関数を得られないか?というアイデアが思い付きます。 やってみます。 (d^2/dt^2)θ = -(g/L)θ の両辺に dθ/dt を掛けて、 (dθ/dt)(d^2/dt^2)θ = (1/2)(d/dt)((dθ/dt)^2) を使うと、 (dθ/dt)^2 = -(2g/L)∫(dθ/dt)θdt を計算することになります。(*) 右辺の積分は、部分積分の公式を使うと、 ∫(dθ/dt)θdt = (1/2)(θ^2 - α^2) であることが分かるので、 式(*) の両辺の平方根を取って、 (dθ/dt) = √(g/L)√(α^2 - θ^2) を得ます。すると変数分離できて、   t = √(L/g)∫dθ/√(α^2 - θ^2) のように、t=... の形 (**) に書けます。 我々は既にこれが arccos に対応することは知っていますが、 知らなかったとします。三角関数の存在も知らなかったとします。 z=θ/α, φ= √(g/L)t という変数変換をしておきます。すると式(**)は、   φ = ∫dz/√(1 - z^2) と書けます。積分範囲に注意が必要で、(ある値)~1 まで積分すると、 φになるという式です。 この積分は、(ある値)を入力すると、φを出力する関数として見ることができます。 (ある値)=1 だと、積分値は0なので、φ=0 です。 (ある値)=0 だと、φ=π/2 です。 では、φを入力すると、(ある値)を出力する関数として、 積分 ∫dz/√(1 - z^2) の逆関数を考えます。 その逆関数を cos と呼び、(ある値)を cosφ と書きます。 この考え方で言うと、cos の逆関数が arccos と言うよりは、 cos の方こそ arccos に対応する積分の逆関数です。 では、このアイデアを推し進め、三角比を使わないことに固執して、 三角関数の公式を導いていくことができるでしょうか? 大変ですが、できるはずです。 たぶん、複素解析は必須になります。そして、有名なオイラーの公式に辿り着きます。 -- 高野智暢 ☆TomoScope専門サイトはこちら☆ ●┳┳┳●━━━━ 連 絡 先 ━━━━━━━━━━━━━ ┣╋╋○ エスオーエル株式会社 ( SOL ) ┣╋○ 〒335-0012 埼玉県戸田市中町1-34-1 ┣○ Tel: 048-441-1133 Fax: 048-445-1678 ● Email: sales@sol-j.co.jp Web: http://www.sol-j.co.jp    --デモ測定を承ります-- 詳細は上記Webサイトまで

測定機に関する理論や解析技術の情報発信として、定期的にメールマガジンを無料配信しています。メルマガにご登録頂くと、最新情報やWEB未公開の情報をいち早くお手元にお届けすることができます。

メルマガご登録はこちらから