Loại bỏ các đường bị che khuất

Một phần của tài liệu giao trinh ktdh (Trang 154 - 156)

Chương 2 : CÁC THUẬT TOÁN TÔ MÀU

7.8. Loại bỏ các đường bị che khuất

Khi chỉ các phác họa của một đối tượng được hiển thị, các phương pháp khử đường khuất được dùng đến để loại bỏ các viền của đối tượng, cái bị che khuất bởi các

mặt ở gần mặt phẳng quan sát hơn. Các phương pháp để loại bỏ các đường khuất có

thể được phát triển bằng cách xem xét các viền của đối tượng một cách trực tiếp hay

bằng cách chỉnh sửa lại các phương pháp khử mặt khuất.

Một tiếp cận trực tiếp để loại bỏ các đường khuất là so sánh mỗi đường với mỗi mặt trong ảnh. Quá trình này tương tự như clipping các đường bởi một cửa sổ có hình dạng bất kỳ, chỉ khác ở chổ là bây giờ chúng ta muốn cắt bỏ các phần bị che khuất bởi các mặt. Đối với mỗi đường, các giá trị độ sâu được so sánh với các mặt để xác định

xem phần đoạn thẳng nào khơng nhìn thấy được. Chúng ta có thể dùng các phương

pháp cố kết để xác định các phần bị che khuất mà không cần kiểm tra tồn bộ các vị trí tọa độ. Nếu cả hai giao điểm của đường thẳng với hình chiếu của một biên bề mặt có

độ sâu lớn hơn độ sâu của mặt ở các điểm này, đoạn thẳng giữa các giao điểm sẽ hồn

Hình 7-22

Phần đoạn thẳng bị che

khuất (nét đứt) của các

đường thẳng: (a) đi qua phía

sau một mặt và (b) đâm xuyên qua một mặt.

Chương 7: Khử các mặt kuất và đường khuất

tồn bị che khuất, như hình 7-22 (a). Khi đường thẳng có độ sâu lớn hơn độ sâu ở một giao điểm với biên và có độ sâu nhỏ hơn độ sâu của mặt ở các giao điểm với biên còn lại, đường thẳng phải đi xuyên qua mặt như hình 7-22 (b). Trong trường hợp này,

chúng ta tính tọa độ giao điểm của đường với mặt bằng cách dùng phương trình mặt và chỉ hiển thị các phần được nhìn thấy của đường thẳng.

Vài phương pháp khử mặt khuất dễ dàng được áp dụng để khử các đường khuất. Dùng phương pháp mặt sau (back-face), chúng ta có thể nhận biết được các mặt sau

của một đối tượng và chỉ hiển thị các biên của các mặt nhìn thấy được. Với phương

pháp sắp xếp theo độ sâu, các mặt được vẽ vào trong vùng đệm làm tươi để phần bên trong của mặt có độ sáng nền, trong khi đó các biên có độ sáng là độ sáng vẽ. Bằng cách xử lý các mặt từ sau đến trước, các đường khuất bị xóa bởi các mặt ở gần hơn.

Phương pháp chia vùng có thể được áp dụng để khử các đường khuất bằng cách chỉ

hiển thị các biên của các mặt nhìn thấy được. Các phương pháp scan-line có thể được dùng để hiển thị các đường nhìn thấy được bằng cách bố trí các điểm dọc theo các đường quét, các điểm này trùng với các biên của các mặt nhìn thấy được. Bất kỳ

phương pháp khử mặt khuất nào dùng các đường quét đều có thể được thay đổi thành phương pháp khử đường khuất theo cách tương tự (xem hình 7-23).

V1 V2 V3 V4 • • • S1 • • V5 S2 E1 E2 E2 E6 E6 VERTEX TABLE V1: x1, y1, z1 V2: x2, y2, z2 V3: x3, y3, z3 V4: x4, y4, z4 V5: x5, y5, z5 EDGE TABLE E1: V1, V2, S1 E2: V2, V3, S1, S2 E3: V3, V1, S1 E4: V3, V4, S2 E5: V4, V5, S2 E6: V5, V2, S2 POLYGON TABLE S1: E1, E2, E3 S2: E2, E4, E5, E6

Hình 7-23

Các bảng dữ liệu hình học cho một đối tượng ba chiều được

biểu diễn bởi hai mặt phẳng,

được hình thành với sáu cạnh

Chương 7: Khử các mặt kuất và đường khuất

Một phần của tài liệu giao trinh ktdh (Trang 154 - 156)

Tải bản đầy đủ (PDF)

(159 trang)