KATUBLO
2019年05月12日

【線形代数学】プログラマーがフレネ・セレの公式について解説

こんにちは。KATUOです。

今回は線形代数学における「フレネ・セレの公式」について解説していこうと思います。

 

ムービングフレームを理解する

フレネセレの公式を理解する前に、ムービングフレームという考えを理解する必要があります。

 

ムービングフレームの定義

[math] 平面曲線C(s)が存在するとする.[/math]

[math] このC(s)に対して,[/math]

[math]e_{1}(s)=C{\prime}(s) [/math]

[math] と置き,e_{1}(s)を反時計回りに90°回転されたベクトルをe_{2}(s)とする.[/math]

[math] この2つのベクトル,e_{1}(s),e_{2}(s)をムービングフレームとする. [/math]

 

ムービングフレームを図示するとこんなイメージ。

 

ムービングフレームを定義する理由は「曲線に適した座標系を取る」のが理由です。ムービングフレームを用いると、座標が固定されず、曲線に沿って動く座標を実現できるようになります。

 

曲率を理解する

曲率の定義

[math]平面曲線C(s)に対して,  [/math]

$$
\kappa ( s ) = e _ { 1 } ^ { \prime } ( s ) \cdot e _ { 2 } ( s )
$$

[math]この\kappa (s)をこの平面曲線の曲率という.  [/math]

 

曲率が意味するものとは?

曲率は曲線の曲がり具合を表します。曲率が大きければ、曲がり具合が大きな曲線といったような意味をもちます。

 

フレネ・セレの定義

[math] 平面曲線C(s)の[/math]

$$
\left\{ \begin{array} { l } { e _ { 1 } ^ { \prime } ( s ) = \kappa ( s ) e _ { 2 } ( s ) } \\ { e _ { 2 } ^ { \prime } ( s ) = – \kappa ( s ) e _ { 1 } ( s ) } \end{array} \right.
$$

 

$$
\frac { d } { d s } \left( \begin{array} { c } { e _ { 1 } ( s ) } \\ { e _ { 2 } ( s ) } \end{array} \right) = \left( \begin{array} { c c } { 0 } & { \kappa ( s ) } \\ { – \kappa ( s ) } & { 0 } \end{array} \right) \left( \begin{array} { c } { e _ { 1 } ( s ) } \\ { e _ { 2 } ( s ) } \end{array} \right)
$$

 

公式を見ると、曲率がわかると、ムービングフレームのベクトルの微分を求めることができる。

フレネ・セレを証明する

曲率の定義式を用いると簡単に証明できる。

$$
\kappa ( s ) = e ^ { \prime } ( s ) \cdot e _ { 2 } ( s )
$$

$$
e _ { 1} ^ { \prime } ( s ) = k ( s ) \cdot e _ { 2 } ( s )
$$

 

次にムービングフレームの内積を微分する変形を施し、証明することができる。

 

$$
\frac { d } { d S } \left( e _ { 1 } ( s ) \cdot e _ { 2 } ( s ) \right) = e _ { 1 } ^ { \prime } ( s ) \cdot e _ { 2 } ( s ) + e _ { 1 } ( s ) \cdot e _ { 2 }^{ \prime } ( s )
$$

$$
= \kappa( s ) + e _ { 1 } ( s ) \cdot e _ { 2 } ( s ) = 0
$$

$$
e _ { 1 } ( s ) \cdot e _ { 2 } ^ { \prime } ( s ) = – \kappa ( s )
$$

$$
e _ { 2 } ^ { \prime } ( s ) = – \kappa ( s ) \cdot e _ { 1 } ( s )
$$

 

フレネ・セレが意味するものとは

ムービングフレームは曲線に沿って動く座標系でしたよね。この座標系の動きが曲率を成分に持つ行列を係数とする、線形微分方程式の形で表す

ことができるようになります。

 

参考資料

https://en.wikipedia.org/wiki/Frenet%E2%80%93Serret_formulas

最後まで読んで頂き、ありがとうございました。
SNS等でのシェアが頂ければ幸いです!

プロフィール

@KATUO

現在都内私立大学に通う大学4年生。大学では電気電子工学を専攻。大学2年の夏頃に、プログラマーの長期インターン募集の広告が目に止まり、独学でプログラミングの学習をスタート。この時期からプログラミングにどハマりし、現在までに「AIスタートアップ」「Webマーケティング会社」でエンジニアとしての業務に没頭してきた。

大学生必見就活イベント