2.1.2.1. Định nghĩa hộp bao theo hướng (OBB)
OBB là hộp bao AABB nhưng trục có hướng bất kỳ. OBB có ưu điểm hơn AABB đó là giảm không gian trống giữa vật thể và hộp bao. Tuy nhiên việc tạo ra và thao tác trên hộp bao loại này phức tạp hơn loại AABB nhiều, mặc dù vậy người
ta vẫn dùng loại hộp bao này nhiều hơn vì nó cho độ chính xác cao hơn nhiều so với hộp bao AABB (Hình 2.2).
Hình 2.2 Hộp bao OBB của đối tượng
Một hình hộp OBB bao gồm một tâm C, ba vector A0,A1,A2
chỉ hướng của hình hộp và 3 hệ số độ dài tương ứng với kích thước của hình hộp là a0 >0, a1>0, a2>0. Khi đó, 8 đỉnh của hình hộp sẽ được xác định như sau:
2 0 . 2 , 1 , 0 , 1 | | * i i i i ia A s i s C
Kỹ thuật phát hiện hộp bao theo hướng được chia làm hai mức [6]. Mức một là kiểm tra “nhanh” xem có va chạm nào xảy ra không? Nếu không có va chạm nào xảy ra thì hệ thống vẫn làm việc bình thường, ngược lại nếu ở mức một phát hiện có ít nhất một va chạm xảy ra thì sẽ chuyển sang mức hai đó là tìm chính xác điểm va chạm. Ở mức một, ta có thể kiểm tra nhanh xem có va chạm nào xảy ra không nhờ dựa vào định lý sau đây.
Định lý 2.3.1 Hai khối đa diện lồi không giao nhau nếu có thể cô lập được chúng bằng một mặt phẳng P thoả mãn một trong hai điều kiện sau:
P song song với một mặt nào đó của một trong hai khối đa diện.
Hoặc là P chứa một cạnh thuộc đa diện thứ nhất và một đỉnh thuộc đa diện thứ hai.
Từ định lý trên, ta rút ra nhận xét sau cho phép kiểm tra nhanh sự giao nhau của hai khối đa diện lồi: Điều kiện cần và đủ để kiểm tra hai khối đa diện lồi có giao nhau hay không là kiểm tra giao nhau giữa các hình chiếu của chúng lên đường
thẳng vuông góc với mặt phẳng P ở trên, đường thẳng này được gọi là trục cô lập. Ta thấy rằng các hộp bao OBBs là những khối đa diện lồi, bởi vậy ta hoàn toàn có thể áp dụng định lý trên để kiểm tra va chạm giữa chúng.