ในที่สุดฉันคิดว่าคำตอบสำหรับคำถามของคุณจะขึ้นอยู่กับความต้องการของแอปพลิเคชันของคุณโดยเฉพาะเนื่องจากไม่มีวิธีแก้ปัญหาแบบเดียวที่เหมาะกับทุกขนาด แม้ว่าจะมีแหล่งข้อมูลที่ดีมากมายบนเว็บคุณจะประหยัดเวลาและความยุ่งยากด้วยการเก็บการตรวจสอบการชนแบบเรียลไทม์ของ Christer Ericson ซึ่งวางรายละเอียดที่ดีเกี่ยวกับเทคนิคและอัลกอริธึมที่หลากหลายเช่น รหัส C ++
มันช่วยให้ฉันทำตามขั้นตอนเด็กก่อนที่จะพยายามสร้างระบบที่ยิ่งใหญ่ การเขียนฟังก์ชั่นเพื่อตรวจสอบว่าจุดหนึ่งอยู่ในระนาบหรือไม่ถ้าหากจุดนั้นอยู่ในรูปสามเหลี่ยมถ้ารังสีอยู่ในรูปสามเหลี่ยม ฯลฯ จากนั้นเคลื่อนที่ไปยังการทดสอบสถิตของของแข็งชนิดต่างๆ: AABB vs. สามเหลี่ยม ฯลฯ ด้วย สิ่งที่เวลาที่ดูเหมือนไม่ยอมรับ (ยกโทษให้ปุน) ในตอนแรกก็กลายเป็นที่น่ากลัวน้อยลง นี่คือรายการของการทดสอบจำนวนมากพร้อมโค้ดตัวอย่าง:
http://www.realtimerendering.com/intersections.html
ในระหว่างนี้เนื่องจากฉันรู้ว่าทุกคนไม่สามารถแยกหนังสือที่ต้องการได้ 70-80 $ ต่อไปนี้เป็นคำศัพท์บางคำที่คุณอาจต้องการพิจารณา:
- การแบ่งพาร์ติชันเชิงพื้นที่แปดควอดทรีต้นไม้ BSP
- ต้นไม้ BIH
- ปริมาณและขอบเขตของระดับเสียงที่ถูกผูกไว้
- การตรวจจับการชนแบบต่อเนื่องและแบบต่อเนื่อง
- ทฤษฎีบทการแยกแกน
- อัลกอริทึม GJK