問題タブ [bspline]

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 投票する
0 に答える
42 参照

plot - Mathematica PiecewiseExpand とプロット

Mathematica コマンドを使用している場合:

"プロット[BSplineBasis[3, x], {x, 0, 1}]"

次に、素敵な関数プロットを取得します。ただし、使用する場合:

"プロット[PiecewiseExpand[BSplineBasis[3, x]], {x, 0, 1}]"

プロットには 2 つのブレークがあり、1 つは x=0.26 付近で大きく、もう 1 つは x=0.77 付近で小さくなります。私の知る限り、曲線は等しく、表現 (計算方法) のみが異なるため、両方のケースで同じプロットを取得する必要があります。2番目のプロットの切れ目を説明できる人はいますか? ありがとうございました。

最初のプロット 2番目のプロット

よろしく/ミカエル

0 投票する
0 に答える
116 参照

java - BSpline 派生At() メソッドが正しい値を返さない

BSpline パスを使用する場合、正しい値が返されないため、derivativeAt() メソッドに問題がありますが、derivativeAt() メソッドは CatmullRomSpline パスを検索するため、これは SPline に固有のものです。ウィキと API では、SPline を他のパスとは異なる方法で処理する必要があるとは言及されていません。

問題を示す簡単なプログラムを作成しました。コントロール ポイント (黄色の点)、パス自体 (ライト グレーの線)、およびパスと同じ方向を指している必要がある DerivativeAt() メソッドを使用して接線 (緑の線) を描画します。

これが何をすべきかです。緑の接線がパスと同じ方向を指しているため、CatmulRomSpline は正常に機能します。 ここに画像の説明を入力

これが BSpline の機能です。接線は、パスの方向ではないさまざまな方向を指しています。 ここに画像の説明を入力

これが私のコードです。これを適切に機能させるための助けをいただければ幸いです。

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

r - 縦系列データの 3 次スプライン法?

次のようにフォーマットされたシリアルデータがあります。

一般に、300 頭の動物が短い期間の異なる時点でミルクの記録を持っています。しかし、それらのデータを一緒に結合し、別の animal_ID を気にしない場合、次の図の線のように、milk~time の間に曲線ができます ここに画像の説明を入力 。短く、非常に可変的です。私の目的は、各動物データを平滑化することですが、モデルがデータ全体から一般的なパターンを学習できるようになれば、そうなるでしょう。次の形式で別のスムーズ モデル (ns、bs、smooth.spline) を使用しましたが、うまくいきませんでした。

誰かがすでにこの問題に対処している場合は、アドバイスをいただければ幸いです。ありがとう 完全なデータセットはここからアクセスできます: https://www.dropbox.com/s/z9b5teh3su87uu7/dat.txt?dl=0

0 投票する
0 に答える
144 参照

matlab - MATLAB を使用して、ブレークポイント (終了点だけでなく) で特定の値の 1 次導関数を使用して B スプラインを作成するにはどうすればよいですか?

カーブ フィッティング ツールボックスの関数を使用csapeすると、ユーザーは両端で微分値を選択できます。

特定のブレークポイントで導関数の値を制御する方法はありますか?

導関数の値の 1 つを 1 つのブレークポイントでゼロに設定して、最大値にしたいと考えています。

コードは次のとおりです。

コメントの後、%% Spline generation using cubic spline. 時間と時間とともに変化する別の値の 2 つのベクトルがあり、3 次の b スプラインを作成したいと考えています。

私が使用csapeしたのは、ユーザーが終点での導関数の値を決定できるようにするためです。cs = csape(tt,zz,[1 0 0 0 1],[0 0 0 0 0])1 つは、終点で 1 次導関数を 0 にするようにツールに指示することです。

time = tmaxh で発生する点をスプラインの最大点にしたいと考えています。

これを に 1 を入れて作ってみた[1 0 0 0 1]ので、一次導関数が最大で 0 であることがわかっているようになり[1 0 1 0 1]ましたが、この方法はうまくいきませんでした。

ありがとうございました。

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

javascript - 線を「長方形の蛇」に変換します。キャンバス。JavaScript

キャンバス描画用の優れたJavaScriptライブラリまたはフレームワークを知っている人がいるかもしれません。

次の問題があります。

1)フリーハンドで線を引きます (ペイント/Photoshop の鉛筆など)。

2)線を「長方形のヘビ」に変換する必要があります(固定幅の長方形を使用して線を作成します)

スクリーンショットを見て ここに画像の説明を入力

この問題を解決するには、どのようなライブラリを使用するとよいでしょうか? ある種のライブラリにはすでにこの機能がありますか?

つまり、次の機能が必要です。

  • 直線近似

  • スプライン分離

  • 線を多角形/形状/オブジェクトに変換する

誰かが私を助けてくれれば素晴らしいことです。ありがとう!