問題タブ [rigid-bodies]
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.
language-agnostic - 角運動量伝達方程式
2つの剛体間の角運動量の伝達を計算する方法について、比較的簡単に実装できる方程式の良い参考文献はありますか?
私はこの種のものをしばらく探していましたが、問題の特にわかりやすい説明は見つかりませんでした。
正確には、この質問は次のようになります。2 つの剛体が摩擦のない (ほぼ) 表面上を移動しています。エアホッケーだと思ってください。2 つの剛体が接触し、離れます。さて、角運動量を考慮しないと、方程式は比較的単純です。問題は、物体間の角運動量の移動で何が起こるかということです。
例として、2 つの物体に角運動量がまったくないと仮定します。彼らは回転していません。それらが斜めの角度で相互作用する場合 (移動ベクトルがそれらの重心の線と一致しない)、明らかにそれらの運動量の一定量が角運動量に変換されます (つまり、それぞれが一定量のスピンを取得します)。そのような方程式は何ですか?
これはおそらく多体剛体システムを使用して計算することで解決できますが、リアルタイムで計算できるように、より最適化された計算を実行したいと考えています。プロジェクトに含めるための方程式、またはこれらの計算のオープンソース実装へのポインタに関するアイデアはありますか? 正確には、シミュレーションの単一の「ティック」内でシミュレートする必要がある相互作用の数のため、これはかなり最適化された計算である必要があります。
編集: わかりました、このトピックに関する正確な情報はあまりないようです。そして、「プログラマーのための物理学」タイプの本は、ちょっと頭がおかしいと思います。アルゴリズムのコード実装は必要ありません。アルゴリズムを理解したい (または少なくとも私のためにスケッチした)。そのようにしてのみ、ニーズに合わせて適切に最適化できます。この種のトピックに関する数学的な参考文献はありますか?
math - 多面体の質量と慣性モーメントを計算するにはどうすればよいですか?
剛体シミュレーションで使用するために、(必ずしも凸状ではない) オブジェクトの境界を表す三角形メッシュが与えられ、内部の密度が一定であると仮定して、質量と慣性テンソル (慣性モーメント) を計算したいと考えています。
geometry - クォータニオンを軸と比較する
オブジェクトの向きを単位クォータニオンとして保存しており、オブジェクトのローカル x 軸がグローバル y 軸に対してどのような角度になるかを確認したいと考えています。それを行う最も簡単な方法は何ですか?
ありがとう!
bullet - Bullet Physics / jBulletを使用してボロノイ粉砕を行う方法の例/チュートリアルはありますか?
jBullet物理学とボロノイ粉砕で何かを動作させようとしています。私はそれが機能しているビデオをたくさん見つけることができますが、コード例はありません。
JavaまたはC++で問題ありません。いくつかのコードの例が必要です。これを行う例は1つも見つかりません。
誰かが良い例/チュートリアルへのリンクを持っているなら、私はそれを大いに感謝します。
ありがとう!
マックス
camera - オブジェクトの衝突
この質問のフォローアップとして、Unityの最初の一歩を踏み出しました。
http://answers.unity3d.com/questions/56697/isometric-game-camera-limits
コライダーを実際に衝突させる方法がわからないことに気づきました。これで、カメラの代わりに移動するGameObjectがあり、カメラはそのオブジェクトの子です。ボックスコライダーがあり、レベルの周りに他に4つのボックスコライダーがあるので、それらと衝突します。もちろん、位置変数を手動で変更していたため、機能していません。これが衝突するようにするにはどうすればよいですか?リジッドボディを使用して力を加えますか?maxVelocityを設定する方法はありますか?剛体が私がやろうとしていることに対して一種のやり過ぎのように見えることを除いて、私はそれを見ることができません。それ以外の場合は、質量1を入力し、抗力と力をエクスポートすると思いますが、抗力も加速率に影響するため、maxSpeedを使用したほうがよいでしょう。
collision-detection - Angry Birds で見られるように、2 つの棒の衝突をシミュレートする方法は?
怒っている鳥の建物は、衝突して落下する硬い棒で構成されているようです。私は確かにそれを行う方法を知りたいです。私はオリジナルのコードを書くことを気にしませんが、確かに誰かがすでにこれを理解してオープンソースにしていますか?
unity3d - ゲームオブジェクトのみのレイキャスト効果を作成する方法
私の現在の(Unity 3.3 IOS)プロジェクトでは、キャラクターが橋を渡って歩いています。キャラクターが橋から落ちると、燃える川に落ちて爆発します。問題は、彼がブリッジにいるとき、レイキャストがブリッジのリジッドボディを読み取り、すぐに爆発することです。シーン ウィンドウで彼を屋外の位置に再配置すると、重力によって彼は川に落ち、計画どおりに爆発します。次のコード行を追加して、レイキャストが「平面」に当たった場合にのみ破棄するように指定しました。うまくいきません。
キャラクターは橋の上や、飛行機や炎の川にぶつかっても破壊されません。
彼が足を踏み入れようとしている橋や建物がいくつかあるので、レイキャストが飛行機に当たった場合にのみ、彼を破壊/爆発させたいと思っています。
コードが機能しない理由や修正方法を教えてもらえますか?
これが私の完全な Raycast コードです。
physics - 2Dソフトボディ物理エンジンの作り方は?
Box2dの剛体の定義は次のとおりです。
非常に強い物質のチャンクであるため、チャンク上の任意の2ビットの物質間の距離は完全に一定です。
そして、これはまさに私が2D(おそらく最終的には3D)、弾性、変形可能、壊れやすい、さらには粘着性のあるボディを作りたいので、私が望んでいないことです。
このコミュニティから抜け出したいと思っているのは、オブジェクトがどのように曲がり、壊れ、相互作用するかについての数学を教えてくれるリソースです。私はこれらのオブジェクトの分子的または化学的性質を気にしません、そして私が木、金属、ゴム、グー、液体、有機材料などの部分を計算する方法を検索しようとすると、これが私が見つけるすべてです。力を加えた後のように見えるかもしれません。
また、私は非常に視覚的な人間なので、図などは私にとって非常に役に立ちます。
================================================== ==============================
これらの質問は無視してください。古いものであり、文脈上の目的でのみここに保持しています。
1.このような単純な2Dソフトボディ物理エンジンはありますか?
できれば無料またはオープンソース?
2.そうでなければ、何年も費やすことなく自分で作ることは可能でしょうか?
3. bulletやbox2dなどの既存のエンジンを開始点として使用し、それらのコードを単純に変換できますか、それとも、1年間のプログラミング経験とbulletが3Dであることを考えると、後でさらに問題が発生する可能性がありますか?
4.最後に、別のライブラリを変換する場合、box2Dのすでに2Dコード、Bulletのすでにソフトコード、または両方のソースコードを混合するのが最善でしょうか?
ありがとう!
physics-engine - Bullet Physics MultiSphereShape の使用法
Bullet Physics フォーラム、またはライブラリ [JBullet、BulletCS] を移植したか、独自の製品 [Blender、Panda3d] に組み込んだ関連フォーラムのいずれかで、役立つ回答を見つけることができなかったため、ここに投稿しています。 ]。ここで、少なくとも私が適切に質問できれば、有益な回答が得られる可能性が最も高いようです。
サイコロの転がしをシミュレートしたい。私が見つけることができるすべての例は、ボックス形状を使用することに満足しているようです。私はラスベガスではなく、子供向けのゲームに興味があります。少なくとも私のアプリケーションでは、決定的な違いは、サイコロ [6 面かどうかに関係なく、ここでは 6 面に固執しましょう] は尖った角のない「より優しい」丸みを帯びたエッジを持っていることです。
btMultiSphereShape は私にとって完璧なようです。私は、低レベルのプリミティブから複雑な形状を構築する知識を持っていない人であり、Bullet の衝突インテリジェンスに既に組み込まれているものを使用したいと考えている人です。エンジンであり、新しいエキゾチックな動作を設計しようとする人ではありません。
その序文とともに、次の簡潔な例を示していただければ幸いです。
a. 引数を btMultiSphhereShape コンストラクターに渡す方法。b. btDefaultMaotionState に渡す必要がある変換を構成する方法。c. localInertia の設定方法。
これがほとんどすべてをサポートできるクラスを備えた汎用ライブラリであることは理解していますが、初心者のために、よく考えられたツールキットの非常に優れた属性について議論する代わりに、私にとって最も役立つものは何ですか[そして私は他の多くのユーザーに信じられている]は、これらの主要なプロパティを必要なクラスに提供し、メソッドをこれらの詳細に提供する明確な例です。
a. 大きさが等しい六面体のサイコロで、丸みを帯びた立方体を一辺約2cmにしましょう。b. 「角」の半径を緩やかな 0.1.cm にしましょう。
では、もう一つお願いを。単純な「落下」から始まるサイコロの動作を観察するために、重力による力のみを考慮して、通常の「床」の例に対する衝突からある種の興味深いタンブリング結果をもたらす変換を提案してください。 ; つまり、丸みを帯びた角で床に衝突する必要があります。
rendering - povray を使用して 3D 剛体オブジェクトのモーションをレンダリングする方法
いくつかのオブジェクトの剛体シミュレーションを実行し、povray を使用してこのシミュレーションをレンダリングしたいと考えています。
オブジェクトのメッシュは同じままで、変更されるのは各オブジェクトの位置と向きだけです。povrayで映画の画像を繰り返し生成する最良の方法は何ですか? 各反復で pov ファイル全体を書き込んでから、それらすべてを povray に送信することもできますが、各メッシュは非常に大きいため、一度だけ書き込む必要があります。出来ますか?
また、これを行うためのより良い方法があれば教えてください...