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