Cuối cùng, tôi nghĩ rằng câu trả lời cho câu hỏi của bạn sẽ phụ thuộc vào nhu cầu của ứng dụng cụ thể của bạn, vì không có giải pháp nào phù hợp cho tất cả mọi người. Mặc dù có một số tài nguyên phong phú trên web, nhưng bạn sẽ tiết kiệm cho mình rất nhiều thời gian và sự thất vọng bằng cách chọn Phát hiện va chạm trong thời gian thực của Christer Ericson , ví dụ rất chi tiết về nhiều kỹ thuật và thuật toán Mã C ++.
Nó giúp tôi thực hiện các bước bé trước khi nhảy vào cố gắng xây dựng một hệ thống lớn. Viết một hàm để xác định xem một điểm có nằm trong mặt phẳng không, nếu một điểm nằm trong một tam giác, nếu một tia nằm trong một tam giác, v.v. Sau đó chuyển sang các phép thử tĩnh của các vật rắn lồi khác nhau: AABB so với Tam giác, v.v. thời gian những thứ dường như không thể xuyên thủng (tha thứ cho trò chơi chữ) lúc đầu trở nên ít đáng ngại hơn. Dưới đây là danh sách một số lượng tốt các bài kiểm tra, với mã ví dụ:
http://www.realtimerendering.com/intersections.html
Trong khi đó, vì tôi biết không phải ai cũng có thể bỏ ra 70-80 đô la cho một cuốn sách theo ý muốn, đây là một số thuật ngữ bạn có thể muốn xem xét:
- Phân vùng không gian, Octrees, Quadtrees, cây BSP
- Cây BIH
- Khối lượng giới hạn và phân cấp khối lượng giới hạn
- Phát hiện va chạm rời rạc và liên tục
- Định lý trục tách
- Thuật toán GJK