踊り動作解析ライブラリ第一弾: B-spline補間、平滑化
踊り動作解析ライブラリ第一弾としてB-spline補間、平滑化のプログラムを作成しました(ソースはこちら)
更新情報
4月26日
4月18日 テストバージョン公開(後悔?)しました。
解説
以下のような関数を作成しました。
関数群
void BSInt(const double x[], const double y[], int nknot, const double gzai[],int nod, int ior, double c[])
1次元のB-spline補間。引数は、それぞれ
当然のことながら、
は最低限満たさなくてはならない条件です。(それ以外にあるが)
void BSSmooth(const double x[], const double y[], int nknot, const double gzai[], int nod, int ior,double c[])
1次元のB-spline平滑化。引数はB-splineの場合と同じ。但し、
は最低限満たさなくてはならない条件です。
void BSSG(const double x[], const double y[], int nknot, double gzai[], int &nod, int ior, double c[],int maxloop)
1次元のB-spline平滑化。逐次分割法により節点も同時に決定する。引数は、B-spline補間、平滑化と大体同じ。
現バージョンは収束判定を行っていないので、最大分割数まで繰り返し処理をしてしまう…
(今後収束判定部分も入れるつもりです!)
ことに注意!