Ini adalah CSG - Constructive Solid Geometry (walaupun dalam kasus ini, itu destruktif, secara tegas), jika Anda ingin melakukan penelitian lebih lanjut tentang bagaimana sebenarnya algoritma bekerja.
Pendekatan standar adalah dengan menggunakan dua jerat A & B yang ada (rumah dan volume "ledakan" yang dikurangkan) untuk menghasilkan "jala" ketiga (grafik) di mana dua bidang jerat dan tepi berpotongan, C - yang menggambarkan area mereka berbagi. Dalam 2D:
/ \
/ \
/ A \
| |
| /-|-\
| |C| |
--- ----- | ------- G
| B|
\---/
A adalah rumah, B adalah volume ledakan, C adalah persatuan / titik potong antara A dan B. G adalah tanah.
Matematika / logika di baliknya tidak sepele, karena ada banyak kasus tepi yang harus dihadapi dan setengah atau lebih dari tugas ini hanya mengenali jenis grafik hasil yang mungkin merupakan kasus khusus yang perlu dipenuhi dalam kode. Saya telah melihat masalah yang dijelaskan oleh para veteran di gamedev.net sebagai "masalah yang sangat sulit" dan saya dapat memberitahu Anda dari mencoba dalam 2D, bahkan, dan memiliki tingkat keberhasilan yang moderat di mana hanya beberapa kasus tepi yang gagal, bahwa itu bukan tugas kecil.
Cara yang mungkin lebih mudah adalah dengan menggunakan algoritma dekomposisi poligon, dan gunakan geometri yang dibuat sebagai dasar untuk penghancuran geometri Anda.