Tapi, bagaimana seseorang melakukan deteksi tabrakan pada bentuk yang terbuat dari segitiga kecil?
Dengan tidak melakukannya.
Deteksi tabrakan terhadap koleksi segitiga arbitrer (atau lebih buruk, antara dua koleksi segitiga sewenang-wenang) sangat mahal.
Sebagai gantinya, kami biasanya melakukan pendeteksian koleksi secara hierarkis, dimulai pertama dengan bentuk yang sangat kasar dan sederhana (seperti kotak atau bola) yang mendekati (buruk) objek yang mendasarinya.
Ini memungkinkan kita untuk dengan cepat menolak mayoritas tabrakan potensial sebagai "tidak terjadi," yang merupakan kasus biasa. Dalam kasus di mana cek mentah semacam itu lewat, yang menunjukkan potensi tabrakan aktual, dan kami melanjutkan untuk melakukan pemeriksaan terhadap perkiraan yang lebih rinci dari bentuk yang mendasarinya (seperti yang dibuat dari beberapa bentuk kapsul yang dipasang dengan ketat, atau banyak kotak pembatas selaras).
Pada dasarnya, deteksi tabrakan dimulai dengan tes kasar dan, ketika tes-tes tersebut berlalu, berlanjut ke representasi yang semakin rinci. Gambar ini, disediakan oleh Shiro dalam komentar atas jawaban Alexandre , menggambarkan bagaimana model yang kompleks (manusia) dapat diwakili oleh serangkaian bentuk yang lebih sederhana:
Jarang sekali kita benar - benar perlu melakukan tabrakan pada tingkat segitiga individu, dan ketika kita melakukannya kita biasanya menggunakan metode yang lebih kasar untuk menyibak satu set segitiga potensial yang sangat kecil untuk diuji. Pada titik itu, algoritma spesifik digunakan untuk melakukan tes, sama seperti Anda akan menguji apakah dua persegi panjang tumpang tindih. Misalnya, Anda dapat menentukan apakah dan di mana sinar menyentuh segitiga .