問題タブ [splines]

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

java - 指定された Delaunay 三角形分割を使用した Java での等高線の描画

私は現在、修士論文に取り組んでいます。

  • (x, y, z) 形式の指定された n 点で描かれた Delaunay 三角形分割。

私の仕事は、この三角形分割を使用して、指定された z 値で等高線を作成することです。ウィキペディアのスプライン補間を実装することで、これを行うことにほぼ成功しました: https://en.wikipedia.org/wiki/Spline_interpolation

私の問題は、スプラインを実装するときに等高線が互いに交差することですが、もちろん線形図面は交差しません。

パラメトリック 3 次スプラインで補間された等高線

画面の下部を見ると、2 本の等高線が交差しているのがわかりますが、線画が交差していないことを示すのに十分な評判ポイントがありません。また、ポイントごとにエッジが丸みを帯びすぎていることもわかります。私が試したのは、ポイントのペアの間にさらに多くのポイントを補間して、線に沿ってより多くのノットポイントを作成することです。これにより、それらをさらに制限しますが、交差しない線を取得するには、スプラインは線形の描画に似すぎています。目には満足。

私が知りたいのは、方法の実際のコード実装ではなく、方法、読み方などへのポインタかもしれません。(NB、これをゼロから作成します。ライブラリはありません)。

質問: 対応する線形関数の外側であまりカーブしない、より高次の多項式関数を作成する方法。行き過ぎとは、たとえば 50 メートルの特定の等高線が 60 メートルの等高線と交差しないことを意味します。

どんな助けでも大歓迎です。

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

python - 3点のMatplotlibでExcelの「滑らかな曲線で散布」スプライン関数をエミュレートする

Excelをエミュレートしようとしています

挿入>散布>滑らかな線とマーカーで散布

Matplotlib のコマンド

scipy 関数interpolateは、同様の効果を作成します。これを簡単に実装する方法のいくつかの良い例を次に示します

ただし、Excel のスプライン アルゴリズムは、3 つの点のみを通る滑らかな曲線を生成することもできます (例: x = [0,1,2] y = [4,2,1])。3 次スプラインでこれを行うことはできません。

Excel アルゴリズムが Catmull-Rom スプラインを使用していることを示唆する議論を見てきました。しかし、これら、またはMatplotlibにどのように適応できるかを本当に理解していません: http://answers.microsoft.com/en-us/office/forum/office_2007-excel/how-does-excel-plot-smooth-curves /c751e8ff-9f99-4ac7-a74a-fba41ac80300

上記の例を変更して、補間ライブラリを使用して 3 つ以上のポイントを通る滑らかな曲線を実現する簡単な方法はありますか?

どうもありがとう

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

r - MARS (earth パッケージ) が非常に多くの予測子を生成するのはなぜですか?

R の Earth パッケージを使用して MARS モデルに取り組んでいます。私のデータセット ( CE.Rda) は、1 つの従属変数 ( D9_RTO_avg) と 10 の潜在的な予測子 ( NDVI_l1NDVI_f0NDVI_f1NDVI_f2NDVI_f3LST_l1、)LST_f0で構成されています。次に、データセットの頭を示しますLST_f1NDVI_f2NDVI_f3

次のように地球モデルを作成した後

入力して、結果のモデルの概要を出力します

そして、私は次の出力を取得します

私の質問は、実際には 10 であるのに、なぜ地球は 13169 の予測子を特定しているのかということです!? MARS は、候補予測子の単一の観測を予測子自体と見なしているようです。MARS がそうしないようにするにはどうすればよいですか?

ご協力いただきありがとうございます

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

d3.js - d3 js 平滑化スプラインでの平滑化パラメータの設定

d3 js (d3.curveBasis、curveBasisClosed ...など) の平滑化ライブラリの 1 つを使用して平滑化パラメーター (ラムダ) を設定しようとしていますが、その方法がわかりません。以下はまさに私が欲しいものです -

http://bl.ocks.org/jonahwilliams/62be9996afe5c2531625

ただし、私の x 軸には日付があり、これはうまく処理できないようです。理想的には、既存のライブラリを変更して、平滑化パラメーター ラムダを追加する方法を探しています。どんな助けでも大歓迎です。

ありがとう