Bezier曲線の長さ
さんざん既出だろうけど自分でやってみたので書く。
変数の定義から。を端点として、をコントロールポイントとする。そして、Bezier曲線を
[tex:x(t)=(x_0+(x_c-x_0)t)+*1t]
とする。上記に出てくる変数はすべてn次元ベクトルとする。
x(t)のでの長さをL(T)として、これを求めたい。
.
[tex:x^\prime (t)=2*2t+2(x_c-x_0)=:Bt+A]より、
(B=0の場合は後述)
このとき常にW>=0なことに注意する。
ここで、をtについて積分することを考える。
とおくと、より、をxについて積分すればよい。
より、.
sinhの2倍角公式はsinのそれと同じことに注意して、
さて、で、とおいて置換すると(W=0の場合は後述)、に注意して、
.
の対応は、となるので、
残ったB=0の場合とW=0の場合について考える。
W=0⇔ベクトルAとBが同じ向き⇔A=qB or B=0 (qは実数)なので、B=0はW=0に含まれる。
A=qBと表されるとき、となるので、.
B=0のときは、となるので、.