要件

2つの点列 が与えられていて、点列の終点と始点が一致(
)します。
この2つの点列にフィットする2つのG1連続の3次ベジェ曲線 を求めたいとします。
の制御点をそれぞれ
とします。
G1連続なので と
の方向が逆向き、すなわち
が一直線上に順番に並んでいる必要があります。
また、 の始点は
と、
の終点は
と一致するものとします。
パラメータをまとめて とおく。
の定義
の定義
要件を整理します。
「 に当てはまるようなG1連続の
を求めるために
を最適化せよ。」となります。
弧長パラメータの初期化
点列 から弧長パラメータ
を生成します。
弧長パラメータを初期化についてはこちらの記事をご覧ください。
目的関数
目的関数 の定義
Eの微分
に関するもろもろの計算を先に済ませておきます。
の計算
の計算
の計算
の計算
式 で
とおきました。
式 で呼び出している
の定義
Matrix Calculus で norm2(a/norm2(x-y)*(x-y)+z)^2 を y で微分した結果
の計算
式 で
とおきました
式 で呼び出している
の定義
Matrix Calculus で norm2(a/norm2(x-y)*(x-y)+b*x+z)^2 を x で微分した結果
勾配ベクトル
の計算
最後に
まだプログラムを組んでいないので、組んだらまた追記します。