Pada akhirnya saya pikir jawaban untuk pertanyaan Anda akan tergantung pada kebutuhan aplikasi khusus Anda, karena tidak ada solusi satu ukuran untuk semua. Meskipun ada sejumlah sumber daya yang layak di web, Anda akan menghemat banyak waktu dan frustrasi dengan mengambil Deteksi Tabrakan Real-time Christer Ericson , yang menjabarkan dengan sangat rinci berbagai macam teknik dan algoritma, misalnya Kode C ++.
Itu membantu saya mengambil langkah kecil sebelum mencoba membangun sistem yang hebat. Menulis fungsi untuk menentukan apakah suatu titik ada di dalam sebuah bidang, maka jika suatu titik berada di dalam segitiga, jika sinar berada di dalam segitiga, dll. waktu hal-hal yang sepertinya tidak bisa ditembus (maafkan permainan kata) pada awalnya menjadi kurang menakutkan. Berikut adalah daftar sejumlah tes, dengan kode contoh:
http://www.realtimerendering.com/intersections.html
Sementara itu, karena saya tahu tidak semua orang bisa membayar $ 70-80 untuk buku sesuka hati, berikut adalah beberapa istilah yang mungkin ingin Anda perhatikan:
- Partisi Spasial, Oktrees, Quadtrees, pohon BSP
- Pohon BIH
- Volume Bounding dan Volume Bounding Hierarki
- Deteksi Tabrakan Terpisah vs. Kontinyu
- Teorema Sumbu Pemisah
- Algoritma GJK