Kỹ thuật xóa đường ẩn

Kỹ thuật xóa đường ẩn (tiếng Anh: Hidden line removal) là một chi nhánh mở rộng của kỹ thuật diễn họa khung lưới, trong đó các đường thẳng (hay các đoạn của đường thẳng) bị các bề mặt che đi không được vẽ ra.

Hoạt động của kỹ thuật xóa đường ẩn

Kỹ thuật này không tương tự như kỹ thuật xóa bề mặt ẩn, vì kỹ thuật này liên quan đến chiều sâu, sự che khuất (occlusion ), trong khi cái kia liên quan đến các pháp tuyến (normals) - đường thẳng 90 độ với bề mặt mặt phẳng.

Một thuật toán thường được sử dụng để thi hành là thuật toán của Arthur Appel (do IBM phát triển cuối những năm 1960). Thuật toán này hoạt động bằng cách tăng tiến mức độ có thể trông thấy được của một phần trong tầm nhìn đến một phàn mà mức độ có thể trông thấy của nó chưa được xác định. Do một số trường hợp vô lý tồn tại cho nên chúng gây khó khăn trong việc thực hiện thuật toán này. Những trường hợp đó là:

  1. Các điểm đỉnh nằm trên đường mép
  2. Các đường mép nằm trên các đỉnh điểm
  3. Các đường mép nằm trên các đường mép

Thuật toán này là một thuật toán không bền, dễ thay đổi, bởi vì một sai số trong tầm nhìn sẽ tăng tiến và ảnh hưởng tới những nút tiếp theo (tuy nhiên hiện có nhiều phương pháp bù trừ để giải quyết vấn đề này). Ông James Blinn là người đã cho phát hành một bài viết đối với vấn đề trên.

Tham khảo

sửa

Liên kết ngoài

sửa
  • Luật văn của Patrick-Gilles Maillot phần mở rộng về thuật toán vẽ đường thẳng trong kỹ thuật xóa các đường ẩn của Bresenham; bài này cũng còn được đăng trong MICAD '87 proceedings on CAD/CAM and Computer Graphics, trang 591 - ISBN 2-86601-084-1.
  • Vector Hidden Line Removal Một bài viết của ông Walter Heger diễn tả thêm các trường hợp vô lý (pathelogical cases) trong thuật toán xóa đường ẩn, cùng nhiều trích dẫn.