1

ここに投稿するのは初めてなので、これでいいと思います。私はJavaプロジェクトに取り組んでいますが、私の質問は実際に使用する数学についてです...

(x1, y1)、(x2, y2)、(x3, y3) に 3 つの (異なる) ポイントがあります。必要なのは、それらの間に形成される 3 次スプラインの長さの式だけです。微積分が得意な人にとって、これは非常に簡単に導出できるはずです。私はオンラインであちこちを見回しましたが、解決策が見つからないようです。繰り返しますが、スプラインの方程式は必要ありません。3 つの点が与えられれば、スプラインの長さだけです。前もって感謝します!誰かがこれを理解して共有できるなら、あなたは一日を過ごすでしょう:)

4

2 に答える 2

1

悪い知らせがあります。

1 つ目は、3 次 B スプラインは通常、定義するのに 4 つのポイントを必要とすることです。3 つのポイントから 1 つを定義することは可能ですが、通常は何らかの方法で別のポイントを作成する必要があります (たとえば、標高を使用)。そのため、スプラインをどの程度正確に定義しているかについての情報が必要です。それが他の種類のスプライン (catmull-rohm?) であるかどうか、またはそれをどのように構築しているかの詳細です。

2 つ目は、b スプラインの長さ、またはベジエ曲線でさえ、閉じた形式の方程式がないことです。私が通常行うことは、多くの点で曲線をサンプリングしてから、ポリラインの長さを計算することです。

曲線の導関数に基づいて、誤差範囲がどうなるかを示す式があり、線分ではなく円弧を使用して概算する方法がありますが、それらは価値があるよりもおそらく複雑です。

于 2013-10-10T08:32:31.233 に答える
0

詳細については、ベジエ曲線の入門書を参照してください。ただし、悲しいことに、近似を使用する必要がある 3 次スプラインに対して tfinniga は正しいです。

于 2015-07-24T02:21:28.037 に答える