Rabu, 06 Januari 2016

Teori Deteksi Tabrakan Objek Segitiga dan Titik



Selamat pagi semuanya, masih dalam suasana Tahun Baru 2016,  kali ogut akan membahas tentang deteksi tabrakan antara objek segitiga dan sebuah titik. Deteksi tabrakan ini sangat berguna untuk rekan-rekan yang sedang belajar membuat game 2D.

Pada artikel sebelumnya ogut pernah membahas tentang deteksi tabrakan dengan skala proyeksi vektor dan dengan panjang vektor (radius). Kedua artikel dilengkapi dengan contoh program dan source code nya.

Untuk artikel yang ini ogut masih akan membahas tentang teorinya dahulu, contoh program akan segera ogut susul, karena ada kerjaan pompa air di villa bule (hehehe jadi tau deh semuanya, ogut ini kerjaan-nya ngurus pompa air dan water system).

Ok kita langsug aja ke isi dari artikel ini....mulai serius nih........

Perhatikanlah gambar di bawah ini, posisi sebuah titik berada di luar sebuah segitiga.


Lalu perhatikan gambar di bawah ini, titik berada di dalam segitiga (tabrakan terjadi antara titik dan segitiga).


Sekarang segitiga kita beri warna merah, untuk menghitung luas segitiga berwarna merah dapat digunakan rumus (alas X tinggi) / 2. Untuk mencari tinggi dan alas rekan-rekan bisa menggunakan panjang vektor dan proyeksi vektor.


Sekarang perhatikan gambar dibawah ini (untuk posisi titik yang berada di luar segitiga). Kita tarik garis dari titik ke semua titik sudut segitiga, sehingga menghasilkan.


Kita warnai dengan warna biru untuk segita pertama.


Lanjut kita warnai dengan warna hijau untuk segitiga kedua.


Dan terakhir kita warnai dengan warna kuning untuk segitiga terakhir, sehingga.


Sekarang, kita jumlahkan luas segitiga biru, hijau dan kuning, hasil yang di dapat, luas segitiga tersebut akan tidak sama dengan atau lebih luas dari luas segitiga merah.


Ok lanjut, kita kembali ke gambar titik yang berada di dalam segitiga, kita tarik garis dari titik ke semua titik sudut segitiga.


Seperti sebelumnya kita warnai segitiga pertama dengan warna biru.


Segitiga kedua dengan warna hijau.


Dan terakhir, warnai dengan warna kuning.


Sekarang perhatikan kesimpulannya, Jika luas segitiga biru, hijau dan kuning dijumlahkan, maka hasilnya sama dengan luas segitiga warna merah.


Teori inilah yang akan ogut pakai untuk mendeteksi tabrakan antara objek segitiga dengan sebuah titik.

Bagaimana jelas rekan-rekan, mudah bukan. Jika rekan-rekan mempunyai cara yang lebih baik untuk mendeteksi tabrakan seperti ini atau rekan-rekan tau kelemahan dari teori ini, jangan ragu untuk kontak ogut ya, sebab ogut juga masih dalam tahap belajar.

Update 9 Jan 2016

Untuk melihat program deteksi tabrakan segitiga dan titik Anda dapat klik link berikut ini



Salam


Heriady
heriady.yoh@gmail.com


Artikel terkait
Algoritma Deteksi Tabrakan Objek Game Dengan Sudut Vektor

Menghitung Luas Segitiga dengan Vektor

Deteksi Tabrakan Game OpenGL (Segitiga dan Titik)

Deteksi Tabrakan dengan (Skala) Proyeksi Vektor

Mendeteksi Posisi dengan Vektor Proyeksi

Animasi Game 2D dengan Translasi

Deteksi Tabrakan dengan Panjang Vektor / Radius

Vektor R2