問題タブ [cubic]
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# - 3 次ベジエ曲線上の一定速度
私が解決しようとしている問題は、一定の速度で 3 次ベジエ曲線に沿って 2D ポイントを移動できないように見えることです。
私はこのチュートリアルに従いました: http://catlikecoding.com/unity/tutorials/curves-and-splines/最初に曲線を実装すると、素晴らしく機能しました。しかし、一定の速度でポイントを近似しようとすると、かなり外れます。
私がこれまでに読んだことから、各ステップ時間で弧の長さと間隔の距離を計算して、曲線を反復処理することになっています。次に、これらの距離を目標距離 (弧の長さ * 時間) と比較して、最も近い距離を見つけます。解像度が十分に高い場合、これはエラーがほとんどなく、私のニーズに対して十分に正確であるはずです。
これが私がこれまでに持っているコードです:
ポイント計算:
一定時間でポイントを計算するという悲しい試み:
上記のコードでは、x 軸の一定速度での移動を表す 3 次ベジエ曲線上のポイントを評価するために使用できる時間を返すために、0 と 1 の間の time(u) を渡しています。
結果は次のとおりです 。Cubic Bezier Image
赤い点は、ベジェ式で元の時間を評価するだけで返される通常のポイントを表します。黄色の点は、近似された時間が経過した後の「一定の」速度位置を表します。接線をかなり誇張するように変更し始めるまでは、かなり正確に見えます。間隔を広げてみましたが、何の役にも立ちません。
とにかく、どんな助けも素晴らしいでしょう。私はまだ数式を読むのが得意ではありません (問題の原因は確かです)。そのため、コード例を使用してヘルプを得ることができれば幸いです。:>
ありがとう!
matlab - Matlab: y 値の範囲の 3 次関数をプロットする
私は3次方程式を持っています:
0.0 から 0.5 の y 値の式をプロットしようとしています (これにより、0 から 700 の範囲の x 値が得られることがわかっています) (つまり、式はこのデータに適合しています)。
を使用して実際のルートを見つけます
次に方程式をプロットしますが、正しい x/y 範囲が得られず、フィットが間違っているように見えます。
java - Java 2D 配列バイキュービック補間
私は最近、Minecraft 内の実際の高さマップに基づいて地球を生成したいので、バイキュービック補間をいじっています。補間を使用する理由は、世界をより詳細にしたいからです。いろいろ調べて、試行錯誤した結果、こちらにお願いすることにしました。:)
メモリが限られているため、起動時にイメージをスケーリングできず、ロードしたままにしておく必要があります。その場で補間を行う必要があります。
ここで見られるように、Cubic Interpolation が機能しているよう です 。テスト目的で、小さな画像を使用して 4 倍にスケーリングしています。これがコードの動作です:入力 -> 出力
これは私の現在のコードです:
ご協力ありがとうございました :)
bezier - 複数セグメントの 3 次ベジエ スプラインを細分割する
最初に、英語が下手で、おそらくあまり単純ではない質問をお詫びします。
After Effects にマルチセグメント化された 3 次ベジエ曲線があります。これは、IN 接線と OUT 接線を持つ 5 つの頂点によって定義されます。私の仕事は、Java Script でそれを N 個の小さな線形チャンクに分割することです。
EDITが詳細情報を提出しました。 イン接線とアウト接線を持つ 5 つのポイントで定義されたマルチ セグメント化された 3 次ベジエ スプラインが与えられた場合、その線形表現を取得する必要があります。ここで、N はユーザーが定義する線形セグメントの数です。
3 次ベジエ スプライン:
期待される出力:
例の画像では、セグメントの長さが互いに等しい 4 セグメントのスプラインを使用しています。これは、私のタスクを説明するために簡単に描画できます。しかし、実際のプロジェクトでは、これらのセグメントは等しくなく、合計で 4 つ以上のセグメントがあります。
de Casteljau法を見てきましたが、理解できるように、1 つのセグメント スプラインで機能します。私の数学のスキルはぼんやりしているので、私の例で de Casteljau を使用できるかどうかはよくわかりません。
math - 数学 - 最終速度が制限されたポイントへのコースをプロットする方法は?
まず最初に免責事項: この質問が数学的に重いことに気付いたとしても、この質問をここに投稿しています。
プレーヤーが船の目的地を選択する必要があり、コースが自動的にプロットされる 2D 宇宙船ゲームを書いています。
これに加えて、船がそこに着くまでの加速を制御するためのさまざまなオプションを提供しています。これらのオプションはすべて、目的地でのターゲット速度に関係しています。
1 つのオプションは、目的の目的地と速度ベクトルを選択することです。この場合、開始座標と目標座標と速度が利用可能であるため、プログラムは 3 次補間を使用します。
もう 1 つのオプションは、目的のポイントを選択するだけで、ゲームに最終的な速度ベクトルを計算させることです。これは、2 次補間によって行われます (つまり、加速度は一定です)。
別のオプションを紹介したいと思います: プレイヤーが目的地と速度ベクトルの最大絶対値を選択できるようにします。
この場合、コースをモデル化するために 3 次多項式を使用しますが、座標ごとに 1 つの方程式 (目的地での速度によって与えられる方程式) を見逃しているため、係数を計算するのにかなり苦労しています。Vf_max
さらに、欠落している係数を把握するために制約をどのように使用すればよいかについて混乱しています。
最適化の問題である可能性があると思いますが、このトピックについてはまったく無知です。
解決策を見つけたり、正しい方向に向けたりするのを手伝ってくれる人はいますか?
java - カーブ(シェイプ)のポイントを取得する方法
4 つのコントロール ポイントで定義された Java の CubicCurve があります。結果の形状を描画することはできますが、この形状の特定の解像度ですべてのポイントを効率的に受け取るにはどうすればよいでしょうか? ちなみに、PathIterator は「のみ」制御点を返しますが、曲線自体の点は返しません。