問題タブ [spline]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
7393 参照

3d - 3DでN点が与えられたときに3次ベジエ曲線を作成する方法は?

そのため、曲線上の点のみを知っている場合、3D で点が存在する可能性がある場合、3 次ベジエ曲線の制御点がどこにあるかを調べる必要があります。曲線上の任意の数のポイントに対してこれを行うことができれば理想的です。私が見つけたもののほとんどは、2D のみ、または 4 ポイントのみを扱っています。

0 投票する
5 に答える
1261 参照

java - Javaでバーミキュレートされた線を描くにはどうすればよいですか?

直線の描き方は知っていますが、(直線の周りなどに)線を引くことはできますか?

スプライン

すみません、私はこれをより詳細に説明するために英語をあまり上手に話せません;-)

編集:私の遅い答えをお詫びします-あなたは正しいです、それは単純なスプライン/曲線(ユーザーによって描かれた)の周りに「検証」し、ワームの「巻き」(正しい言葉?)のように見える正弦波のようなものでなければなりません。

「ノイズ」バージョンは少しランダムに見えます。

波は上の画像のようになります。

0 投票する
2 に答える
3636 参照

3d - 別のポイントからの距離に基づいてベジエ曲線上のポイントを見つける

したがって、3D キュービック ベジエ カーブと、カーブに沿った任意の場所に開始ポイントがあり、最初のポイントから特定のワールド空間距離 (弧の長さの距離ではない) 離れたカーブのさらに下にある 2 番目のポイントを見つける必要があります。

もう 1 つの問題は、2 番目の点が曲線の終点に到達しても、まだ目的のワールド空間距離にない場合です。この場合、距離に到達するまで接線に沿って継続する必要があります。

何か案は?

0 投票する
3 に答える
1207 参照

c# - C# でのスムーズ パス トラバース

スプラインを描画するのではなく、トラバースする C# 実装を探しています。
基本的に私は 2D ゲームを持っており、オブジェクトを事前定義されたパスに沿って移動させたいと考えています。
これを実装する方法はありますか?
ありがとう、
SW

0 投票する
3 に答える
2603 参照

iphone - Obj CまたはCの3次スプラインクラス?

iPhoneアプリで自然な3次スプライン補間を使用する必要があります。これに似たObjCまたはCのクラスを知っている人はいますか: http ://www.ee.ucl.ac.uk/~mflanaga/java/CubicSpline.html

「3次スプラインを使用して、データポイントの1次元配列y = f(x)内で内挿を実行します。」

0 投票する
3 に答える
5034 参照

algorithm - ポイントがベジエ曲線に近いかどうかを判断するアルゴリズムは?

ポイント (マウスの位置) が、一連の B-スプライン コントロール ポイントによって定義された曲線上または近くにあるときを判断したいと考えています。

B スプラインに関する情報は、n 個のコントロール ポイント (x、y 座標) のリストです。制御点のリストは、任意の長さ (>= 4) にすることができ、(n−1)/3 の 3 次ベジエ曲線で構成される B スプラインを定義します。ベジエ曲線はすべて 3 次曲線です。曲線の「近く」に定義された距離のパラメータ k,(ピクセル単位) を設定したいと考えています。マウスの位置が曲線の k ピクセル以内にある場合は true、それ以外の場合は false を返す必要があります。

この情報を提供するアルゴリズムはありますか。どのソリューションも正確である必要はありません。1 ピクセル (または座標) の許容誤差で作業しています。

次の質問が役立つようですが、正確な質問には答えていません。特に、最初のリファレンスは 4 つのコントロール ポイントのみのソリューションのようであり、定義したい近さ係数が考慮されていません。

ベジエ曲線に対する点の位置

ベジエ曲線と線分との交点

編集: 曲線の例:

フォーマットの説明は次のとおりです。「すべてのエッジには、3n + 1 の位置のリストで構成される pos 属性が割り当てられます。これらは B スプライン制御点です。点 p0、p1、p2、p3 は最初のベジエ スプライン、p3 です。 , p4, p5, p6 は秒など. ポイントはコンマで区切られた 2 つの整数で表され, ポイント (1/72 インチ) で指定された位置の X 座標と Y 座標を表します. pos 属性では、制御点のリストは、開始点 ps および/または終了点 pe の前にある場合があります。これらは、それぞれ「s」または「e」接頭辞が付いた通常の位置表現を持っています。

