このコードを使用して、[0, 1] の s の 3 次ベジエ曲線を計算しています。幾何学的な連続性に基づいて曲線のベースを拡張したいと考えています。[0, 1] 以外のセットを試してみましたが、結果は正しくありません。ベジェポイントを計算するための可能なアルゴリズムは実際にありますか?
pb、pbh、peh、pe は、3 次ベジエの制御点のベクトルです。
*pq = pb*powf(1-s, 3) + pbh*(3*s*(powf(1-s, 2))) + peh*(3*powf(s, 2)*(1-s)) + pe*powf(s,3);
http://imageshack.us/photo/my-images/217/37013437.jpg/
これは私が得たイメージです。白い曲線は私が取得したいものです。相互にリンクされた 3 つの白いベジエ曲線があります。中央のものは、私のコードに基づく曲線です。延長された曲線 (中央の曲線の約 2 倍の長さの白い曲線全体) は、私が望んでいたものです。ただし、s の範囲が [-0.5, 1.5] のコードでベジエ曲線を作成すると、元の 2 つの制御点を通過することさえできない緑色の曲線が得られます。
緑色の線のハンドルには、次のコードを使用しました。これは、[0, 1] の s でも正常に動作します。p123 は緑色の新しい左ハンドルで、p234 は新しい右ハンドルです。
p12 = (pbh-pb)*s+pb;
p23 = (peh-pbh)*s+pbh;
p34 = (pe-peh)*s+peh;
p123 = (p23-p12)*s+p12;
p234 = (p34-p23)*s+p23;
前もって感謝します