tailieunhanh - Đồ họa máy tính - Chương 4 Kỹ thuật xử lý hình khuất - Bài 12

Phần hiển thị của hình Phần này chúng ta giải quyết bài toán sau: Giả sử đối t-ợng quan sát nằm trong vùng nhìn thấy, khi đó nó có ảnh trên mặt phẳng chiếu ?. Nếu bây giờ chúng ta thu nhỏ mặt phẳng chiếu, hãy xác định phần hình ảnh của đối t-ợng có trong mặt phẳng chiếu, chúng ta chú ý rằng vấn đề này rất phù hợp với yêu cầu đặt ra khi mô tả đối t-ợng trên máy tính. | Kỹ thuật Đổ hoạ máy tính CHU O NG 4 KỸ THUẬT xử lý HÌNH KHUẤT 12. PHẦN HIỂN THỊ CỦA HÌNH Phẩn này chúng ta giải quyết bài toán sau Giả sử đối tượng quan sát nằm trong vùng nhìn thấy khi đó nó có ảnh trên mặt phẳng chiếu n. Nếu bây giờ chúng ta thu nhỏ mặt phẳng chiếu hãy xác định phần hình ảnh của đối tượng có trong mặt phẳng chiếu chúng ta chú ý rằng vấn đề này rất phù hợp với yêu cầu đặt ra khi mô tả đối tượng trên máy tính. Nếu chúng ta coi màn hình là mặt phẳng chiếu hay một vòng hình chữ nhật cửa sổ trên màn hình là mặt phẳng chiếu Trong Pascal C ta gọi vùng chiếu đó là ViewPort Không giảm tổng quát ta giả sử cửa sổ trên mặt phẳng chiếu có kích thước Xmin Xmax x Ymin Ymax 1. Thuật toán Cohen Sutherland . O Xmin Xmax X ---. ------ -4-- Y min j Ymax ._ Y Thuật toán Cohen Sutherland giải quyết bài toán làm thế nào để xác định phần đoạn thẳng có trong mặt phẳng chiếu. Nói một cách khác làm thế nào để xác định phần đường thẳng cho trước có trong Viewport Theo Cohen Sutherland một cửa sổ sẽ chia màn hình thành 9 phần mỗi phần ứng với một mã số gồm 4 bit 65 Kỹ thuật Đổ hoạ máy tính Một điểm P bất kỳ thuộc mặt phẳng chiếu sẽ ứng với một mã gọi là Kod P 1001 1000 1010 0001 Viewport 0000 0010 0101 0100 0110 Kod P b4b3b2b1 Trong đó các bi đuợc xác định nhu sau 1 b1 1 nếu P nằm ỏ bên trái của cửa sổ b2 1 nếu P nằm ỏ bên phải của cửa sổ b3 1 nếu P nằm ỏ phần bên d ổi của cửa sổ b4 1 nếu P nằm ỏ phần bên trên của cửa sổ Nếu không thoả mãn điều kiện trên thì bi 0 i 1 4. Một điểm P x y bất kỳ Kod P đuợc xác định theo 1 nhu sau b1 1 nếu x xmin b2 1 nếu x xmax b3 1 nếu y ymax b4 1 nếu y ymin Với cách tính này ta suy ra b1 là bit dấu của x-xmin b2 là bit dấu của xmax-x b3 là bit dấu của ymax-y b4 là bit dấu của y-ymin Chú ý trong máy tính bit dấu bằng 1 thì có dấu - Chúng ta quy uớc nếu điểm Pebiên của cửa sổ thì Kod P 0 Với cách xác định mã ở trên của điểm P ta suy ra Pe cửa sổ viewport khi Kod P 0000 Do đó i. đoạn thẳng P1P2 thuộc cửa sổ khi Kod P1 Kod P2 0000 ii. .