機械学習基礎理論独習

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

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

ベジェ曲線の定義

ベジェ曲線とは

ベジェ曲線と言えば、普通「3次ベジェ曲線」を意味することが多いと思います。
「3次ベジェ曲線」は以下の図のように4つ制御点からなる曲線のことで、扱いやすいのが特徴です。

1次ベジェ曲線の定義

パラメータ t 0 から  1 を取るとします。

まずは、1次ベジェ曲線です。
制御点は {\bf P}_0,{\bf P}_12 つです。
線分 {\bf P}_0{\bf P}_1 t : 1 − t の比率で分割する点を {\bf P}(t) とします。
このとき、{\bf P}(t) は以下のように表せます。

\begin{eqnarray}
{\bf P}(t)=(1-t){\bf P}_0+t{\bf P}_1\tag{1}
\end{eqnarray}

この式 (1) はただの線分です。
なので、1ベジェ曲線って使われることはないと思います。


2次ベジェ曲線の定義

次に、 2ベジェ曲線です。
 1ベジェ曲線と異なり、制御点は {\bf P}_0,{\bf P}_1,{\bf P}_23 つです。
線分 {\bf P}_0{\bf P}_1,{\bf P}_1{\bf P}_2 をそれぞれ  t : 1 − t の比率で分割する点を {\bf P}_3,{\bf P}_4 とします。
このとき、式 (1) より、{\bf P}_3,{\bf P}_4 は以下のように表せます。

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

線分 {\bf P}_3{\bf P}_4 t : 1 − t の比率で分割する点を {\bf P}(t) とします。

\begin{eqnarray}
{\bf P}(t)=(1-t){\bf P}_3+t{\bf P}_4\tag{4}
\end{eqnarray}

(2),(3) を式 (4) に代入します。

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

2ベジェ曲線」は、表現力に乏しいためあまり使われません。


3次ベジェ曲線の定義

お待たせしました 3ベジェ曲線です。
制御点は {\bf P}_0,{\bf P}_1,{\bf P}_2,{\bf P}_34 つです。

線分 {\bf P}_0{\bf P}_1,{\bf P}_1{\bf P}_2,{\bf P}_2{\bf P}_3 をそれぞれ  t : 1 − t の比率で分割する点を {\bf P}_4,{\bf P}_5,{\bf P}_6 とします。
線分 {\bf P}_4{\bf P}_5,{\bf P}_5{\bf P}_6 をそれぞれ  t : 1 − t の比率で分割する点を {\bf P}_7,{\bf P}_8 とします。

このとき、式 (5) より、{\bf P}_7,{\bf P}_8 は以下のように表せます。

\begin{eqnarray}
&&{\bf P}_7=(1-t)^2{\bf P}_0+2(1-t)t{\bf P}_1+t^2{\bf P}_2\tag{6}\\
&&{\bf P}_8=(1-t)^2{\bf P}_1+2(1-t)t{\bf P}_2+t^2{\bf P}_3\tag{7}
\end{eqnarray}

線分 {\bf P}_7{\bf P}_8 t : 1 − t の比率で分割する点を {\bf P}(t) とします。

\begin{eqnarray}
{\bf P}(t)=(1-t){\bf P}_7+t{\bf P}_8\tag{8}
\end{eqnarray}

(6),(7) を式 (8) に代入します。

\begin{eqnarray}
{\bf P}(t)&=&(1-t)\{(1-t)^2{\bf P}_0+2(1-t)t{\bf P}_1+t^2{\bf P}_2\}+t\{(1-t)^2{\bf P}_1+2(1-t)t{\bf P}_2+t^2{\bf P}_3\}\\
&=&(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{9}
\end{eqnarray}

ようやく、「3ベジェ曲線」の式が求まりました。


N次ベジェ曲線の定義

制御点は {\bf P}_0,{\bf P}_1,{\bf P}_2,\cdots , {\bf P}_{N-1}N 個です。
この時、ベジェ曲線は以下の式で表せます。

\begin{eqnarray}
{\bf P}(t)=\sum_{k=1}^N{\bf P}_i+J_{N-1,i}(t)\tag{10}
\end{eqnarray}

 J_{N-1,i}(t) はバーンステイン基底関数です。

\begin{eqnarray}
J_{n,i}(t)=\begin{pmatrix}n\\ i\end{pmatrix}t^i(1-t)^{n-i}\tag{11}
\end{eqnarray}

目次へ戻る