Sự méo mó hình học

Một phần của tài liệu NGHIÊN cứu các kỹ THUẬT HIỂN THỊ mô HÌNH địa HÌNH BA CHIỀU (Trang 34 - 39)

Với lưới tam giác được phủ texture, sự méo mó hình học trong không gian màn hình khác với sự méo mó màu sắc. Chúng ta giả sử các màu sắc cho các điểm trên bề mặt được thể hiện chính xác như màu sắc trong hình texture. Các lỗi hình ảnh còn lại có thể được thể hiện đơn thuần như là sự méo mó hình học: khoảng cách giữa nơi mà

KHOA CNTT –

ĐH KHTN

- 34 -

mỗi điểm bề mặt nên đặt trên màn hình và nơi mà lưới tam giác đặt điểm đó. Thông qua toàn bộảnh chúng ta tính toán độ chênh lệch cực đại theo các điểm đó. Đây là khái niệm lỗi cơ bản của ROAM.

Đặt s(v) là vị trí chính xác cho điểm v trên màn hình và sT(v) là vị trí xấp xỉ từ lưới tam giác T. Chúng ta định nghĩa độ chênh lệch hình học theo điểm (pointwise geometric distortion)vdist(v) = ||s(v) – sT(v)||2. Với toàn bộ ảnh, chúng ta định nghĩa độ chênh lệch cực đại là distmax = maxvVdist(v) trong đó V là tập hợp các điểm v có vị trí trong không gian thế giới w(v) nằm trong khung nhìn (view frustum).

Trong thực tế, biên trên (upper bound) được tính bằng độ chênh lệch cực đại. Với mỗi tam giác T trong lưới tam giác, một biên trên cục bộ (local upper bound) theo độ chênh lệch được xác định bằng cách chiếu nêm của T lên màn hình, được mô tả trong Hình 4.5. Biên được định nghĩa là chiều dài cực đại của các đoạn độ dày sau khi chiếu với tất cả v T. Các biên cục bộ này là đơn điệu, và sẽ được sử dụng để tạo thành các giá trị ưu tiên trong hàng đợi. Nếu một nêm mở rộng phía sau mặt phẳng cắt ở gần, thì độ ưu tiên của tam giác được đặt là giá trị cực đại và việc tính toán biên chênh lệch được bỏ qua.

KHOA CNTT –

ĐH KHTN

- 35 -

Hình 4-5: Biên chênh lệch bởi việc chiếu nêm lên màn hình.

Bởi tính chất riêng biệt của phép chiếu phối cảnh, độ dày nêm đã chiếu cực đại không phải luôn luôn xảy ra ở một trong các đỉnh tam giác. Điều này dẫn đến việc tính toán biên trên sau. Đặt (p, q, r) là tọa độ của điểm w(v) trong không gian camera mà không có chiếu phối cảnh, và không mất đi tính tổng quát, giả sử phép chiếu phối cảnh có dạng s = (p/r, q/r). Sự chênh lệch không gian màn hình ở vT được giới hạn bởi việc chiếu đoạn độ dày ở v. Đặt (a, b, c) là vectơ không gian camera tương ứng với vectơ độ dày trong không gian thế giới (0, 0, eT). Độ chênh lệch ởđược giới hạn bởi:

(2) Có thểđược viết lại:

(3) Ta thấy giá trị cực tiểu của r2 – c2 và giá trị cực đại của (ar-cp)2 + (br-cp)2 xảy ra ở các đỉnh góc của T (mặc dù tổng quát không có cùng góc). Do đó biên trên theo

KHOA CNTT –

ĐH KHTN

- 36 -

4.3.3 Hiệu chỉnh Line-of-site (LOS)

Đến đây, giá trị độ ưu tiên của các phần tử trong hàng đợi được tính toán từ khoảng chênh lệch trên màn hình đối với tam giác T. Giá trị ưu tiên này có thể được biến đổi để bảo đảm rằng các LOS đã chọn có bị che khuất hay không. Một phương pháp đơn giản để thực hiện điều này là chúng ta thay đổi giá trị độưu tiên cho các tam giác có nêm giao với LOS. Bằng cách thiết lập các giá trị ưu tiên bằng một giá trị cực đại mà chúng ta qui định trước, thì các phép phân chia sẽđược ưu tiên thực hiện hơn đủ để đảm bảo rằng các tam giác có thểđược nhìn thấy một cách chính xác dọc theo đường LOS. Phương pháp này có khuynh hướng gia tăng các phép phân chia hơn mức cần thiết, mặc dù sự vượt mức này thực tế thường là nhỏ so với tổng số toàn bộ các tam giác.

Hình 4-6: Bên trái là trước khi hiệu chỉnh LOS, bên phải sau khi thực hiện.

