tailieunhanh - Đồ họa máy tính - Chương 5 Tô màu, Font chữ - Bài 15

Tô màu, Font chữ $15. Các thuật toán về đa giác Trong kỹ thuật đồ hoạ có nhiều bài toán phức tạp đ-ợc chuyển về các bài toán về đa giác chính vì vậy trong phần này chúng ta sẽ khảo sát một số thuật toán liên quan đến đa giác | Kỹ thuật Đổ hoạ máy tính CHU O NG 5 TÔ MÀU FONT CHỮ 15. CÁC THUẬT TOÁN VỂ ĐA GIÁC Trong kỹ thuật đổ hoạ có nhiều bài toán phức tạp đuợc chuyển về các bài toán về đa giác chính vì vậy trong phần này chúng ta sẽ khảo sát một số thuật toán liên quan đến đa giác Định nghĩa 1 Một đa giác n đỉnh gọi là đa giác lổi nếu đoạn thẳng chứa hai điểm bất kỳ của đa giác nằm trong đa giác Định nghĩa 2 Đa giác thông thuờng là đa giác có n đỉnh n cạnh mỗi đỉnh là điểm đầu của một cạnh và điểm cuối của một cạnh khác. Mỗi đỉnh không phải là điểm xuất phát của 2 cạnh các cạnh đa giác không cắt nhau ở các điểm nào khác trên đỉnh của nó 1. Xác định điểm trong hay ngoài đa giác Bài toán Cho một đa giác thuờng và một điểm P hãy xác định P là điểm trong hay điểm ngoài của đa giác Thuật toán thứ nhất Giả sử đa giác W có các đỉnh P1 đuợc đánh số theo chiều kim đổng hổ Nối P với tất cả các đỉnh P1 của đa giác W. Ta gọi ai là góc tạo bởi PPi và PPi 1 i 1 1 Pn 1 P1 84 Kỹ thuật Đổ hoạ máy tính Góc ai có dấu nếu PPi dịch chuyển theo chiều kim đổng hổ tuỳ với PPi 1 nguợc lại ai có dấu - khi đó nếu n O 7 n a i 360 u thì P là điểm trong của đa giác nếu a i 0 thì P nằm ngoài đa i 1 i 1 giác P Thuật toán 2 Để xác định P là điểm trong hoặc ngoài của đa giác ta có thể thực hiện theo thuật toán khác Giả sử cho đa giác W và P là điểm bất kỳ để xác định P là điểm trong hay ngoài đa giác ta thực hiện các buớc sau theo huớng Buớc 1 Từ P kẻ nửa đuờng thẳng s tuỳ ý không giảm tổng quát có thể chọn huớng với trục OX và phía phải Buớc 2 Tính số giao điểm của N của nửa đuờng thẳng l với các cạnh của đa giác Buớc 3 Kiểm tra nếu N chẵn P nằm ngoài nếu N lẻ P nằm trong Ví dụ Kỹ thuật Đổ hoạ máy tính Chú ý 1. Để tính điểm giao của nửa đường thẳng l với các cạnh của đa giác ta không cần phải tìm điểm giao của l với tất cả các cạnh của đa giác có thể cải tiến để thuật toán làm việc nhanh hơn dựa vào nhận xét sau Giả sử P có toạ độ xo yo và Pi có toạ độ xi yi i 1 n . Cạnh Pi Pi i không cần phải tính điểm