b) Xử lý va chạm Mặt phẳng trƣợt
2.3.1. Tƣ tƣởng thuật toán
Giả sử ta đang xét trong không gian R3, mỗi khi hai đối tượng A, B va chạm nhau, bằng cách sử dụng kỹ thuật phát hiện OBB để phát hiện va chạm và lấy thông tin về điểm va chạm, tiếp theo chúng ta cần phải xứ lý thêm hiệu ứng méo mó, biến dạng của
các đối tượng tham gia va chạm. Một cách tiếp cận cho vấn đề là sử dụng kĩ thuật bóp méo tự do
Hình 14. Hình ảnh méo mó, biến dạng sau va chạm
[14, 17] (Free Form Deformation). Với mỗi đối tượng, tìm một hình bao AABB bao quanh nó.
- Trên hình bao AABB này, lập một lưới (lattice) các điểm điều khiển. Số lượng các điểm điều khiển trên mỗi chiều là tuỳ ý, giả sử chúng là Nu,Nv,Nw . Tổng số điểm điều khiển N = Nu*Nv*Nw;
- Từ các điểm điều khiển này, ta xây dựng mộ t đường bao B-Splines 3D, đều, tuần hoàn đi qua các điểm điều khiển trên;
- Với mỗi đối tượng, bổ sung một thuộc tính về độ cứng của chúng (stiff); - Khi hai đối tượng A, B va chạm nhau, ta sẽ lấy được thông tin về điểm va
chạm và xung ảnh hưởng lên mỗi đối tượng. Từ điểm va chạm, ta tìm các điểm điều khiển gần điểm va chạm trong phạm vị bán kính R. Sau đó xác định độ chuyển dịch cho các điểm điều khiển này dưới tác dụng của xung vừa tính được. Mối liên hệ giữa xung và độ cứng của đối tượng tương tự như mối quan hệ giữa lực với độ cứng của lò xo. Vì vậy, ta có thể áp dụng mối liên hệ này để tính toán độ chuyển dịch cho điểm điều khiển.
- Khi đã tính toán được độ chuyển dịch cho các điểm điều khiển, chúng ta tiếp tục tính toán sự ảnh hưởng của các điểm thuộc bề mặt đối tượng theo nguyên lý của các hàm B- Splines. [17,13,5].