4.3.4 Các khái niệm khác

Sau đây là một vài sự biến đổi giá trị độ ưu tiên mà ta có thể áp dụng cho ROAM.

KHOA CNTT –

ĐH KHTN

- 37 -

• Giảm độ chi tiết cho mặt khuất: giá trị độ ưu tiên có thể được đặt bằng giá trị cực tiểu cho các tam giác mà các tam giác trong nhánh tam giác này đều là mặt khuất.

• Sự chênh lệch theo phương pháp tuyến: đối với quan điểm được quyết định bằng các véctơđược nội suy từ các đỉnh, giá trịđộưu tiên nên được đặt cho các tam giác có sự chênh lệch pháp tuyến lớn.

• Sự chênh lệch tọa độ texture: đối với các ánh xạ từ bề mặt sang tọa độ texture, giá trịđộưu tiên nên được thêm vào tương ứng với độ lớn của sự chênh lệch vị trí trong không gian màn hình kết hợp với việc xấp xỉ tọa độ texture.

• Các cạnh Silhouette: chúng ta có thể nhấn mạnh những tam giác có đường biên pháp tuyến chuyển từ mặt khuất sang mặt nhìn thấy được.

• View frustum: các niêm tam giác nằm bên ngoài sáu mặt phẳng cắt có thểđược đặt bằng giá trịđộưu tiên cực tiểu.

• Sự mờ không khí: giá trị độ ưu tiên có thể giảm đi nếu sương mù làm giảm tầm nhìn.

• Bố trí đối tượng: để bố trí chính xác các đối tượng trong địa hình, giá trị ưu tiên của các tam giác dưới mỗi đối tượng có thể tăng dần theo như chúng ta qui định.

4.4 Ci tiến quá trình hin th

Chúng ta mô tả các cải tiến để thuật toán ROAM có thể thực hiện ở tốc độ cao đối với các lưới tam giác có hàng ngàn tam giác.

4.4.1 View-frustum culling

View frustum được định nghĩa là phần không gian được giới hạn bởi sáu mặt phẳng. Mỗi tam giác trong cây nhị phân (toàn bộ lưới tam giác) được đặt một cờ IN

KHOA CNTT –

ĐH KHTN

- 38 -

cho mỗi sáu nữa không gian (halfspace), và một nhãn tổng hợp OUT, ALL-IN hay DONT-KNOWN, được định nghĩa như sau: IN được đặt khi nêm tam giác hoàn toàn nằm bên trong nữa không gian, OUT được đặt khi nêm tam giác hoàn toàn nằm bên ngoài ít nhất một halfspace, ALL-IN được đặt nếu tất cả cờ IN được đặt, và DONT- KNOWN được đặt nếu không phải OUT hay ALL-IN.

Từ một frame này chuyển sang một frame khác, chúng ta phải cập nhật lại cờ và nhãn cho các tam giác, việc này được xử lý bằng cách duyệt đệ qui cây nhị phân tam giác. Nếu tam giác T có nhãn OUT hay ALL-IN ở frame trước, và các nhãn này đúng với frame hiện tại, thì cây con của tam giác T không cần phải cập nhật lại và quá trình đệ qui dừng lại. Mặt khác, T kế thừa các cờ IN từ tam giác cha và kiểm tra lại nêm tam giác của nó với các halfspace không đánh dấu IN, đặt cờ IN mới cho thích hợp. Nếu nêm tam giác hoàn toàn ở ngoài bất kì halfspace nào, T và tất cả tam giác con được đặt là OUT. Nếu tất cả cờ IN được đặt, T và tất cả tam giác con được đặt ALL-IN. Mặt khác Tđược đặt là DONT-KNOWN và tiếp tục quá trình đệ qui cho các tam giác con.

4.4.2 T-stripping

Tốc độ hiển thị có thể tăng lên nếu chúng ta tổ chức các tam giác thành các

strips, nhưng để tối ưu thì lại là một vấn đề khó. Chúng ta chỉ giả sử rằng các strip

không tổng quát (không có “hoán chuyển các đỉnh với nhau”). Chúng ta sử dụng phương pháp cải tiến đơn giản chỉ có được chiều dài trung bình của strip từ 4 – 5 tam giác. Khi các tam giác bị phân chia, kết hợp hay thay đổi trạng thái view-culling, thì thực hiện liên kết strip. Việc xóa một tam giác ra khỏi strip sẽ dẫn đến strip này sẽ bị xóa đi, hoặc bị ngắn lại nếu tam giác đó ở cuối strip, hay bị phân làm hai.

Một phần của tài liệu NGHIÊN cứu các kỹ THUẬT HIỂN THỊ mô HÌNH địa HÌNH BA CHIỀU (Trang 34 - 39)

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

(58 trang)