III. CÁC THUẬT TOÁN KIỂM TRA SỰ TƯƠNG QUAN GIỮA CÁC ĐỐI TƯỢNG HÌNH HỌC
10. Kiểm tra tính lồi của đa giác
Cơ sơ toán học:
-Nhận biết quay trái với quay phải: Có những thuật giải ta phải duyệt một đa giác, lần lượt thăm mỗi đỉnh hay cạnh. Ta xem như di chuyển theo một cạnh từ đỉnh này đến đỉnh kia và sau đó ra cạnh kế. Như vậy cần phải biết đi theo chiều phải hay trái.
Luận văn tốt nghiệp
Thiết kế hệ thống kiểm tra cácc quan hệ hình họctrang 43 trang 43
Ví dụ, nếu P1, P2, P3 là ba cạnh kề nhau của đa giác, ta tạo vector cạnh a=P2-P1 và b=P3- P2. Hình (1) cho thấy trường hợp a và b nằm trong mặt xy và quay trái khi đi từ a đến b. Còn hình (2) là quay phải.
Giả sử dùng hệ tay phải ở hình 1 và hình 2 nên trục z (hay chiều k) hướng ra ngoài từ trang sách tới chúng ta. Dùng quy tắc tay phải, tích a x b chỉ ra ngoài với thành phần k dương. Nếu lập tích vô hướng vector này với chính k, sẽ được một đại lượng mà dấu của nó cho biết chiều quay, dương nếu quay trái và âm nếu quay phải. Cho vector a và b trong mặt xy, quay từ a đến b sẽ là dương nếu
T= k.(a x b) >= 0
và âm nếu ngược lại (Kết quả không đổi đối với hệ tay trái).
Với đa giác lồi, mọi phép quay có cùng chiều, như đa giác A. Nếu đa giác không lồi, như trường hợp B, gồm cả hai phép quay. Như vậy, đa giác đơn là lồi nếu và chỉ nếu mọi phép quay có có cùng dấu khi được duyệt.
Giải thuật:
- Duyệt đa giác theo thứ tự các đỉnh để xét việc quay từ cạnh a đến cạnh b tại mỗi đỉnh là quay phải hay quay trái.
.Tính tọa độ theo hướng oz của tích vector a x b T= k(a x b) = ax*by - ay*bx
- Nếu mọi phép quay đều như phép quay tại đỉnh thứ nhất, đa giác lồi.
b a b a Hình 1 Hình 2 A A B
Luận văn tốt nghiệp
Thiết kế hệ thống kiểm tra cácc quan hệ hình họctrang 44 trang 44
- Nếu có một phép quay khác phép quay tại đỉnh thứ nhất,đa giác lõm.