3:ベジエ曲線の長さを求める でベジェ曲線の長さを求めたが、
微小区間の長さを繰り返し加算する手間や、刻み幅を先に決めておくため、
緩い曲線でもきつい曲線でも同じ時間がかかることなど、もう少しよい方法がありそうだと思った。
そこで考えてみたのが、円弧で近似する方法。
- 変曲点がある時は曲線を分割しておく
- 分割したそれぞれの曲線で、 始点と終点と中継地点(0.5)を通る円弧の長さを計算する。
円弧の長さと、始点と終点を結ぶ直線の長さの差が十分に小さくなるまで、曲線を2分割する
これで、直線に近い緩い曲線なら、少ない繰り返しで長さを求められる。
2でさらに曲線を分割するかの条件は、
円弧に近いベジェ曲線の制御点に近いかどうか(11:ベジェ曲線で円を描けるか )、
または曲率が一定であるかで判断することもできそう。