第5回 ベジェ曲線

オンデマンドで受講する場合は、本題に入る前に必ず連絡の動画を見てください。

2次ベジェ曲線

概要

動画の解説を参照

2次ベジェ曲線とは3つの点で決まる曲線で、原点からそれらの点に向かうベクトルをそれぞれ \(\boldsymbol{P}_0\), \(\boldsymbol{P}_1\), \(\boldsymbol{P}_2\) とすると、
\(\boldsymbol{P}_0\), \(\boldsymbol{P}_2\) の終点が曲線の端点となり、\(\boldsymbol{P}_2\) が曲線の曲がり方を決定します。
原点から曲線上の点に向かうベクトルは0~1の範囲の変数 \(t\) をパラメータとして
\(\boldsymbol{C}(t)\) \(=(1-t)^2\boldsymbol{P}_0\) \(+2t(1-t)\boldsymbol{P}_1\) \(+t^2\boldsymbol{P}_2\)
のように表されます。
曲線は \(\boldsymbol{P}_0\), \(\boldsymbol{P}_1\) の終点を結ぶ線分 (赤), \(\boldsymbol{P}_1\), \(\boldsymbol{P}_2\) の終点を結ぶ線分 (緑) と端点でなめらかに接します。
\(\boldsymbol{P}_0\)   \(x\)   \(y\)
\(\boldsymbol{P}_1\)   \(x\)   \(y\)
\(\boldsymbol{P}_2\)   \(x\)   \(y\)

課題1

※ 準備 : 学籍番号を入れて「入力」をクリック (タップ) してください。


\(\boldsymbol{P}_0\) = (), \(\boldsymbol{P}_1\) = (), \(\boldsymbol{P}_2\) = () の2次ベジェ曲線の近似である8本のセグメントからなる折れ線の図を描いてください。
図には概要の赤・緑の線分も入れてください。
折れ線の端点、中間点の座標は四捨五入して小数第2位までにし、以下のフォーマットの表にまとめてください。
\(x\) \(y\)
0
1
2
3
4
5
6
7
8
課題用方眼画像
課題1解説

Excelを使った座標の計算
\(\boldsymbol{C}(t)\) \(=(1-t)^2\boldsymbol{P}_0\) \(+2t(1-t)\boldsymbol{P}_1\) \(+t^2\boldsymbol{P}_2\)
について \(t\) の 0~1の範囲の1/8刻みの値について \(\boldsymbol{C}\) の \(x, y\) を求めればいいので、まずB, C列に \(t\) と \(1-t\) の値を入れ、 H, I列に書いた \(\boldsymbol{P}_0\) ~ \(\boldsymbol{P}_2\) の値を参照して計算します。
D2セルに =$C2^2*$H$2+2*$B2*$C2*$H$3+$B2^2*$H$4 E2セルに =$C2^2*$I$2+2*$B2*$C2*$I$3+$B2^2*$I$4 として下の行にコピーすれば座標が計算できます。
あとは「挿入」→「グラフ」→「散布図」でこのようにだいたいどういう図になるかが見られます。

本来のベジェ曲線の形 (図を描く前にExcelの図がこれとだいたい一致しているか確認してください)

3次ベジェ曲線

概要

動画の解説を参照

