Phõn hoạch khụng gian đối tượng

Một phần của tài liệu nghiên cứu sử dụng cấu trúc DCEL làm cơ sở để khai thác ứng dụng dữ liệu bản đồ số địa chính việt nam (Trang 61)

Khi tổ chức một CSDL, người ta thường sắp xếp chỳng theo một cỏch nào đú để thuận tiện cho việc tỡm kiếm dữ liệu khi cần thiết. Việc này cũng tương tự việc tổ chức sắp xếp cỏc từ trong một cuốn từ điển theo thứ tự ABC để thuận tiện cho việc tra cứu. Một vớ dụ khỏc là việc sắp xếp cỏc cuốn sỏch trong thư viện theo thứ tự của tờn cỏc tỏc giả hoặc sắp xếp theo chủ đề để người thủ thư cú thể dễ dàng tỡm thấy cuốn sỏch theo yờu cầu của người đọc. Việc sắp xếp dữ liệu theo thứ tự như vậy đũi hỏi một số phớ tổn về thời gian và nguồn lực ban đầu, tuy nhiờn việc tỡm kiếm chỳng sẽ được thực hiện nhanh chúng hơn nhiều. Đối với cỏc loại dữ liệu khỏc nhau sẽ tương ứng với cỏch sắp xếp phự hợp khỏc nhau. Phõn hoạch khụng gian là thuật ngữ để chỉ việc sắp xếp cỏc đối tượng đồ họa theo đặc điểm vị trớ của chỳng trong khụng gian

với mục đớch tương tự. Thụng thường, việc tỡm kiếm cỏc đối tượng đồ họa được tỡm kiếm theo một vựng phẳng nào đú. Trong cỏc ứng dụng thực tế, vựng tỡm kiếm được giới hạn bởi một hỡnh chữ nhật là trường hợp thường gặp nhất[11].

Để thuận tiện cho việc phõn hoạch, tạo một mảng Quad(), trong đú mỗi phần tử của mảng này là một cấu trỳc cú cỏc thuộc tớnh như sau

- RECT - hỡnh chữ nhật của Quad

- Id() - mảng cỏc chỉ số cỏc phần tử đồ họa thuộc Quad

Hỡnh chữ nhật ban đầu để khởi tạo việc phõn chia cỏc đối tượng đồ họa của bản vẽ phải chứa tất cả cỏc phần tử. Cú thể lấy hỡnh chữ nhật Extent (Hỡnh chữ nhật bao khớt tất cả cỏc đối tượng cú trong bản vẽ) để sử dụng cho mục đớch này và là Quad khởi điểm ("Quad mẹ") trong mảng, gọi là Quad0.

Xuất phỏt từ Quad0, chia hỡnh chữ nhật RECT thành 4 hỡnh chữ nhật con, sẽ thu được 4 "Quad con" tương ứng.

Lần lượt xột từng phần tử đồ họa, kiểm tra xem phần tử đú nằm trong hỡnh chữ nhật của cỏc Quad con vừa tạo khụng, nếu cú chuyển chỉ số của phần tử này trong Quad mẹ sang mảng chỉ số phần tử của Quad con. Cỏc phần tử đồ họa cũn lại trong Quad mẹ là cỏc phần tử cú giao với cỏc đường phõn chia giữa cỏc Quad con. Trong trường hợp cỏc phần tử đồ họa chỉ là cỏc điểm, trong Quad mẹ sẽ khụng cũn phần tử nào.

Quỏ trỡnh phõn hoạch tiếp tục được thực hiện đệ quy và điều kiện để dừng quỏ trỡnh đệ quy là Nmin - số phần tử nhỏ nhất cú trong Quad. Một điều kiện khỏc cú thể sử dụng làm tiờu chuẩn để dừng quỏ trỡnh phõn hoạch là

Ntg_max - số tầng lớn nhất của cõy tứ phõn hoặc Nquad_max - số Quad lớn nhất.

Trong một phần mềm đồ họa, phõn hoạch khụng gian cú thể được sử dụng cho nhiều trường hợp khỏc nhau như khi thực hiện thao tỏc thu phúng, trượt bản vẽ, trong phạm vi cửa sổ màn hỡnh chỉ cú một số đối tượng được

hiển thị. Để tăng tốc độ, cần cú biện phỏp loại bỏ việc ỏnh xạ cỏc đối tượng nằm ngoài cửa sổ màn hỡnh. Một trong những biện phỏp hiệu quả là phõn hoạch cỏc đối tượng trong mặt chiếu ảo dưới dạng cõy tứ phõn. Khi hiển thị, chỉ cần chỳ ý đến cỏc phần tử thuộc cỏc vựng Quad cú giao với cửa sổ màn hỡnh để vẽ.

Cũng như màn hỡnh, việc xuất cỏc đối tượng ra cỏc thiết bị ngoại vi khỏc như mỏy in, mỏy vẽ, cú thể tăng tốc độ thực hiện bằng cỏc biện phỏp tương tự.

Trong nhiều trường hợp, cần phải thực hiện việc chọn, tỡm kiếm cỏc đối tượng theo một chỉ tiờu chỉ vị trớ nào đú. Khi vựng chọn là một hỡnh chữ nhật, chỉ xột những đối tượng trong những Quad cú giao với hỡnh chữ nhật này cũng theo cỏch tương tự.

Một phần của tài liệu nghiên cứu sử dụng cấu trúc DCEL làm cơ sở để khai thác ứng dụng dữ liệu bản đồ số địa chính việt nam (Trang 61)