機械学習基礎理論独習

誤りがあればご指摘いただけると幸いです。数式が整うまで少し時間かかります。リンクフリーです。

勉強ログです。リンクフリーです
目次へ戻る

ベジェ曲線の微分

3次ベジェ曲線の定義

3次ベジェ曲線の式を載せておきます。{\bf P}_0,{\bf P}_1,{\bf P}_2,{\bf P}_3 は制御点で、 t\in[0,1] はパラメータです。

\begin{eqnarray}
{\bf P}(t)=(1-t)^3{\bf P}_0+3(1-t)^2t{\bf P}_1+3(1-t)t^2{\bf P}_2+t^3{\bf P}_3\tag{1}
\end{eqnarray}

3次ベジェ曲線の1階微分

パラメータ t微分します。

\begin{eqnarray}
\frac{{\rm d}{\bf P}(t)}{{\rm d}t}&=&\frac{{\rm d}}{{\rm d}t}(1-t)^3{\bf P}_0+\frac{{\rm d}}{{\rm d}t}3(1-t)^2t{\bf P}_1+\frac{{\rm d}}{{\rm d}t}3(1-t)t^2{\bf P}_2+\frac{{\rm d}}{{\rm d}t}t^3{\bf P}_3\\
&=&-3(1-t)^2{\bf P}_0+3(3t^2-4t+1){\bf P}_1+3(-3t^2+2t){\bf P}_2+3t^2{\bf P}_3\tag{2}
\end{eqnarray}

(2) の両辺に 1/3 を掛けて、変形します。

\begin{eqnarray}
\frac{1}{3}\frac{{\rm d}{\bf P}(t)}{{\rm d}t}&=&(1-t)^2\left({\bf P}_1-{\bf P}_0\right)+2(1-t)t\left({\bf P}_2 - {\bf P}_1\right)+t^2({\bf P}_3-{\bf P}_2)\\
&=&(1-t)^2 {\bf P}_{01}+2(1-t)t{\bf P}_{12}+t^2{\bf P}_{23}\tag{3}
\end{eqnarray}

(3) で、 {\bf P}_{01}={\bf P}_1-{\bf P}_0,{\bf P}_{12}={\bf P}_2-{\bf P}_1,{\bf P}_{23}={\bf P}_3-{\bf P}_2 とおきました。
(3) は、制御点が  {\bf P}_{01},{\bf P}_{12},{\bf P}_{23}2ベジェ曲線であることが分かります。

ベジェ曲線の端点( t=0,1 )の1階微分を求めてみます。
 (3)t = 0, 1 を代入して整理します。

\begin{eqnarray}
&&\left.\frac{{\rm d}{\bf P}(t)}{{\rm d}t}\right |_{t=0}=3{\bf P}_{01}\tag{4}\\
&&\left.\frac{{\rm d}{\bf P}(t)}{{\rm d}t}\right |_{t=1}=3{\bf P}_{23}\tag{5}
\end{eqnarray}

(4),(5) より、{\bf P}_0 の1階微分は、{\bf P}_0,{\bf P}_1 のみで、{\bf P}_3 の1階微分は、{\bf P}_2,{\bf P}_3 のみで求まることが分かります。

3次ベジェ曲線の2階微分

(3) をパラメータ t微分します。

\begin{eqnarray}
\frac{1}{3}\frac{{\rm d}^2{\bf P}(t)}{{\rm d}t^2}&=&\frac{{\rm d}}{{\rm d}t}(1-t)^2 {\bf P}_{01}+\frac{{\rm d}}{{\rm d}t}2(1-t)t{\bf P}_{12}+\frac{{\rm d}}{{\rm d}t}t^2{\bf P}_{23}\\
&=&-2(1-t) {\bf P}_{01}+2(-2t+1){\bf P}_{12}+2t{\bf P}_{23}\tag{6}
\end{eqnarray}

(6) の両辺に 1/2 を掛けて、変形します。

\begin{eqnarray}
\frac{1}{6}\frac{{\rm d}^2{\bf P}(t)}{{\rm d}t^2}=(1-t)\left({\bf P}_{12}-{\bf P}_{01}\right)+t\left({\bf P}_{23}-{\bf P}_{12}\right)\tag{7}
\end{eqnarray}

(7) は、制御点が  {\bf P}_{12}-{\bf P}_{01},{\bf P}_{23}-{\bf P}_{12} 1ベジェ曲線であることが分かります。

3次ベジェ曲線の曲率

曲率半径 R は以下のようになります。(制御点は2次元とします。)

\begin{eqnarray}
R=\frac{\left(x'^2+y'^2\right)^{\frac{3}{2}}}{x'y''-y'x''}\tag{8}
\end{eqnarray}

R は符号付で、正なら左回り、負なら右回りです。

曲率 \kappaR の逆数です。

\begin{eqnarray}
\kappa=\frac{1}{R}\tag{9}
\end{eqnarray}

目次へ戻る