3次ベジェ曲線とは4つの点で決まる曲線で、原点からそれらの点に向かうベクトルをそれぞれ \(\boldsymbol{P}_0\), \(\boldsymbol{P}_1\), \(\boldsymbol{P}_2\), \(\boldsymbol{P}_3\) とすると、
\(\boldsymbol{P}_0\), \(\boldsymbol{P}_3\) の終点が曲線の端点となり、\(\boldsymbol{P}_1\), \(\boldsymbol{P}_2\) が曲線の曲がり方を決定します。
原点から曲線上の点に向かうベクトルは0~1の範囲の変数 \(t\) をパラメータとして
\(\boldsymbol{C}(t)\) \(=(1-t)^3\boldsymbol{P}_0\) \(+3t(1-t)^2\boldsymbol{P}_1\) \(+3t^2(1-t)\boldsymbol{P}_2\) \(+t^3\boldsymbol{P}_3\)
のように表されます。
曲線は \(\boldsymbol{P}_0\), \(\boldsymbol{P}_1\) の終点を結ぶ線分 (赤), \(\boldsymbol{P}_2\), \(\boldsymbol{P}_3\) の終点を結ぶ線分 (青) と端点でなめらかに接します。
\(\boldsymbol{P}_0\)   \(x\)   \(y\)
\(\boldsymbol{P}_1\)   \(x\)   \(y\)
\(\boldsymbol{P}_2\)   \(x\)   \(y\)
\(\boldsymbol{P}_3\)   \(x\)   \(y\)
より高次のベジェ曲線も同様に考えられます。
4次のベジェ曲線は \(\boldsymbol{P}_0\) ~ \(\boldsymbol{P}_4\) を使って
\(\boldsymbol{C}(t)\) \(=(1-t)^4\boldsymbol{P}_0\) \(+4t(1-t)^3\boldsymbol{P}_1\) \(+6t^2(1-t)^2\boldsymbol{P}_2\) \(+4t^3(1-t)\boldsymbol{P}_3\) \(+t^4\boldsymbol{P}_4\)
5次のベジェ曲線は \(\boldsymbol{P}_0\) ~ \(\boldsymbol{P}_5\) を使って
\(\boldsymbol{C}(t)\) \(=(1-t)^5\boldsymbol{P}_0\) \(+5t(1-t)^4\boldsymbol{P}_1\) \(+10t^2(1-t)^3\boldsymbol{P}_2\) \(+10t^3(1-t)^2\boldsymbol{P}_3\) \(+5t^4(1-t)\boldsymbol{P}_4\) \(+t^5\boldsymbol{P}_5\)
一般に \((n\geq 1)\) として \(n\) 次のベジェ曲線は \(\boldsymbol{P}_0\) ~ \(\boldsymbol{P}_n\) を使って
\(\boldsymbol{C}(t)\) \(=\displaystyle \sum_{i=0}^n\) \(_n C_i\) \(t^i(1-t)^{n-i} \) \(\boldsymbol{P}_i\)
のように表されます。

課題2

\(\boldsymbol{P}_0\) = (), \(\boldsymbol{P}_1\) = (), \(\boldsymbol{P}_2\) = (), \(\boldsymbol{P}_3\) = () の3次ベジェ曲線の近似である8つのセグメントからなる折れ線の図を描いてください。
図には概要の赤・緑・青の線分も入れてください。
折れ線の端点、中間点の座標は四捨五入して小数第2位までにし、課題1と同じフォーマットの表にまとめてください。

課題用方眼画像
課題2解説

Excelを使った座標の計算
\(\boldsymbol{C}(t)\) \(=(1-t)^3\boldsymbol{P}_0\) \(+3t(1-t)^2\boldsymbol{P}_1\) \(+3t^2(1-t)\boldsymbol{P}_2\) \(+t^3\boldsymbol{P}_3\)
について課題1と同様に座標を計算したいので、課題1用のExcelのタブを複製して書き換えます。
まず \(\boldsymbol{P}_0\) ~ \(\boldsymbol{P}_2\) の座標値を書き換え、H5, I5セルに \(\boldsymbol{P}_3\) の値を追加します。
D2セルは =$C2^3*$H$2+3*$B2*$C2^2*$H$3+3*$B2^2*$C2*$H$4+$B2^3*$H$5 E2セルは =$C2^3*$I$2+3*$B2*$C2^2*$I$3+3*$B2^2*$C2*$I$4+$B2^3*$I$5 のように変更して下の行にコピーすれば座標が計算できます。
あとは「挿入」→「グラフ」→「散布図」でこのようにだいたいどういう図になるかが見られます。

本来のベジェ曲線の形 (図を描く前にExcelの図がこれとだいたい一致しているか確認してください)

課題

課題解答