Tính khả kiến từ A đến B

Một phần của tài liệu XÂY DỰNG THƯ VIỆN PHẦN MỀM HỖ TRỢ HỆ THỐNG THÔNG TIN ĐNA LÝ GIS 3D DỰA TRÊN CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG BẰNG NGÔN NGỮ C++ (Trang 60 - 62)

II.9.1. Phân tích giải thuật:

Để khảo xác tính khả kiến của hai điểm A và B trên lưới địa hình theo một đường cho

trước. Giải pháp chung nhất là kiểm tra xem đường nối giữa A và B với các tam giác trong Tin. Tương tự như phép toán giao Tin với mặt phẳng, ta chỉ xét các tam giác lân cận đường nối A và B để tăng tính hiệu quả của thuật tốn. Nghĩa là chỉ duyệt các tam giác trong một hình hộp, đNy hình hộp này theo đoạn thẳng AB cho đến khi hết đoạn thẳng AB. Như vậy, chúng ta không cần duyệt hết mọi tam giác trên TIN.

Ta khảo xát tính khả kiến từ A đến B theo đường thẳng như hình vẽ sau :

Hình 3-14. A nhìn thấy B theo đường thẳng.

II.9.2. Giải thuật A nhìn B theo đường thẳng:

Input: A(x,y,z), B(x,y,z) là hai điểm trong khơng gian 3D.

Return: true - nếu A nhìn thấy B theo đường thẳng. false – khơng nhìn thấy. Giải thuật:

Gán điểm hiện hành C = A.

Chọn các tam giác trong hình hộp tâm A, cạnh D = Min(2*MaxEdgeLen, CB).

Đối với mỗi tam giác T chọn được, tìm giao điểm AB với T. Nếu có giao điểm thì

return False.

Nếu cạnh D = CB thì return True.

Tính delta = 2*(R/cos(alpha)), với alpha là góc AB với mặt phẳng ngang. Gán C += delta*n. Với n là vector đơn vị của vector AB. Quay lại (2).

Giải thuật khả kiến từ A đến B dùng cây chỉ mục:

Với sự hỗ trợ của cây chỉ mục chúng ta sẽ truy vấn những tam giác thông qua khối hộp MBR nhỏ nhất chứa tam giác đó. Nếu khoảng cách từ tâm của khối hộp MBR đến

Luận văn tốt nghiệp GVHH: Nguyễn Hữu Hải.

đoạn thẳng AB nhỏ hơn ½ chiều dài cạnh khối hộp thì chọn khối hộp MBR đó, cũng là

chọn tam giác bên trong khối hộp MBR.

Hình 3-15. Minimum Bounding Region.

Khoảng cách từ một điểm đến đoạn thẳng AB được định nghĩa như sau:

Nếu M nằm bên trong đoạn thẳng AB thì kết quả là chiều dài đoạn vng góc hạ từ M

xuống đoạn thẳng AB.

Nếu M nằm ngồi đoạn thẳng AB thì kết quả là khoảng cách ngắn nhất giữa MA và

MB.

Hình 3-16. Khoảng cách từ điểm đến đoạn.

II.9.3. Giải thuật A nhìn B theo đường bất kỳ:

Để kiểm tra A nhìn B theo một đường C bất kỳ có các phương trình tham số cho trước.

Ta cũng thiết lập một hình hộp tương tự như giải thuật trên và rời rạc đường cong C thành các đoạn nhỏ. Sau đó kiểm tra giao điểm của các đoạn này với các tam giác trong hình hộp. Tâm điểm tiếp theo của hình hộp sẽ được tính theo giao điểm của C với hình hộp (dựa theo tham số t của phương trình đường).

Hình 3-17. Tính khả kiến theo theo nhiều đoạn thẳng.

Một phần của tài liệu XÂY DỰNG THƯ VIỆN PHẦN MỀM HỖ TRỢ HỆ THỐNG THÔNG TIN ĐNA LÝ GIS 3D DỰA TRÊN CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG BẰNG NGÔN NGỮ C++ (Trang 60 - 62)

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

(117 trang)