サークルライン衝突検出問題
私は現在ブレイクアウトクローンを開発しており、ボール(円)とレンガ(凸多角形)の間の衝突検出が正しく機能するようにするための障害にぶつかっています。私は、各線が凸多角形ブリックのエッジとエッジを表すサークルライン衝突検出テストを使用しています。 ほとんどの場合、Circle-Lineテストは適切に機能し、衝突点は正しく解決されます。 衝突検出は正しく機能しています。 ただし、ボールが実際にレンガと交差しているときに、負の判別式が原因で衝突検出コードがfalseを返す場合があります。 衝突検出に失敗しました。 私はこの方法の非効率性を認識しており、軸合わせの境界ボックスを使用して、テストされたレンガの数を削減しています。私の主な懸念は、以下のコードに数学的なバグがあるかどうかです。 /* * from and to are points at the start and end of the convex polygons edge. * This function is called for every edge in the convex polygon until a * collision is detected. */ bool circleLineCollision(Vec2f from, Vec2f to) { Vec2f lFrom, …