3

nまた、この点には順序があり、この点が関数を作る必要はないとします。ポイントが関数を記述していない場合、それらを補間する方法を知りたいですか? たとえば、これは元のポイントになります。 補間するポイント

そして、私はこの結果を願っています:

補間点

ポイントは関数を作成しないため、スプラインを使用するだけでは機能しないことに注意してください。また、ベジエ曲線を使用しても、ポイントを補間しない (ポイントの近くのみを通過する) ため機能しないことに注意してください。これを手に入れるにはどうすればよいですか?そのためのアルゴリズムはありますか?


ただの更新。私が参考にした受け入れられた回答のリンクがダウンしているので、この問題で他の人を助けるために、それに基づいて私が書いた記事を共有します。

2D ポイントを補間し、WPF でベジエ曲線を使用する

4

2 に答える 2

5
  1. スプラインには多くの種類があり、たとえばCatmull-Rom スプラインがここに適用されます。

  2. ベジエ曲線による補間のためのシンプルで興味深い方法は、Maxim Shemanarev によって提案されました。

于 2012-11-09T18:21:19.913 に答える
1

この回答は、質問自体の概念的な問題に対処しています。私はそれを完全な答えとして意図していません。

1つ目は、与えられた状況では常に機能があるということです。数学的には、「時間」を大まかに表す実数から空間への関数として曲線を記述します。これは、多くの場合、曲線のパラメトリック表現と呼ばれます。ここf(t) =( x(t), y(t) )で、x(t)y(t)は個々のパラメーター関数です。

問題は、あなたが持っている機能があなたが望む機能ではないかもしれないということです. このタイプの問題はすべて、答えを期待するために、どのクラスの関数が答えとして許容されるかを明示的に述べなければなりません。「機能」と言うだけではほとんど意味がありません。質問には、許容される関数のクラスが実行可能であるというステートメントがありません。ただし、スプラインについての言及があるので、それを追求しましょう。スプラインのクラス (双 3 次スプラインが一般的) が与えられると、一般に、任意の数ではなく、スプライン上の非常に多くのポイントにのみ適合できます。したがって、必要なのは区分スプライン関数のクラス、つまり一連のスプラインです。

許容可能な関数クラスを取得したら、それらを選択する方法も決定する必要があります。あなたが述べたように見える条件は、スプラインが指定されたポイントを通過することです。これは一般的な条件ですが、唯一の条件ではありません。他には、曲率の最小化、長さの最小化、曲線までの点の合計距離の最小化などがあります。フィッティング条件も問題のステートメントの一部です。

要約すると、一連の点を通過するように区分スプライン曲線を当てはめたいようです。それが彼らが答えている質問なので、他の答えを見てください。

于 2012-11-09T19:35:45.027 に答える