問題タブ [curvesmoothing]
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.
c++ - 数列を正規化する方法は?
私はユーザー行動プロジェクトに取り組んでいます。ユーザーの操作に基づいて、いくつかのデータを取得しました。時間とともに滑らかに増減する素敵なシーケンスがあります。しかし、非常に悪い不一致がほとんどありません。以下のグラフを参照してください。
ここでもデータを見つけることができます:
2.0789 2.09604 2.11472 2.13414 2.15609 2.17776 2.2021 2.22722 2.25019 2.27304 2.29724 2.31991 2.34285 2.36569 2.38682 2.40634 2.42068 2.43947 2.45099 2.46564 2.48385 2.49747 2.49031 2.51458 2.5149 2.52632 2.54689 2.56077 2.57821 2.57877 2.59104 2.57625 2.55987 2.5694 2.56244 2.56599 2.54696 2.52479 2.50345 2.48306 2.50934 2.4512 2.43586 2.40664 2.38721 2.3816 2.36415 2.33408 2.31225 2.28801 2.26583 2.24054 2.2135 2.19678 2.16366 2.13945 2.11102 2.08389 2.05533 2.02899 2.00373 1.9752 1.94862 1.91982 1.89125 1.86307 1.83539 1.80641 1.77946 1.75333 1.72765 1.70417 1.68106 1.65971 1.64032 1.62386 1.6034 1.5829 1.56022 1.54167 1.53141 1.52329 1.51128 1.52125 1.51127 1.50753 1.51494 1.51777 1.55563 1.56948 1.57866 1.60095 1.61939 1.64399 1.67643 1.70784 1.74259 1.7815 1.81939 1.84942 1.87731 1.89895 1.91676 1.92987
このシーケンスを滑らかにしたいと思います。この手法は、X と Y の特徴を持つ数値、つまりモノ増加またはモノ減少のエラーを排除できる必要があります。
排除しない場合は、シリーズがエラーの影響を受けないように、テクニックを使用してそれらをシフトできる必要があります。
私が試して失敗したこと:
値の違いをテストしようとしました。いくつかの特別なケースでは機能しますが、これに示されているシーケンスの場合、数字間の距離はエラーを切り取ることができるほどではありません
いくつかの X であるカウンターを適用しようとしましたが、変更のみが受け入れられます。それ以外の場合、ポイントは前のポイントのみにマップされます。ここで、X の値を決定するのに非常に苦労しました。これは、ユーザーの操作に基づいているためです。実際には、私はそれを制御していません。ユーザー インタラクションがプロットがジグザグ パターンになるようなものである場合、「ユーザーの動きのデータがまったく検出されない」という状況になってしまいます。
知っているテクニックを教えてください。
PS: この例で利用できるデータは特定のケースです。数値が発生する典型的なパターンはありませんが、すべての例である程度の範囲が連続していると予想されます。私が求めている解決策は一般的です。
r - Rとggplot2で滑らかな線の最大曲線のx値を計算する
R で ggplot2 を使用して、データセットの滑らかな線を計算しました。
滑らかな線の最大曲線の x 値を計算するにはどうすればよいですか?
c# - SolidWorks でカーブをスイープ
SolidWorks で一連の 3D 点を通る連続曲線をスイープしようとしています。スイープはチューブを表すためのものであるため、曲線に垂直な円形の断面が曲線に沿ってスイープされます。曲線は、xyz ポイントから SolidWorks 曲線を使用して作成されます。ポイントは、私自身の C# プログラムから生成されます。断面が曲線に沿って一定であることが非常に重要です。
カーブを定義するポイントにより、スイープが失敗します。これは、指定された直径をスイープするには大きすぎる曲率を定義するポイントによるものです。(断面の直径を非常に小さくすると、スイープは成功しますが、これは私の問題の解決策ではありません)。
私がやろうとしているのは、コード (できれば MATLAB または C#) でスイープが失敗する原因となるポイントを削除することです。カーブには多くのポイント (約 300) があり、そのうちのいくつかを削除しても問題ありません。複数のポイントセットに対してこのプロセスを実行する必要があります。
これが不可能な場合は、最終的なチューブが常にすべてのポイントで連続していなくてもかまいません。したがって、急な曲がりは問題ありません。ただし、どちらの場合も断面は一定でなければなりません。
ポイント: https://www.dropbox.com/s/ri4oti7butwe77o/Points.txt?dl=0
python - 内容に基づいてnumpy配列を同様の配列に分割します
曲線の座標 (x, y) を表す 2D numpy 配列があり、その曲線を同じ長さの部分に分割して、分割点の座標を取得したいと考えています。
最も簡単な例は、[[0,0],[1,1]]のように 2 点に対して定義された線です。これを2 つの部分に分割したい場合、結果は[0.5,0.5]になります。 3 つの部分[[0.33,0.33],[0.67,0.67]]など。
データがそれほど単純ではない大きな配列でそれを行うにはどうすればよいですか? 配列を長さで分割しようとしていますが、結果は良くありません。
c# - 曲線を使用して Horizons をスムーズに曲げるにはどうすればよいですか?
私はしばらくエンドレス ランナー ゲームを開発してきましたが、地下鉄の表面のように水平線をランダムに曲げる環境を試してみたいと思いました。ストアからこのHorizon Bendingアセットをダウンロードすると、美しく機能します。アセットには、ApplyCurvature(float val)
それをシーンに適用し、必要な量を曲げるというメソッドがあります (現在は左のみにカーブしていますApplyCurvature(5f);
)。
左、中、右などの曲率をランダムに変更したい。ゲームの各フレームに曲率を適用できることを確認するためだけに Random メソッドを試しましたが、それは私が望むものではありません。Unity スクリプトで提供される曲線を使用することを考えましたが、それらを適用する方法がわかりません。誰でもこれについて私を助けることができますか? Unity3d は初めてなので、ダウンロードしたアセットにカーブを使用してエフェクトを適用するにはどうすればよいですか。助けていただければ幸いです。
上記のコードは、曲げ量を左右にランダムに更新しようとしたものです。
r - R のデータ配列から外れ値を削除する方法
測定値の外れ値を特定して削除し、平滑化された値に置き換えて、傾向をより適切に捉えたいと考えています。下の図を見つけてください外れ値のあるデータ