EDIT2:「e」ポイント(および存在する場合はs)の詳細説明。

pos 属性では、制御点のリストの前に始点 ps および/または終点 pe が続く場合があります。これらは、それぞれ「s」または「e」の接頭辞が付いた通常の位置表現を持っています。p0 に矢印がある場合、始点が存在します。この場合、矢印は p0 から ps に向かっており、ps は実際にはノードの境界上にあります。矢じりの長さと方向はベクトル (ps −p0) で与えられます。矢印がない場合、p0 はノードの境界上にあります。同様に、点 pe は、エッジのもう一方の端にある矢印を指定し、最後のスプライン点に接続します。

0 投票する
3 に答える
6747 参照

r - Rでスプライン関数の導関数を評価するにはどうすればよいですか?

R は、スプライン ライブラリの splinefun() を使用してスプライン関数を生成できます。ただし、この関数を 1 次導関数と 2 次導関数で評価する必要があります。これを行う方法はありますか?

例えば

x のベクトルに対して f'(x) を評価するにはどうすればよいですか?

0 投票する
3 に答える
3798 参照

algorithm - 3 次スプライン軌跡 (補間ではない) を生成するためのライブラリ?

少し背景。1D 軌跡に 3 次スプラインを使用するシミュレーションがあります。このコンテキストでは、3 次スプラインはオブジェクトの位置、速度、加速度、ジャークを時間の関数として指定します。

あなたが持っている場合:

  • 位置、速度、加速度、時間の初期値と最終値
  • 最大および最小速度、加速度、ジャークに対する定数値の制約

次に、一意のスプラインがあります。最終時間を指定せず、代わりに最小時間の軌跡が必要な場合は、一意のスプラインもあります。

ただし、実際にこれらのスプラインを見つけることは、王室の苦痛になる可能性があります。時間が指定されている場合、スプラインは最大 7 つの多項式で構成され、ノット (多項式間の遷移点) は前もってわかりません。

これは、スプラインを一連のデータに適合させる通常のケースではなく、境界条件といくつかの追加の制約からスプラインを作成しています。人々が同様の配置を使用し、同様のニーズを持っている論文を読んだことがありますが、この種のスプラインの生成に取り組むライブラリ (またはソース コードでさえ) を見つけたことはありません。ほとんどのケースを処理するコードをいくつか書きましたが、それほど堅牢でも高速でもありません。私はそれが速いことをあまり心配していませんが、より堅牢であることは素晴らしいことです.

これを実行できるライブラリはありますか? ライブラリとしてビルドされていなくても、ソース コードをオープンしますか? C、C++、Java、または Python が推奨されますが、オープン ソースの場合は、他の言語も参照として役立ちます。

0 投票する
3 に答える
1727 参照

iphone - 2D ゲームでキャラクターがたどる滑らかなパスを作成する方法

iPhone / Android のタワー ディフェンス タイプのゲームを作成しています。敵ユニットは、iPhone バージョンと Android バージョンで同じになる所定の経路をたどらなければなりません。最初は 3 次ベジエ曲線または b スプラインが適していると考えていましたが、パスを生成して記述する簡単な方法は見つかりませんでした。

これは正しいアプローチですか?そうであれば、パスをグラフィカルに生成し、コントロール ポイントの座標などを決定するツールはありますか?

パスも平滑化する必要があります (つまり、線分の集まりではありません)。

0 投票する
1 に答える
21346 参照

r - ggplot で spline() を使用するにはどうすればよいですか?

spline(y~x) を使用してデータを適合させたいと考えていますが、見つけることができるすべての例では、lm(y~ns(x), df=_) などの平滑化を伴うスプラインを使用しています。

spline()これを使用して、作成中のプロットで表される分析を行うため、具体的に使用したいと思います。

ggplot で spline() を使用する簡単な方法はありますか?

を使用してラインをフィッティングするハックなアプローチを検討しました

しかし、私はこれに頼る必要はありません。

ありがとう!