Giả sử rằng với mỗi tam giác Tđều có một giá trị ưu tiên đơn điệu p(T)∈[0,1]. Khi lưới tam giác Tđược xây dựng từ trên xuống, chúng ta sẽ quản lý một hàng đợi ưu tiên Qs chứa tất cả các tam giác hiện tại có trong T. Thuật toán vét cạn từ trên xuống như sau:
Đặt T = lưới tam giác ban đầu. Với tất cả T ∈T, chèn T vào Qs.
Trong khi T quá nhỏ hay không chính xác { Tìm T có giá trịưu tiên cao nhất trong Qs. Phân chia ép buộc cho T.
KHOA CNTT –
ĐH KHTN
- 30 -
Xóa T và các tam giác phân chia khác khỏi Qs. Thêm các tam giác mới trong T vào Qs.
} }
Thuật toán vét cạn này tạo ra các lưới tam giác tối ưu tại mỗi bước lặp. Giả sử có lưới tam giác khác T’ có giá trị ưu tiên cực đại nhỏ hơn T. Rõ ràng là T’ nhất định chỉ chứa các con cháu của tất cả các tam giác bị ép buộc phân chia trong khi xây dựng
T. Bởi vì phép phân chia ép buộc (force-split) tạo ra các bước làm mịn cần thiết ít nhất mà vẫn giữđược tính liên tục, nên T’ không thể chứa bất kì tổ tiên nào cả của các tam giác trong T. Cuối cùng, bởi vì T’ có giá trị ưu tiên thấp hơn, nên nó nhất định chỉ chứa các con cháu của ít nhất một tam giác trong T. Do đó, T’ có nhiều tam giác hơn T
và vì thế nên T là tối ưu. Tổng số các phép phân chia và kết hợp được thực hiện bởi thuật toán từ trên-xuống (top-down algorithm) là xấp xỉN, số lượng tam giác trong lưới tam giác cuối cùng T.