問題タブ [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.
android - 3次ベジエ曲線の端点が変化したときに新しい制御点を見つける
Android アプリケーションの 1 つに 3 次ベジエ曲線ロジックを実装しています。
カスタム ビューの onDraw でキャンバスに 3 次ベジエ曲線コードを実装しました。
上記のコードを次の画像に視覚化します。
[更新しました]
ユーザーがカーブの上の EndPoint を変更できるようにしたいのですが、新しい End ポイントに基づいて、キャンバスを無効にします。
しかし、問題は、Curve が 2 つの制御点によって維持されることです。これは、EndPoint の変更時に再計算する必要があります。
同様に、EndPoint が (300,200) から (250,250) に変化したときに新しいコントロール ポイントを見つけたいだけです。
次の画像のように:
曲線の形状が以前の終点と同じに維持される新しい終点に基づいて、2 つの新しい制御点を計算するのを手伝ってください。
検索時に次の参照リンクを参照します。
http://pomax.github.io/bezierinfo/
http://jsfiddle.net/hitesh24by365/jHbVE/3/
http://en.wikipedia.org/wiki/B%C3%A9zier_curve
この質問への回答として、参照リンクも高く評価されています。
python - 3 次方程式を解くこの関数の何が問題になっていますか?
私はPython 2と、ウィキペディアの記事「3次関数」に記載されているかなり単純な方法を使用しています。これは、タイトルに記載されている関数を作成するために定義しなければならない立方根関数にも問題がある可能性があります。
この関数はいくつかの単純な 3 次方程式を解くことができることがわかりました。
そして少し前に、2 つの根を持つ方程式を解けるようになりました。書き直したばかりで、今はおかしくなっています。たとえば、これらの係数は (2x - 4)(x + 4)(x + 2) の展開された形式であり、[4.0, -4.0, -2.0] などを返す必要があります。
これは、私がしている数学的な間違いですか、それともプログラミングの間違いですか?
更新:皆さん、ご回答ありがとうございます。しかし、この関数には、これまで繰り返してきたよりも多くの問題があります。たとえば、立方根関数に関連するエラーがよく発生します。
location - X が既知の場合、曲線は Y を計算します
質問
さて、基本的に私がやろうとしていることは、X位置が与えられたときに3次曲線/ベジエ曲線/スプラインのY位置を計算することです.
Stack Overflow と Google であらゆる場所を検索したところ、実際に機能するものはすべて見つかりました。
カーブポイント
「600 - 400」を計算し、「200」とだけ書かない理由は、私のコードでは「600」が実際には 3 次曲線がレンダリングされるウィンドウの幅だからです。 -私のコードでは400 "。
したがって、次のコードは、T が指定されたときに 3 次曲線の X と Y を計算できます。
繰り返しますが、私が計算しようとしているのは、X 位置がわかっている場合の曲線の Y 位置です。しかし、私が計算できるのは、T が指定されたときの曲線上の X と Y の位置だけです。
これは私の最初の投稿なので、何かが 100% 正しく書かれていない場合は、申し訳ありません!
algorithm - 3次パワーコンディショニングによるwhileループを用いたアルゴリズムの動作
誰かがこのコードが実際に何をしているのかを明らかにしてもらえますか? かなり簡単だと思いますが、現時点では立ち往生しているので、どんな助けでも大歓迎です!
また、これの複雑さをどのように計算できますか? 前もって感謝します!
spline - 3 点間の 3 次スプラインの長さの式
ここに投稿するのは初めてなので、これでいいと思います。私はJavaプロジェクトに取り組んでいますが、私の質問は実際に使用する数学についてです...
(x1, y1)、(x2, y2)、(x3, y3) に 3 つの (異なる) ポイントがあります。必要なのは、それらの間に形成される 3 次スプラインの長さの式だけです。微積分が得意な人にとって、これは非常に簡単に導出できるはずです。私はオンラインであちこちを見回しましたが、解決策が見つからないようです。繰り返しますが、スプラインの方程式は必要ありません。3 つの点が与えられれば、スプラインの長さだけです。前もって感謝します!誰かがこれを理解して共有できるなら、あなたは一日を過ごすでしょう:)
java - 3 次スプライン補間の適切な実装
私はそこに提案されたアルゴリズムの 1 つを使用していましたが、結果は非常に悪いです。
ウィキアルゴリズムを実装しました
Javaで(以下のコード)。x(0)
はpoints.get(0)
、y(0)
はvalues[points.get(0)]
、α
はalfa
およびμ
はmi
。あとはwikiの疑似コードと同じです。
私が得る結果は次のとおりです。
しかし、これは次のようになります。
また、http: //www.geos.ed.ac.uk/~yliu23/docs/lect_spline.pdfに従って、別の方法でアルゴリズムを実装しようとしています。
最初に、線形スプラインを行う方法を示しますが、それは非常に簡単です。A
およびB
係数を計算する関数を作成します。次に、二次導関数を追加して線形スプラインを拡張します。係数も簡単に計算できますC
。D
しかし、二次導関数を計算しようとすると問題が発生します。彼らがそれらをどのように計算するかわかりません。
そこで、線形補間のみを実装しました。結果は次のとおりです。
最初のアルゴリズムを修正する方法を知っている人や、2 番目のアルゴリズムで 2 次導関数を計算する方法を説明してくれる人はいますか?
python - 3次グラフと2次グラフ?
3 次および 2 次グラフを「スケッチ」する pygame プログラムを作成しようとしています。私のコードは以下です。しかし、コードを実行しようとするたびに、このエラーが発生します。
それが何を意味するのか、それを解決する方法がよくわかりません。
すべてのコードを投稿するのが面倒なら申し訳ありませんが、コードに他の問題があるかどうかを確認する必要がありました