V. XÂY DỰNG CÁC CHƯƠNG TRèNH PHẦN MỀM TÁI HIỆN BỀ
5.3. Thuật toỏn quả búng rơi và phương phỏp nội suy
Thuật toán quả bóng rơi (Ball Fall)
Nội dung của thuật toán nh− sau:
Từ tập điểm đo đ−ợc, tiến hành phủ l−ới tam giác lên vật thể. Việc phủ tam giác lên vật thể có nhiều cách, ví dụ nh− cách d−ới đây:
Hình 3.5.12: Định nghĩa tam giác Delaunay và biểu đồ Voronoi
Từ tập datapoints đo đ−ợc ta tiến hành sắp xếp các điểm gần nhau hơn (so với các điểm khác lại), ứng với mỗi điểm ta nối tam giác với hai điểm gần hơn. Tập hợp các tam giác này tạo thành l−ới tam giác bao phủ lên toàn vật thể, đó chính là quan hệ giữa biểu đồ Vronoi và Delaunay.
Việc phủ tam giác nh− vậy rõ ràng nó có −u điểm là giúp ng−ời đo tiết kiệm đ−ợc thời gian đo, xong đôi khi gây ra những nhầm lẫn rất khó phát hiện khi tiến hành thuật toán.
Để tránh những nhầm lẫn đó, ta nên quy định quy luật lấy điểm trên vật thể nh− sau:
Chia vật thể thành nhiều lớp khác nhau, các lớp đ−ợc chia phải bảo đảm khi ghép các lớp đó lại thì chúng phải bao phủ hoàn toàn đ−ợc vật thể.
Trong từng lớp ta tiến hành lấy điểm sao cho 3 điểm liên tiếp không thẳng hàng, nghĩa là chúng phải tạo thành một tam giác.
Sau khi có tập datapoints đo đ−ợc bằng cách trên ta chiếu toàn bộ vật thể xuống 3 mặt phẳng toạ độ xoy, yoz và zox. Trên từng mặt phẳng, cứ ba đỉnh của tam giác hoàn toàn xác định một mặt phẳng dạng: (D): Ax + By + Cz + D = 0.
Hình 3.5.14: Sơ đồ thuật toán Ball Fall.
Kẻ đ−ờng thẳng yj // Ox, (j = 1, …, m). ứng với mỗi yj ta chia đoạn [x1, xn] thành n phần, b−ớc chia là dentalx, từ đó ta thu đ−ợc điểm M(i,j) tr−ợt trên đ−ờng thẳng yj. Đến đây chúng ta xác định xem M(i,j) thuộc tam giác nào, căn cứ vào đó ta sẽ xác định đ−ợc thành phần cao độ zk, (k=1, …, p) bằng cách thay toạ độ xi, yj vào ph−ơng trình (D).
Một cách t−ơng tự, ta cũng tiến hành trên hai mặt phẳng toạ độ còn lại.
Tập hợp M(i,j,k), với m, n, p đủ lớn ta thu đ−ợc vật thể (V) đã mịn hoá và chính xác hoá.
Một số chú ý:
Các lớp điểm đ−ợc lấy nên có phần giao nhau, để vật thê thu đ−ợc chính xác hơn.
Để tránh nhầm lẫn : không biết điểm đ−ợc chiếu lên mặt phẳng toạ độ là thuộc tam giác nào ta không nên xét nhiều lớp liền một lúc hoặc nhiều tam giác liền một lúc, mà nên xét từng tam giác trong từng lớp một.
Khi đ−ợc chiếu lên các mặt phẳng toạ độ, ba điểm liên tiếp ch−a chắc đã tạo thành một tam giác hình học, nghĩa là không đáp ứng đ−ợc yêu cầu của thuật toán (phải là tam giác), khi đó cần tăng độ chính xác của số hiển thị (dùng lệnh Format để tăng khả năng biểu diễn các chữ số có nghĩa).