Saya memiliki mesin fisika 2D dasar yang sedang berjalan. Ini cukup banyak mesin partikel, hanya menggunakan bentuk dasar seperti AABBs dan lingkaran, jadi tidak mungkin ada rotasi. Saya memiliki CCD yang diimplementasikan yang dapat memberikan TOI akurat untuk dua objek yang bergerak cepat dan semuanya bekerja dengan lancar.
Masalah saya sekarang adalah bahwa saya tidak tahu bagaimana menentukan apakah dua objek yang bergerak cepat bahkan harus diperiksa terhadap satu sama lain di tempat pertama. Saya menggunakan pohon quad untuk partisi spasial dan untuk setiap objek yang bergerak cepat, saya memeriksanya terhadap objek di setiap sel yang dilewatinya. Ini berfungsi dengan baik untuk menentukan tabrakan dengan geometri statis, tetapi itu berarti bahwa objek bergerak cepat lainnya yang bisa bertabrakan dengannya, tetapi tidak ada dalam sel yang diperiksa, tidak pernah dipertimbangkan.
Satu-satunya solusi untuk ini yang dapat saya pikirkan adalah memiliki sel yang cukup besar dan menyilangkan jari bahwa ini sudah cukup, atau untuk mengimplementasikan semacam algoritma brute force. Apakah ada cara yang tepat untuk menangani ini, mungkin seseorang memecahkan masalah ini secara efisien. Atau mungkin ada cara yang lebih baik untuk mempartisi ruang yang menyebabkan ini?
Berikut diagram:
Objek "dan efek" lintas Objek A dan B, harus diperiksa satu sama lain. Tetapi dengan cara saya saat ini memeriksa tabrakan tidak memperhitungkan ini. Sekali lagi, saya bisa memikirkan beberapa solusi untuk ini seperti benar-benar memeriksa jika jalur objek menyeberang setelah kecepatan mereka lebih tinggi dari x, atau sesuatu, tapi itu terasa seperti retasan dan itu berantakan untuk dicoba dan diimplementasikan.