私は paper.js のプロジェクトに取り組んでおり、他の 2 つの交差点、相違点、結合に基づいて新しいパスを作成する必要があります。掘り下げて、3 次ベジェ スプラインを補間する数学関数を見つけましたが、svg のようなベクトル演算を行う JavaScript ライブラリがあるかどうか疑問に思っていました。どちらかといえば、inkscape をコピーして JavaScript に変換しますが、わかりません。とにかく、3 次ベジエを補間するための数学関数は次のとおりです。
Pointx = (Ax * percent^3) + (Bx * 3 * (percent^2 * (1-percent))) + (Cx * 3 * (percent * (1-percent)^2)) + (Dx * (1-percent)^3)
Pointy = (Ay * percent^3) + (By * 3 * (percent^2 * (1-percent))) + (Cy * 3 * (percent * (1-percent)^2)) + (Dy * (1-percent)^3)
A、B、C、D は曲線のポイントです。A は始点、D は終点、B と C は A と D の間の曲率を操作する「コントロール ポイント」です。percent
は、0 から 1 のスケールで計算するカーブに沿った距離です。
したがって、提供されたベジエのポイントとベジエに沿ったパーセンテージを返す補間関数を考え出すのは非常に簡単です。逆数 - 特定のポイント (または x 値または y 値) のパーセンテージを見つけることは困難です。または、2 つのベジエが交差する場合はさらに困難です (私は数学があまり得意ではありません)。それがinkscapeの機能が提供するものであることを願っています。
この種のベクトル補間をすばやく実行できる JavaScript ライブラリはありますか? そうでない場合は、ここに思いついたアルゴリズムを投稿します。ありがとうございました!