【SPONSORED LINK】

フルネ-セレの公式の導出|曲線に関するベクトルの関係式

  
   

3次元ユークリッド空間\R^3上のtをパラメータとする十分滑らかな曲線C:r=r(t)を考えます.

このとき,曲線Cの「進む向き」に相当する「接ベクトル」v_1(t),曲線Cの「曲がる向き」に相当する「法線ベクトル」v_2(t),曲線Cの「ねじれる向き」に相当する「従法線ベクトル」v_3(t)を考えることができます.

このとき,v_1(t),v_2(t),v_3(t)とそれらのtに関する導関数{v_1}'(t),{v_2}'(t),{v_3}'(t)との関係をFrenet(フルネ)-Serret(セレ)の公式といいます.

Frenet-Serretの公式は,1847年にジャン・フレデリック・フルネ(Jean Frédéric Frenet)によって,1851年にジョセフ・アルフレッド・セレ(Joseph Alfred Serret)によって,それぞれ独立に発見されました.

この記事では,Frenet-Serretの公式の導出について書きます.

なお,線形代数を解析的に扱うので,大学の最初の1年で習う線形代数と解析にある程度慣れていることが望まれますが,それほど難しいわけではありません.

【SPONSORED LINK】

 準備

この記事を通して,3次元ユークリッド\R^3の元は列ベクトルで表します.また,パラメータtはある開区間(\alpha,\beta) (\alpha\betaは実数)上を動くとします.

\R^3の元は太字で書くこともありますが,この記事では太字にはしていません.また,ゼロも零ベクトルもどちらも0で表しますが,混乱のおそれはないでしょう.

内積,ノルム,外積の定義

以下で\R^3上の内積,ノルム,外積を定義します.

[定義1] \R^3の元b=\begin{bmatrix}a_1\\a_2\\a_3\end{bmatrix}a=\begin{bmatrix}b_1\\b_2\\b_3\end{bmatrix}に対し,次を定義する.

1.ab内積\anb{a,b}を次で定義する:

\anb{a,b}:=a_1b_1+a_2b_2+a_3b_3

2.aノルム\|a\|を次で定義する:

\|a\|:=\sqrt{\anb{a,a}}=\sqrt{{a_1}^2+{a_2}^2+{a_3}^2}

3.ab外積a\times bを次で定義する:

a\times b:=\begin{bmatrix}a_2b_3-a_3b_2\\a_3b_1-a_1b_3\\a_1b_2-a_2b_1\end{bmatrix}

定義から,内積と外積に関して

\anb{a,b}=\anb{b,a},a\times b=-b\times a

が成り立つことが分かります.また,ab直交するとは,\anb{a,b}=0となることをいいます.外積a\times b

  1. aともbとも直交する.
  2. abのなす角を\thetaとするとき,\|a\times b\|=\|a\|\times\|b\|\times\sin\theta

が成り立ちます(証明略).

微分の定義

次に,以下で\R^3上の導関数を定義します.

[定義2] パラメータtに関する\R^3上の元p(t)=\begin{bmatrix}p_1(t)\\p_2(t)\\p_3(t)\end{bmatrix}に関して,各成分p_1(t),p_2(t),p_3(t)tに関して微分可能であるとする.このとき,p(t)は微分可能であるといい,p(t)tに関する導関数p'(t)を次で定義する:

p'(t)=\begin{bmatrix}{p_1}'(t)\\{p_2}'(t)\\{p_3}'(t)\end{bmatrix}

すなわち,ベクトルの微分は各成分で微分したものと定める.

いくつかの補題

ここでは準備として補題3,補題4を示します.

[補題3] パラメータt\in(\alpha,\beta)に関する\R^3上の元p(t),q(t)が微分可能であるとする.このとき,次が成り立つ:

\od{}{t}\anb{p(t),q(t)}=\anb{p'(t),q(t)}+\anb{p(t),q'(t)}
\od{}{t}(p(t)\times q(t))=p'(t)\times q(t)+p(t)\times q'(t)

[証明]

p(t)=\begin{bmatrix}p_1(t)\\p_2(t)\\p_3(t)\end{bmatrix}q(t)=\begin{bmatrix}q_1(t)\\q_2(t)\\q_3(t)\end{bmatrix}とする.計算により

\od{}{t}\anb{p(t),q(t)}
=\od{}{t}\{p_1(t)q_1(t)+p_2(t)q_2(t)+p_3(t)q_3(t)\}
=\dsum_{i=1}^{3}\bra{{p_i}'(t)q_i(t)+p_i(t){q_i}'(t)}
=\dsum_{i=1}^{3}{p_i}'(t)q_i(t)+\dsum_{i=1}^{3}p_i(t){q_i}'(t)
=\anb{p'(t),q(t)}+\anb{p(t),q'(t)}

と,

