問題タブ [physics]
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.
algorithm - 円の衝突と回転についてサポートが必要ですか?-ゲーム物理学
さて、私はたくさんのボールを持っています:
私が理解しようとしているのは、これらの円を作成する方法です。
接触している表面に基づいて回転します
複数の接触するオブジェクトを処理するときの衝突の侵入を修正しました。
編集:これは私が回転によって意味するものです
ボール0は、ボール3に寄りかかっているため、反時計回りに回転します。
ボール5は、ボール0に寄りかかっているため、時計回りに回転します。
これに対する解決策は普遍的ですが、記録のために私はJavascriptとSVGを使用しており、ライブラリを使用するよりも自分でこれを実装することを好みます。
助けていただければ幸いです。ありがとう!:)
c# - 個々の点の質量を計算するにはどうすればよいですか?
私は C# 2d ソフト ボディ物理エンジンに取り組んでおり、指定されたオブジェクトの頂点に質量を割り当てる必要があります: 頂点のリスト (x、y 位置)、オブジェクトの総質量、および質量の中心。
重心は次のように与えられます。
どこ、
R、M、および rj を指定して、各 mj を概算できるアルゴリズムが必要です。
編集:無限の解決策があることを認識していることを明確にしたいだけです。mj のセットを見つける簡単なアルゴリズムを探しています (それらがそれぞれ mj = M/[頂点の数] に十分近く、「十分に」が小さな浮動小数点のしきい値として定義されている)。
また、各オブジェクトは約 5 ~ 35 ポイントで構成されます。
physics - サッカー場で走っている人間のモデリング
サッカーの試合では、操舵動作を使用して操舵力を計算しています。この部分は大丈夫です。しかし、私は単純な2D人間の移動を実装するための最良の方法を探しています。
たとえば、操舵力と現在の速度または進行方向ベクトルの間のcos(角度)が0.5未満の場合、プレーヤーは現在の速度に「操舵」(または単に操舵力から計算された加速度を追加)しないでください。プレイヤーは車両です。人間は、重要な方向転換があると減速し、十分に減速すると新しい方向に加速し始めます。
誰かがこの行動を達成する方法について何かアドバイスやアイデアがありますか?前もって感謝します。
matlab - Matlab:biot-savarts-lawで計算された磁場
これは、ビオ・サバールの法則を使用して磁場を計算するためのコードです。このコードを最適化するためのヒントをいくつか入手したいと思います。残念ながら私はドイツ語を使用しています:(これは二度と行いません。:)
graphics - 自転車の回転行列
平らな飛行機があり、その上に自転車が乗っているとします。自転車がターンに入ると、角度シータで曲がります。同時に、自転車のフレームは自転車の速度と同じ方向を指します。
したがって、自転車の速度ベクトル v (XZ 平面上にあると仮定) と傾斜角シータが与えられた場合、自転車の回転行列をどのように見つけることができるでしょうか?
c++ - C ++でのモンテカルロ法の良い本?
C++ でのモンテカルロ アルゴリズムに関する優れた入門書を推薦できる人はいますか? できれば物理学への応用があり、さらに好ましくは量子力学のような物理学です。
ありがとう!
math - 3D放物線軌道
3D空間でアークを使用していくつかの計算を理解しようとしていますが、少し迷っています。3D空間で円弧をアニメートして、2つのx、y、z座標を接続するとします(両方の座標のaz値は0で、平面上の点にすぎません)。アークを開始x、y、z位置、回転、速度、および重力値を送信することによって、アークを制御しています。接続する必要のあるx、y、z座標の両方がわかっている場合、開始x、y、z座標から終了座標に接続するために必要な回転、速度、および重力の値を計算する方法はありますか?
ありがとう。
編集:tom10に感謝します。明確にするために、私は粒子で放物線を作成することによって「アーク」を作成しています。私は(x、y、z、速度、回転、重力で始まる一連の粒子によって形成される放物線を開始することによって)それがどこで終わるか(最後のx、y、z座標)を決定する方法を理解しようとしています)。したがって、これらが接続する必要のある2つの座標である場合、次のようになります。
これらの変数のみを使用して、この放物線の回転、速度、および重力をどのように計算して、放物線の形成を開始することができますか。
角度を一定に保とうとしています。
f# - F#でネストされたループをアンラップする
私は次のコードで苦労しています。これは、重力場で移動する星のモデリングに使用されるForward-EulerアルゴリズムのF#実装です。
これは機能しますが、正確には「機能的」ではありません。それはまたひどいパフォーマンスに苦しんでいます、それは同等のc#コードより2.5倍遅いです。bodyは、Bodyタイプの構造体の配列です。
私が苦労しているのは、force()は高価な関数であるため、通常はペアごとに1回計算し、Fij=-Fjiであるという事実に依存していることです。しかし、これは実際にループの展開などを台無しにします。
ありがたい提案をいただきました!いいえ、これは宿題ではありません...
ありがとう、
アデ
更新: BodyとVectorFloatを明確にするためにC#構造体として定義されています。これは、プログラムがF#/ C#とC ++/CLIの間で相互運用するためです。最終的にはBitBucketにコードを追加する予定ですが、これは進行中の作業であり、作成する前に解決する必要のある問題がいくつかあります。
ベクトルは、標準のベクトルクラスに期待する演算子の種類を定義します。この場合、おそらく.NET FrameworkのVector3Dクラスを使用できます(私は実際にそれに切り替わることを調査しています)。
更新2:以下の最初の2つの応答に基づいてコードを改善しました。
b1 == b2の場合をカバーするフォース関数の分岐は、最悪の違反者です。softeningLengthが非常に小さい場合でも(Epsilon)、常にゼロ以外の場合は、これは必要ありません。この最適化はC#コードに含まれていましたが、F#バージョンには含まれていませんでした(doh!)。
Math.Pow(x、-1.5)は、1 /(Math.Sqrt(x)* x)よりもはるかに遅いようです。基本的に、このアルゴリズムは、パフォーマンスがこの1つのステップのコストによって決定されるという点で少し奇妙です。
力の計算をインラインに移動し、いくつかの除算を取り除くこともある程度の改善をもたらしますが、パフォーマンスは実際には分岐によって損なわれ、Sqrtのコストによって支配されていました。
構造体よりもクラスを使用するWRT:ボディの配列をアンマネージコードまたはGPUに取り込む必要がある場合(このコードのCUDAおよびネイティブC ++実装とDX9レンダラー)があります。これらのシナリオでは、メモリの連続したブロックをmemcpyできることは、進むべき道のように思えます。Bodyクラスの配列から得られるものではありません。
physics - 発射体運動の式?
特定の高さに到達する角度を計算するにはどうすればよいですか? 高さ 320 が必要だとします。時間は 0.1 ずつ増加しています。私は h = (u sin(angle))^2 / 2g; を使用しています。時間はどこに置くことができますか?
flash - リアルなモデルを備えた Flash 用 Physics SDK
実行できるFlash用のオープンSDKがいくつかあります。物理学で写真を回転しますか? そのようなプログラムの例 BumTop、ePic、Coloris (物理なし)。飛行機の写真、実際の物理に移動できますか?