Bezier曲線
コンピュータ上で曲線を描くときによく使われる
以下、$ B_iの位置vectorを$ \pmb{b}_iと表記する
定義
$ N+1個の制御点$ B_0,B_1,\cdots,B_{N}で表現される$ N次Bezier曲線は以下のように定義される
$ C:[0,1]\ni t\mapsto \sum_{0\le i\le N} \binom{N}{i}t^i(1-t)^{N-i}\pmb{b}_i \in\R^n
$ C:[0,1]\ni t\mapsto \sum_{0\le i\le N} b_{i,N}(t)\pmb{b}_i \in\R^n
特徴
必ず端点を通る
$ C(0) = \pmb{b}_0
$ C(1)=\pmb{b}_N
まあ当たり前だけど
各次の曲線
$ C: [0,1]\ni t\mapsto (1-t)\pmb{b}_0 + t\pmb{b}_1 \in \R^n
$ \because \footnotesize \sum_{0\le i\le 1} \binom{1}{i}t^i(1-t)^{1-i}\pmb{b}_i = t\pmb{b}_0+(1-t)\pmb{b}_1
ただの線分$ B_0B_1である
一番よく使われる曲線
便利ポイント
支点及び終点の接線をそれぞれ独立して動かせる
理由
計算に時間がかかる
ただし、急激な変化を表現する目的で使うこともできる 制御点をすべて同じ点に置く
式
$ \begin{aligned}&\forall i\in [1, N-1];\pmb{b}_i=\pmb{b}_1\\\implies&\sum_{0\le i\le N}\binom{N}{i}t^i(1-t)^{N-i}\pmb{b}_i\\=&(1-t)^N\pmb{b}_0+\pmb{b}_1\sum_{0< i< N}\binom{N}{i}t^i(1-t)^{N-i}+t^N\pmb{b}_N\\=&(1-t)^N\pmb{b}_0+\pmb{b}_1\left((t+1-t)^N-t^N-(1-t)^N\right)+t^N\pmb{b}_N\\=&(1-t)^N\pmb{b}_0+\pmb{b}_1\left(1-t^N-(1-t)^N\right)+t^N\pmb{b}_N\\=&(1-t)^N(\pmb{b}_0-\pmb{b}_1)+t^N(\pmb{b}_N-\pmb{b}_1)+\pmb{b}_1\end{aligned}
図解
desmos
References