問題タブ [collision-detection]
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.
collision-detection - 2 つの移動する 2D 指向のバウンディング ボックスの衝突をテストするにはどうすればよいですか?
OBB には、位置 (x,y)、速度 (x,y)、方向 (Matrix) があります。定期的な更新が与えられると、OBB は互いに衝突し、成功したと見なされた移動の一部を返す必要があります。
GPWiki の Polygon テスト ( http://gpwiki.org/index.php/Polygon_Collision ) を見てきましたが、オブジェクトの移動や完全に OBB 内にあるオブジェクトは考慮されていません。
Real Time Collision Detection という本の第 4 章: バウンディング ボリュームで 3D OBB について説明していますが、3 次元でテストする方法は 2D よりも著しく複雑です。
python - バウンドするボールの衝突検出を作成するにはどうすればよいですか?
3つのビーチボールが画面上で跳ね返るアニメーション(Python)をコーディングしました。私は今、それらすべてを衝突させ、互いに跳ね返らせることができるようにしたいと思っています。私は本当に提供できるどんな助けにも感謝します。
python - 長方形の移動方向を逆にするにはどうすればよいですか?
プログラミングは科目として学校に導入されたばかりで、助けが必要なため、私はプログラミングに非常に慣れていません。私は、3 つのボール (長方形の画像) が画面上で跳ね返ったり、互いに離れたりするアニメーションを作成するタスクを与えられました。3 つのボールと壁の跳ね返りはすべてうまくいっていますが、それらを互いに跳ね返す方法がわかりません。私の現在のコードは次のとおりです。
c# - C# でのピクセルごとの衝突の問題
私は自分の目的のために C# で小さな 2D ゲーム エンジンを作成していますが、スプライトの衝突検出を除いては正常に動作します。ピクセルごとの検出にすることにしました (実装が最も簡単です) が、想定どおりに機能していません。コードは、衝突が発生するずっと前に衝突を検出します。検出のすべてのコンポーネントを調べましたが、問題が見つかりません。
衝突検出方法:
画像の回転方法:
ピクセル取得方法:
ピクセル取得方法は機能し、回転方法も同様に機能するため、コードが間違っている可能性があるのは衝突検出コードだけですが、どこに問題があるのか 本当にわかりません。
collision-detection - Pygame - 異面衝突の質問!
基本的に「ブレイクアウト」のPygameを作っています。
私は衝突を使用しており、1 つの長方形のさまざまな側面にさまざまなバウンス効果を持たせる簡単な方法が必要です。
私が現在ボールとバットの衝突のために持っているのはこれです:
"ドット" = ボール; 「コウモリ」=コウモリ; だから皆さん分かります。
それぞれの面と相互作用するものが欲しいので、ボールがバットの側面に当たったときにボールの self.dx 値を反転させ、トップに当たったときにのみ self.dy 値を反転させることができます。
ありがとう!!!:D
c++ - C++ でのタイル移動
これが私が今取り組んでいるものです
そして、衝突がより適切になるように、各スプライトを32x32にすることに慎重に決定しました
lokiare1 では、タイルとの衝突をチェックする必要があります。衝突を行う最も徹底的な方法は、スプライトの各可視ピクセルの位置を、他のすべてのスプライトの他のすべてのピクセルに対して確認してから、衝突したスプライトへのポインターを返すことです。これは非常に遅くなります。私が説明する方法は、遅くて汚い作業の衝突検出でなければなりません。私が間違っている場合は、どのように間違っているか教えてください。
これは私が想像するのに苦労している部分です(私はそれを試す前に頭の中で物事がうまくいくことを確認するのが好きです。ランダムにジャンプしないようにします)私は考えようとしてシャワーに座って数晩過ごしました何かがそこにあるかどうかを確認する方法またはそれ
タイルの x、y が固体であることを事前設定する何かを考えているので、固体のオブジェクトがその前にある場合は移動しないでください。
しかし、もう一度尋ねるだけでコードの量を短縮するにはどうすればよいでしょうか (y+1 == solid) どうすればいいのかわかりません
algorithm - 2D平面への円挿入のための高速衝突検出
2D平面上を移動するスプライトの一般的な衝突検出に関する投稿がたくさんあることは知っていますが、私の質問は少し異なります。
2D平面に円を挿入しています。円の半径は可変です。平面上にある他の円と衝突することなく新しい円を挿入できる、平面内のランダムな位置を見つける方法を最適化しようとしています。現在、私は非常に「最適化されていない」アプローチを使用しています。このアプローチでは、平面内にランダムな点を生成し、それを平面上の他のすべての円と照合します。
これを最適化する方法はありますか?この特定のアプリの場合、平面の境界は一度に20〜25個の円しか保持できず、通常は5〜10個の円が存在します。ご想像のとおり、円の数が収まる最大数に近づくと、機能するものを見つける前に多くのポイントをテストする必要があります。非常に遅くなります。
注:safeDistanceは、平面に追加する円の半径です。
コードは次のとおりです。
xna - 連続する 2D 空間での障害物回避による基本的な経路探索
私は、インテリジェントなパスファインディングを行うのではなく、障害物をスライドして、クリーチャーオブジェクトが環境内の他の任意のオブジェクトに向かって移動できるようにするシミュレーションを書いています。経路を計画させようとしているわけではありません。一般的な 1 つの方向に移動し、障害物を回避するだけです。
これは 2D 環境 (俯瞰) であり、すべてのオブジェクトには衝突検出用の境界四角形があります。グリッドはありません。私は A* ソリューションを探していません。
この種の「ばかげた」衝突ベースのパスファインディングに関するチュートリアルを見つけることができなかったので、最も一般的な用語を使用してこれを説明していない可能性があります。
これを実装する方法に関する推奨事項 (またはチュートリアルへのリンク) はありますか?
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