\od{}{t}(p(t)\times q(t))
=\od{}{t}\begin{bmatrix}p_2(t)q_3(t)-p_3(t)q_2(t)\\ p_3(t)q_1(t)-p_1(t)q_3(t)\\ p_1(t)q_2(t)-p_2(t)q_1(t)\end{bmatrix}
=\begin{bmatrix}{p_2}'(t)q_3(t)+p_2(t){q_3}'(t)-{p_3}'(t)q_2(t)-p_3(t){q_2}'(t)\\ {p_3}'(t)q_1(t)+p_3(t){q_1}'(t)-{p_1}'(t)q_3(t)-p_1(t){q_3}'(t)\\ {p_1}'(t)q_2(t)+p_1(t){q_2}'(t)-{p_2}'(t)q_1(t)-p_2(t){q_1}'(t)\end{bmatrix}
=\begin{bmatrix}{p_2}'(t)q_3(t)-{p_3}'(t)q_2(t)\\ {p_3}'(t)q_1(t)-{p_1}'(t)q_3(t)\\ {p_1}'(t)q_2(t)-{p_2}'(t)q_1(t)\end{bmatrix} +\begin{bmatrix}p_2(t){q_3}'(t)-p_3(t){q_2}'(t)\\ p_3(t){q_1}'(t)-p_1(t){q_3}'(t)\\ p_1(t){q_2}'(t)-p_2(t){q_1}'(t)\end{bmatrix}
=p'(t)\times q(t)+p(t)\times q'(t)

が従う.

[証明終]

この補題3は「内積,外積の導関数に関して積の微分公式のようなものが成り立つ」という主張です.

[補題4] パラメータtに関する\R^3の元p(t)が微分可能で\|p(t)\|tによらず常に一定であるとする.このとき,p(t)p'(t)tによらず常に直交する.すなわち,次が成り立つ:

