フレネ・セレの公式

フレネ・セレの公式 (ふれねせれのこうしき、英: Frenet–Serret formulas) は、3次元ユークリッド空間内 R3 内の連続で微分可能な曲線上を動く粒子の運動学的性質、あるいは、曲線自身の幾何学的性質を記述するベクトル解析の概念の一つである。 この公式は、曲線に対する接線方向 (tangent)・主法線方向 (normal)・従法線方向 (binormal)を指す３つの単位ベクトルの組{T, N, B }からなるフレネ・セレ標構とその微分との間の線形関係について記述したものであり、二人のフランス人数学者ジャン・フレデリック・フルネ（英語版） (Jean Frédéric Frenet, 1847) とジョゼフ・アルフレッド・セレ（英語版） (Joseph Alfred Serret, 1851) によって独立に発見された。 フレネ・セレ基底を構成する単位接ベクトル T ・単位主法線ベクトル N ・単位従法線ベクトル B は次のように定義される。 T は曲線に接する単位ベクトルで、運動の方向を向いている。 N は T を曲線の弧長で微分し、その大きさで割ったものである。 B は T と N のベクトル積である。 フレネ・セレの公式は d T d s = κ N d N d s = − κ T + τ B d B d s = − τ N {\displaystyle {\begin{matrix}\displaystyle {\frac {\mathrm {d} {\boldsymbol {T}}}{\mathrm {d} s}}&=&&\kappa {\boldsymbol {N}}&\\&&&&\\\displaystyle {\frac {\mathrm {d} {\boldsymbol {N}}}{\mathrm {d} s}}&=&-\kappa {\boldsymbol {T}}&&+\,\tau {\boldsymbol {B}}\\&&&&\\\displaystyle {\frac {\mathrm {d} {\boldsymbol {B}}}{\mathrm {d} s}}&=&&-\tau {\boldsymbol {N}}&\end{matrix}}} あるいは d d s ( T N B ) = ( 0 κ 0 − κ 0 τ 0 − τ 0 ) ( T N B ) {\displaystyle \displaystyle {\frac {\mathrm {d} }{\mathrm {d} s}}{\begin{pmatrix}{\boldsymbol {T}}\\{\boldsymbol {N}}\\{\boldsymbol {B}}\end{pmatrix}}={\begin{pmatrix}0&\kappa &0\\-\kappa &0&\tau \\0&-\tau &0\end{pmatrix}}{\begin{pmatrix}{\boldsymbol {T}}\\{\boldsymbol {N}}\\{\boldsymbol {B}}\end{pmatrix}}} と表される。 ここで、d/ds は、弧長についての微分を表し、κ, τ はそれぞれ曲線の曲率、捩率を表す。 ユークリッド空間内を運動する粒子の時刻 t における位置ベクトルを r (t) とする。関数 r (t) のグラフは粒子の軌道を表す曲線である。 ただし、 r (t) は滑らかな関数であり、 軌道は曲がっている (r "(t)×r '(t)≠0) と仮定する。 s (t) を弧長、すなわち、粒子が時刻 t までに曲線上を動いた距離 s ( t ) = ∫ 0 t ‖ r ′ ( σ ) ‖ d σ . {\displaystyle s(t)=\int _{0}^{t}\|{\boldsymbol {r}}'(\sigma )\|\mathrm {d} \sigma .} とする。r '≠0 を仮定しているので、t を s の関数として表せ、よって、r をs の関数として r(s)=r(t(s)) と表せる。このように、曲線を弧長でパラメータ表示できる。なお、微分は d d s = 1 ‖ r ′ ( t ) ‖ d d t {\displaystyle {\frac {\mathrm {d} }{\mathrm {d} s}}={\frac {1}{\|{\boldsymbol {r}}'(t)\|}}{\frac {\mathrm {d} }{\mathrm {d} t}}} と変換できる。 曲線上の各点 r (s) で定義された正規直交基底 { e1(s), e2(s), e3(s) } (動標構（英語版）)を考える。それぞれのベクトルは s について微分可能とする。 微分したベクトル { de1(s)/ds , de2(s)/ds , de3(s )/ds }は、 あるスカラー関数 ω1(s), ω2(s), ω3(s) を使って d d s ( e 1 ( s ) e 2 ( s ) e 3 ( s ) ) = ( 0 ω 3 − ω 2 − ω 3 0 ω 1 ω 2 − ω 1 0 ) ( e 1 ( s ) e 2 ( s ) e 3 ( s ) ) {\displaystyle {\frac {\mathrm {d} }{\mathrm {d} s}}{\begin{pmatrix}{\boldsymbol {e}}_{1}(s)\\{\boldsymbol {e}}_{2}(s)\\{\boldsymbol {e}}_{3}(s)\\\end{pmatrix}}={\begin{pmatrix}0&\omega _{3}&-\omega _{2}\\-\omega _{3}&0&\omega _{1}\\\omega _{2}&-\omega _{1}&0\end{pmatrix}}{\begin{pmatrix}{\boldsymbol {e}}_{1}(s)\\{\boldsymbol {e}}_{2}(s)\\{\boldsymbol {e}}_{3}(s)\\\end{pmatrix}}} …(0) と表せる。 行列の反対称性の証明 基底の縦表示 Q = ( e 1 ( s ) e 2 ( s ) e 3 ( s ) ) {\displaystyle Q={\begin{pmatrix}{\boldsymbol {e}}_{1}(s)\\{\boldsymbol {e}}_{2}(s)\\{\boldsymbol {e}}_{3}(s)\end{pmatrix}}} を考える。これらの要素のベクトルは基底をなすから任意のベクトルを線形和で表示できる。 よって自身の微分に対しても d Q d s = Ω Q {\displaystyle {\frac {\mathrm {d} Q}{\mathrm {d} s}}={\it {\Omega }}\,Q} …(p1) となる行列 Ω が存在する。 よって、証明すべきことはこの行列が反対称性 (ΩT=-Ω) を持つことである。 さて、 { e1(s), e2(s), e3(s) } は正規直交基底なので Q ⋅ Q T = ( e 1 ( s ) e 2 ( s ) e 3 ( s ) ) ⋅ ( e 1 ( s ) e 2 ( s ) e 3 ( s ) ) = ( 1 0 0 0 1 0 0 0 1 ) ∴ Q ⋅ Q T = I {\displaystyle {\begin{aligned}Q\cdot Q^{\mathrm {T} }&={\begin{pmatrix}{\boldsymbol {e}}_{1}(s)\\{\boldsymbol {e}}_{2}(s)\\{\boldsymbol {e}}_{3}(s)\end{pmatrix}}\cdot {\begin{pmatrix}{\boldsymbol {e}}_{1}(s)&{\boldsymbol {e}}_{2}(s)&{\boldsymbol {e}}_{3}(s)\end{pmatrix}}\\&={\begin{pmatrix}1&0&0\\0&1&0\\0&0&1\end{pmatrix}}\\\therefore Q\cdot Q^{\mathrm {T} }&=I\end{aligned}}} となる。 これを式(p1)に適用すると Ω = d Q d s ⋅ Q T {\displaystyle {\it {\Omega }}={\frac {\mathrm {d} Q}{\mathrm {d} s}}\cdot Q^{\mathrm {T} }} が得られる。 また、I =Q ・QT の両辺を微分すると、 0 = d Q d s ⋅ Q T + Q ⋅ d Q T d s = d Q d s ⋅ Q T + ( d Q d s ⋅ Q T ) T = Ω + Ω T {\displaystyle {\begin{aligned}0&=\displaystyle {\frac {\mathrm {d} Q}{\mathrm {d} s}}\cdot Q^{\mathrm {T} }+Q\cdot {\frac {\mathrm {d} Q^{\mathrm {T} }}{\mathrm {d} s}}\\&=\displaystyle {\frac {\mathrm {d} Q}{\mathrm {d} s}}\cdot Q^{\mathrm {T} }+\left({\frac {\mathrm {d} Q}{\mathrm {d} s}}\cdot Q^{\mathrm {T} }\right)^{\mathrm {T} }&={\it {\Omega }}+{\it {\Omega }}^{\mathrm {T} }\end{aligned}}} が導かれる。これより、Ω が反対称性 Ω = ( 0 ω 3 − ω 2 − ω 3 0 ω 1 ω 2 − ω 1 0 ) {\displaystyle {\it {\Omega }}={\begin{pmatrix}0&\omega _{3}&-\omega _{2}\\-\omega _{3}&0&\omega _{1}\\\omega _{2}&-\omega _{1}&0\end{pmatrix}}} を持つことが示せた。 反対称行列は3個のパラメータで表せるが、以下に示すように、正規直交基底を適切に選ぶと反対称行列の成分を2個のパラメータで表すことができる。 曲線上の各点 r (s) において、3組のベクトル {T, N, B} を以下のように定義する: T ≡ d r d s = r ′ ( t ) ‖ r ′ ( t ) ‖ ( 1 ) N ≡ d T / d s ‖ d T / d s ‖ = r ′ ( t ) × ( r ″ ( t ) × r ′ ( t ) ) ‖ r ′ ( t ) × ( r ″ ( t ) × r ′ ( t ) ) ‖ ( 2 ) B ≡ T × N = r ′ ( t ) × r ″ ( t ) ‖ r ′ ( t ) × r ″ ( t ) ‖ ( 3 ) {\displaystyle {\begin{aligned}{\boldsymbol {T}}&\equiv {\frac {\mathrm {d} {\boldsymbol {r}}}{\mathrm {d} s}}\\&={\frac {{\boldsymbol {r}}'(t)}{\left\|{\boldsymbol {r}}'(t)\right\|}}&(1)\\[1.0em]{\boldsymbol {N}}&\equiv {\frac {{\mathrm {d} {\boldsymbol {T}}}/{\mathrm {d} s}}{\left\|{\mathrm {d} {\boldsymbol {T}}}/{\mathrm {d} s}\right\|}}\\&={\frac {{\boldsymbol {r}}'(t)\times ({\boldsymbol {r}}''(t)\times {\boldsymbol {r}}'(t))}{\left\|{\boldsymbol {r}}'(t)\times ({\boldsymbol {r}}''(t)\times {\boldsymbol {r}}'(t))\right\|}}&(2)\\[1.0em]{\boldsymbol {B}}&\equiv {\boldsymbol {T}}\times {\boldsymbol {N}}\\&={\frac {{\boldsymbol {r}}'(t)\times {\boldsymbol {r}}''(t)}{\left\|{\boldsymbol {r}}'(t)\times {\boldsymbol {r}}''(t)\right\|}}&(3)\end{aligned}}} これらは正規直交基底であり、この順に右手系をなすことがわかる。{T, N, B} をフレネ・セレ標構とよぶ。 フレネ・セレ標構に対して、動標構の微分の関係式(0)を適用すると、フレネ・セレ標構の定義(2)からω2=0となる。 ω3=κ,ω1=τと置き換えるとフレネ・セレの公式: d d s ( T N B ) = ( 0 κ 0 − κ 0 τ 0 − τ 0 ) ( T N B ) {\displaystyle {\frac {\mathrm {d} }{\mathrm {d} s}}{\begin{pmatrix}{\boldsymbol {T}}\\{\boldsymbol {N}}\\{\boldsymbol {B}}\end{pmatrix}}={\begin{pmatrix}0&\kappa &0\\-\kappa &0&\tau \\0&-\tau &0\\\end{pmatrix}}{\begin{pmatrix}{\boldsymbol {T}}\\{\boldsymbol {N}}\\{\boldsymbol {B}}\end{pmatrix}}} が得られる。 κ,τはそれぞれ曲線の曲率、捩率を表し、公式より、 κ = d T d s ⋅ N = ‖ r ′ ( t ) × r ″ ( t ) ‖ ‖ r ′ ( t ) ‖ 3 τ = − d B d s ⋅ N = r ′ ( t ) ⋅ ( r ″ ( t ) × r ‴ ( t ) ) ‖ r ′ ( t ) × r ″ ( t ) ‖ 2 {\displaystyle {\begin{aligned}\kappa &={\mathrm {d} {\boldsymbol {T}} \over \mathrm {d} s}\cdot {\boldsymbol {N}}\\&={\left\|{\boldsymbol {r}}'(t)\times {\boldsymbol {r}}''(t)\right\| \over \left\|{\boldsymbol {r}}'(t)\right\|^{3}}\\\tau &=-{\mathrm {d} {\boldsymbol {B}} \over \mathrm {d} s}\cdot {\boldsymbol {N}}\\&={{\boldsymbol {r}}'(t)\cdot ({\boldsymbol {r}}''(t)\times {\boldsymbol {r}}'''(t)) \over \left\|{\boldsymbol {r}}'(t)\times {\boldsymbol {r}}''(t)\right\|^{2}}\end{aligned}}} と与えられる。定義により κ >0 である。 半径 r (>0)、間隔 2π h 、角速度ω(>0)の螺旋上の運動 x ( t ) = r cos ⁡ ( ω t ) y ( t ) = r sin ⁡ ( ω t ) z ( t ) = h ω t {\displaystyle {\begin{aligned}x(t)&=r\cos(\omega t)\\y(t)&=r\sin(\omega t)\\z(t)&=h\omega t\end{aligned}}} を考える。弧長は s ( t ) = r 2 + h 2 ω t {\displaystyle s(t)={\sqrt {r^{2}+h^{2}}}\,\omega t} で与えられる。 フレネ・セレ標構は T ( s ) = 1 r 2 + h 2 ( − r sin ⁡ ( ω t ) , r cos ⁡ ( ω t ) , h ) N ( s ) = ( − cos ⁡ ( ω t ) , − sin ⁡ ( ω t ) , 0 ) B ( s ) = 1 r 2 + h 2 ( h sin ⁡ ( ω t ) , − h cos ⁡ ( ω t ) , r ) {\displaystyle {\begin{aligned}{\boldsymbol {T}}(s)&={\frac {1}{\sqrt {r^{2}+h^{2}}}}{\begin{pmatrix}-r\sin(\omega t),&r\cos(\omega t),&h\end{pmatrix}}\\{\boldsymbol {N}}(s)&={\begin{pmatrix}-\cos(\omega t),&-\sin(\omega t),&0\end{pmatrix}}\\{\boldsymbol {B}}(s)&={\frac {1}{\sqrt {r^{2}+h^{2}}}}{\begin{pmatrix}h\sin(\omega t),&-h\cos(\omega t),&r\end{pmatrix}}\end{aligned}}} であり、曲率・捩率は κ = r r 2 + h 2 τ = h r 2 + h 2 {\displaystyle {\begin{aligned}\kappa &={\frac {r}{r^{2}+h^{2}}}\\\tau &={\frac {h}{r^{2}+h^{2}}}\end{aligned}}} となる。 h =0 のとき、軌道は xy 面内の半径 r の円周になり、曲率は κ=1/r 、 捩率は τ =0 となる。|h| が大きくなるにつれ、曲率はκ→0、捩率は τ →1/h となる。 ロボットマニピュレータの姿勢とその軌道を記述したり、蛇型ロボットや多関節ロボットを連続曲線で近似して表現する際に用いられる。