Đây là CSG - Hình học khối xây dựng (mặc dù trong trường hợp này, nó có tính phá hủy, nói đúng), nếu bạn muốn nghiên cứu thêm về cách các thuật toán thực sự hoạt động.
Cách tiếp cận tiêu chuẩn là sử dụng hai lưới A & B hiện có (khối nhà và khối lượng "nổ" được trừ) để tạo ra "lưới" thứ ba (đồ thị) trong đó hai mặt phẳng và các cạnh giao nhau, C - mô tả khu vực họ chia sẻ. Trong 2D:
/ \
/ \
/ A \
| |
| /-|-\
| |C| |
--- ----- | ------- G
| B|
\---/
A là ngôi nhà, B là khối lượng vụ nổ, C là khu vực liên kết / giao nhau giữa A và B. G là mặt đất.
Toán học / logic đằng sau nó không phải là nhỏ, vì có nhiều trường hợp cạnh phải giải quyết và một nửa hoặc nhiều hơn nhiệm vụ này chỉ là nhận ra loại biểu đồ kết quả nào có thể là trường hợp đặc biệt cần được phục vụ trong mã. Tôi đã thấy vấn đề được các cựu chiến binh mô tả trên gamedev.net là "một vấn đề rất khó khăn" và tôi có thể nói với bạn về việc thử nó ở dạng 2D, thậm chí, và có một mức độ thành công vừa phải khi chỉ có một vài trường hợp cạnh thất bại, Đó là nhiệm vụ không nhỏ.
Một cách có thể dễ dàng hơn là sử dụng thuật toán phân rã đa giác và sử dụng hình học tạo ra làm cơ sở cho việc phá hủy hình học của bạn.