III.1. Giải thuật Sutherland – Hodgman
Đa giâc
Kết quả thu được Hình chữ nhật D
(Clipping Window)
(hình 1.a) (hình 1.b) (hình 1.c) (hình 1.d) (hình 1)
Tư tưởng của giải thuật như sau:
Để Clipping một đa giâc F văo trong một hình chữ nhật D ta tiến hănh câc bước sau:
Bước 1: Với đa giâc F thực hiện cắt bỏ những phần nằm bín trâi hình chữ nhật (nghĩa lă bín trâi của cạnh trâi nối dăi) ta thu được đa giâc mới F1 (hình 1.a)
Bước 2: Với đa giâc F1 thực hiện cắt bỏ những phần nằm bín phải hình chữ nhật ta thu được đa giâc mới F2 (hình 1.b)
Bước 3: Với đa giâc F2 thực hiện cắt bỏ những phần nằm bín trín hình chữ nhật ta thu được đa giâc mới F3 (hình 1.c)
Bước 4: Với đa giâc F3 thực hiện cắt bỏ những phần nằm bín dưới hình chữ nhật ta thu được đa giâc mới F4 (hình 1.d)
Kết quả: Nếu F4 = ∅ thì ClipD(F)=∅. Ngược lại thì ta thu được kết quả xĩn lă đa giâc F4, hay ClipD(F)=F4
Chẳng hạn cho bước 1: Xuất phât từ một đỉnh năo đó của đa giâc, ta tiến hănh đi dọc theo câc cạnh đến câc đỉnh khâc cho đến khi về lại đỉnh đầu.
Trín quâ trình di chuyển:
Nếu gặp một đỉnh vă đỉnh đó ở trín hay bín phải của cạnh trâi (nối dăi) hình chữ nhật thì ta lưu điểm đó văo F1.
Nếu gặp giao điểm với cạnh trâi (hay cạnh trâi nối dăi) thì lưu giao điểm đó văo F1
Kết quả ta có F1 lă một tập câc điểm biểu diễn đa giâc F khi đê xĩn đi mất phần bín trâi.
Câc bước còn lại thực hiện tương tự.
III.1.a. Căi đặt thuật toân Sinh viín cần xđy dựng:
+ Một thủ tục xĩn đa giâc theo thuật toân trín
+ Một chương trình sử dụng thủ tục xĩn để minh họa
III.1.b. Nhược điểm thuật giải Sutherland-Hodgman vă câch khắc phục
Thuật giải xĩn đa giâc Sutherland - Hodgeman còn mắc phải một nhược điểm đó lă khi kết quả xĩn lă 2 đa giâc riíng biệt thì nó gộp lại lăm một bởi môt cạnh liín kết.
Ví dụ:
Phương phâp khắc phục: Sinh viín tự nghiín cứu.