問題タブ [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.
c++ - ポイントをラインからバウンスするにはどうすればよいですか?
私はPongゲームの作成に取り組んでいますが、問題が発生しました。
線から点を跳ね返す方法を見つけようとしています。
これを行うために私が理解できる最善の方法は
- ボールの現在と将来の位置を計算します。
- 線分:{Ball.location、Ball.location + Ball.direction}(Ball.locationおよびBall.directionはカスタムベクトル/座標クラスを使用します)
- 生成された線分が壁またはパドルのいずれかと交差するかどうかを計算します。
- ??? これを行う方法はまだわかりません(別の質問で質問します)
- 見つかった最初の交差点で
- ボールをラインから跳ね返らせる
- で形成された三角形を作成します
- a=ボールの現在の位置
- b=線の交点。
- c=ライン上のボールの現在の位置に最も近いポイント。
- ボールがラインに当たる角度を見つけます
- 角度=cos(distance(b、c)/ distance(a、b))
- ボールの方向を回転させる角度を見つけます
- (90度)* 2
- ボールの方向を回転させて、新しい位置に移動します
- 今のところラインに到達するために移動した距離を無視すると、正確にライン上にある必要はありません
- で形成された三角形を作成します
- ボールをラインから跳ね返らせる
- それ以外の場合、交差点がない場合
- ボールを新しい位置に移動します。
これは許容できる方法ですか、それとも何かが足りませんか?
java - 3DカメラのズームとJavaの物理学に従う?
2つのオブジェクトがどれだけ離れていても、両方が画面に残るようにしようとしています。私は JOGL を使用していますが、数学の助けが必要なだけなので、それは問題ではありません。これは私がこれまでに持っているものです:
Zが正しくズームインおよびズームアウトするために必要な数学は何ですか?
objective-c - ボール トゥ ボール コリジョン - 衝突するとかなりの速度が得られます
Objective-C での質問「ボールからボールへの衝突 - 検出と処理」のコードを実装しました。ただし、ボールが斜めに衝突するたびに、その速度は劇的に増加します。ベクトル計算はすべてcocos2d-iphoneを使用して行われ、ヘッダーは CGPointExtension.h です。この望ましくない加速の原因は何ですか?
高速化の例を次に示します。
入力:
質量 == 12.56637
速度.x == 1.73199439
速度.y == -10.5695238
ボールの質量 == 12.56637
ボールの速度.x == 6.04341078 ボールの速度
.y == 14.2686739
出力:
質量 == 12.56637
速度.x == 110.004326
速度.y == -10.5695238
ボールの質量 == 12.56637
ボールの速度.x == -102.22892 ボールの速度
.y == -72.4030228
java - 2D ゲームでのジャンプの計算
私はJ2MEで作業しています。ゲームループで次のことを行っています:
つまり、これは単なる基本的なゲームループです。doLogic()
関数はシーン内のキャラクターのすべてのロジック関数をrender(g, diff)
呼び出し、シーンanimateChar
上のすべてのキャラクターの関数を呼び出します。これに続いてanimChar
、Character クラスの関数が画面内のすべてを次のように設定します。
これにより、マシンがサイクルからサイクルへと移動するのにかかる時間に従って、すべてが移動する必要があることが保証されます (これは電話であって、ゲーム機ではないことを思い出してください)。この動作を実現する最も効率的な方法ではないことは確かなので、コメントで私のプログラミング スキルに対する批判を完全に受け入れますが、ここで私の問題: キャラクターをジャンプさせるとき、私がすることは、彼のdyを負の値、たとえば -200 に設定し、ブール値のジャンプを true に設定すると、キャラクターが上昇します。次に、この関数を呼び出しcheckGravity()
て、上昇するすべてのものを下降させる必要があることをcheckGravity
確認し、キャラクターが存在するかどうかもチェックしますプラットフォームを超えているので、時間を節約するために少し省略します。
したがって、問題は、この関数がdiffに関係なくdyを更新し、キャラクターが遅いマシンでスーパーマンのように飛ぶようにすることです。キャラクターがジャンプしているときに速度が低下するようにdiff係数を実装する方法がわかりませんゲーム速度に比例する方法。誰でもこの問題を解決するのを手伝ってもらえますか? または、J2ME で正しい方法で 2D ジャンプを作成する方法を教えてください。
comparison - GPU を介した大規模なパフォーマンスのための PhysX?
私は最近、シミュレーションとゲーム開発用のいくつかの物理エンジンを比較しました。無料のものもあれば、オープンソースのものもあれば、商用のものもあります (1 つは非常に商用の $$$$ です)。Havok、Ode、Newton (別名 oxNewton)、Bullet、PhysX、および一部の 3D エンジンの「生の」組み込み物理演算。
ある段階で、結論または質問に至りました: GPU 処理による驚異的なパフォーマンス (必要な場合) を利用できるのに、NVidia PhysX 以外を使用する必要があるのはなぜですか? 将来の NVidia カードでは、通常の CPU 生成手順とは別に、さらなる改善が期待できます。SDK は無料で、Linux でも利用できます。もちろん、これはベンダーロックインであり、オープンソースではありません。
あなたの意見や経験は?今すぐ開発を始めるとしたら、上記に同意しますか?
乾杯
performance - 円運動の速度を変える
円運動の速度をスムーズに増減する方法を探しています。
円のパラメトリック方程式を使用して、時間の経過とともに円内のオブジェクトを移動できます。
このアプローチの問題は、speed = speed + 1
動きがぎくしゃくするため、オブジェクトを加速するために単純に行うことができないことです。x値とy値は、オブジェクトの前の位置を基準にするのではなく、絶対値に基づいてフレームごとに再計算されるため、これは理にかなっています。
別のアプローチは、オブジェクトの速度を表すベクトルを使用し、代わりに円運動をベクトルに適用することです。
このアプローチの問題は、速度を変更すると半径が拡大または縮小することです。これは、動きが現在の位置を基準にしているため、速度を変更すると基本的に時間がスキップされるため、理にかなっています。
私が考えることができる1つの実装は、オブジェクトから円の中心を指すベクトルを使用することです。次に、垂直ベクトルを使用してオブジェクトの位置での円の接線を計算し、それを正規化し、速度でスケーリングすることができます。このような問題ではやり過ぎのように思われるため、まだ実装していません。もっと簡単な解決策があるかどうか教えてください。ありがとう!
math - 軌道-数学、c#
2点間の軌道経路をマッピングしようとしています。私が知っているのは、問題の2つのポイントとそれらの間の距離だけです。計算できるようにしたいのは、終点に到達するために必要な速度と角度です。
また、重力と風を考慮に入れて、パス/弾道が少し「完璧」にならないようにしたいと思います。そのコンピュータゲーム用です。
ありがとう。