5. Bố cục luận văn
3.1. Thiết kế dữ liệu
Ở đây ta sẽ thiết kế ra một chương trình tạo dữ liệu với các đối tượng dàn đều trong không gian hai chiều theo phạm vi [0, 10000] trên mỗi trục. Sau đó mỗi đối tượng được gán một VBR, do đó:
Trên mỗi một chiều, mức độ vận tốc bằng không (đối tượng là không thay đổi kích thước không gian khi nó chuyển đông).
Giá trị vận tốc trong khoảng [-50, 50].
Vận tốc thay đổi tối đa trong mỗi lần cập nhật là 5.
File dữ liệu được tạo ra là một file text chứa các bản ghi của đối tượng. Trong file dữ liệu các đối tượng được tạo ra một cách ngẫu nhiên tại mốc thời gian t0 (bao gồm chỉ mục của đối tượng, mbr, vận tốc, thời điểm của đối tượng). Sau đó tại một mốc thời gian t1, t2, t3,… một số ngẫu nhiên các đối tượng được tạo ra với vận tốc thay đổi.
Các bản ghi có thể được mô tả với kiểu cấu trúc, trong đó Oid là các chỉ mục cho đối tượng, mbr là một mảng với 4 phần tử mô tả vị trí và kích cỡ của đối tượng, vbr (velocity bounding rectangle) là một một mảng với 4 phần tử mô tả mô tả các cạnh của mbr và ref là một giá trị cho thời gian mà ở đó đối tượng được chèn hay được cập nhật.
struct MovingObject
{int Oid; // chỉ mục đối tượng
float mbr[4]; //vị trí và kích thước của đối tượng float vbr[4]; //Vận tốc của đối tượng trên mỗi hướng.
float ref; //thời gian tham khảo khi đối tượng được chèn hay cập nhật}; Bảng 3.1 mô tả ví dụ của 5 đối tượng chuyển động tại thời điểm 0. Cột đầu tiên là chỉ mục của đối tượng, bốn cột tiếp theo tương ứng với trục X và Y (vị trí và kích thước của đối tượng), 4 cột tiếp theo tương ứng với tốc độ của đối tượng và cột cuối cùng là thời điểm hiện tại.
Bảng 3.1. Dữ liệu của một số đối tƣợng chuyển động tại thời điểm hiện tại
Oid X1 X2 Y1 Y2 Vx1 Vx2 Vy1 Vy2 time
0 2108.2 2108.3 8522.5 8522.5 -21.5 -21.5 -13.9 -13.9 0 1 2806.7 2806.7 5814.8 5814.8 -49.8 -49.8 6.8 6.8 0 2 9968.1 9968.1 1870.4 1870.4 34.7 34.7 41.5 41.5 0 3 910.5 910.5 7318.2 7318.2 -3.0 -3.0 -39.8 -39.8 0 4 4271.0 4271.0 4824.4 4824.4 44.9 44.9 -26.4 -26.4 0