\anb{p(t),\ p'(t)}=0

[証明]

C:=\|p(t)\|とする.条件から,Ctによらない定数である.

\|p(t)\|^2=\anb{p(t),p(t)}

なので,C^2=\anb{p(t),p(t)}である.両辺をtで微分すると,左辺C^2が定数であることと,補題3から

0=\anb{p'(t),p(t)}+\anb{p(t),p'(t)}=2\anb{p(t),p'(t)}

が分かる.よって,両辺2で割って0=\anb{p(t),p'(t)}が従う.

[証明終]

この補題4はFrenet-Serretの公式の導出でキーとなる補題です.

Frenet-Serretの公式

t\in(\alpha,\beta)をパラメータとするR^3内の曲線C:r=r(t)を考えます.ただし,rは次の条件を満たしているとします.

  1. rC^\infty級である.
  2. 任意のtに対して,r'(t)\neq0である.
  3. 任意のtに対して,r''(t)\times r'(t)\neq0である.

1は「rtに関して何回でも微分可能」,2は「rの速度は0にならない」,3は「曲線Cの軌跡は曲がっている」ということを述べています.

rに対し,接線ベクトル,主法線ベクトル,従法線ベクトルを次のように定義します.

[定義5] R^3の元v_1(t),v_2(t),v_3(t)を次で定義する.

v_1(t):=\f{r'(t)}{\|r'(t)\|}
v_2(t):=\f{{v_1}'(t)}{\|{v_1}'(t)\|}
v_3(t):=v_1(t)\times v_2(t)

このとき,v_1(t)C接線ベクトルv_2(t)C主法線ベクトルv_3(t)C従法線ベクトルという.また,\kappa(t):=\|{v_1}'(t)\|C曲率という.

いま,パラメータtには特に条件を課していないが,tを弧長パラメータとして考えることも多い.

tが弧長パラメータであるとは,t=0からt=Tの間に描いた曲線の長さをTとするパラメータのことを言う.言い換えれば,曲線を描く速さが常に1であるということである.

したがって,このときは\|r'(t)\|=1だから,v_1(t)=r'(t)となる.

さて,冒頭で書いた通り,接ベクトルv_1(t)は曲線Cの「進む向き」に,法線ベクトルv_2(t)は曲線Cの「曲がる向き」に,従法線ベクトルv_3(t)曲線Cの「ねじれる向き」に相当します.

ここで,次の命題6を示します.

[命題6] {v_3}'(t)v_2(t)tによらず平行である.

 [証明]

v_3(t)=v_1(t)\times v_2(t)より,両辺tで微分して{v_3}'(t)={v_1}'(t)\times v_2(t)+v_1(t)\times{v_2}'(t)である.また,{v_1}'(t)v_2(t)は平行だから,{v_1}'(t)\times v_2(t)=0である.よって,

{v_3}'(t)=v_1(t)\times{v_2}'(t)

である.よって,{v_3}'(t)tによらずv_1(t),{v_2}'(t)の両方と直交する.

\|v_1(t)\|=1は定数だから,補題4よりv_1(t){v_1}'(t)tによらず直交する.v_2(t)=\dfrac{{v_1}'(t)}{\|{v_1}'(t)\|}だから,v_1(t)v_2(t)tによらず直交する.

また,\|v_2(t)\|=1は定数だから,補題4よりv_2(t){v_2}'(t)tによらず直交する.したがって,{v_2}'(t)tによらずv_1(t),v_2(t)の両方とも直交する.

いまはR^3で考えているので,{v_3}'(t)v_2(t)tによらず平行である.

 [証明終]

命題6より,次の定義7ができる.

[定義7] {v_3}'(t)=-\tau(t)v_2(t)によって定まる\tau(t)C捩率れいりつという.

捩率は「接線ベクトル,主法線ベクトルの張る平面からどれくらいの勢いではみ出そうとするのか」ということを表します.したがって,同一平面上を動く曲線の捩率は0です.

[命題8] tによらず,A(t):=[v_1(t),v_2(t),v_3(t)]は直交行列である.

[証明]

\anb{v_i(t),v_j(t)}=\delta_{i,j} (i,j=1,2,3)を示せば良いが,内積は可換だからi\ge jの場合を示せば十分である.

v_1(t),v_2(t)の定義から

\|v_1(t)\|=\|v_2(t)\|=1

である.また,v_3(t)の定義から

\anb{v_3(t),v_1(t)}=\anb{v_3(t),v_2(t)}=0

である.さらに,

\anb{v_2(t),v_1(t)}=0

は命題6の証明中で示した.最後に,

\|v_3(t)\|=\|v_1(t)\|\|v_2(t)\|\sin\f{\pi}{2}=1

が従う.

[証明終]

準備が整ったので,Frenet-Serretの公式を示します.

[定理9(Frenet-Serretの公式)] 次のFrenet-Serretの公式が成り立つ.

[{v_1}'(t),{v_2}'(t),{v_3}'(t)] =[v_1(t),v_2(t),v_3(t)] \begin{bmatrix}0&-\kappa(t)&0\\ \kappa(t)&0&-\tau(t)\\ 0&\tau(t)&0\end{bmatrix}

[証明]

命題8と同じくA(t):=[v_1(t),v_2(t),v_3(t)]とする.

{}^{t}A(t)A'(t)
=\begin{bmatrix}{}^{t}v_1(t)\\ {}^{t}v_2(t)\\ {}^{t}v_3(t)\end{bmatrix} [{v_1}'(t),\ {v_2}'(t),\ {v_3}'(t)]
=\begin{bmatrix}\anb{v_1(t),{v_1}'(t)}&\anb{v_1(t),{v_2}'(t)}&\anb{v_1(t),{v_3}'(t)}\\ \anb{v_2(t),{v_1}'(t)}&\anb{v_2(t),{v_2}'(t)}&\anb{v_2(t),{v_3}'(t)}\\ \anb{v_3(t),{v_1}'(t)}&\anb{v_3(t),{v_2}'(t)}&\anb{v_3(t),{v_3}'(t)}\end{bmatrix}

である.\|v_i\|=1 (i=1,2,3)は定数なので,定理4より\langle v_i(t),{v_i}'(t)\rangle=0である.また,{v_3}'(t):={v_1}'(t)\times v_2(t)+v_1(t)\times {v_2}'(t)であり

{v_1}'(t)\times v_2(t)={v_1}'(t)\times \f{{v_1}'(t)}{\|{v_1}'(t)\|}=0

であることと,

\anb{v_1(t)\times {v_2}'(t),v_1(t)}=0

であることから\anb{v_1(t),{v_3}'(t)}=0が成り立つ.さらに,

v_3(t):=v_1(t)\times v_2(t)=v_1(t)\times \f{{v_1}'(t)}{\|{v_1}'(t)\|}

だから,\anb{v_3(t),{v_1}'(t)}=0である.次に,

\anb{v_2(t),{v_1}'(t)}=\anb{\dfrac{{v_1}'(t)}{\|{v_1}'(t)\|},{v_1}'(t)}=\|{v_1}'(t)\|=\kappa(t)
\anb{v_2(t),{v_3}'(t)}=\anb{v_2(t),-\tau(t)v_2(t)}=-\tau(t)

である.また,命題8より\anb{v_1(t),v_2(t)}=0,\anb{v_2(t),v_3(t)}=0だったから,これらの両辺をtで微分して整理すると,

\anb{v_1(t),{v_2}'(t)}=-\anb{{v_1}'(t),v_2(t)}=-\kappa(t)
\anb{{v_2}'(t),v_3(t)}=-\anb{v_2(t),{v_3}'(t)}=\tau(t)

である.命題8よりA(t)は直交行列なので,{A(t)}^{-1}={}^{t}A(t)である.よって,

A(t)^{-1}A'(t) =\begin{bmatrix}0&-\kappa(t)&0\\ \kappa(t)&0&-\tau(t)\\ 0&\tau(t)&0\end{bmatrix}

が成り立つから,

A'(t) =A(t) \begin{bmatrix}0&-\kappa(t)&0\\ \kappa(t)&0&-\tau(t)\\ 0&\tau(t)&0\end{bmatrix}

となって,Frenet-Serretの公式が従う.

[証明終]

参考文献

関連記事

【良いと思ったらシェアを!】

最後まで読んでいただきありがとうございました!

良ければシェアボタンから共有をお願いします!

コメント

コメントを残す

*

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください