Xác định lề đường là thao thác cần thực hiện mỗi khi có sự thay đổi của danh sách các làn đường. Khi thêm hoặc xóa làn đường, cần phải xác định lại các lề đường để vẽ lại làn đường.
Mục đích chủ yếu của thao tác này là xác định giao của các lề đường với nhau và triệt tiêu đi những đoạn thừa hay đoạn thiếu của các lề đường để được một con đường hoàn chỉnh và liên tục.
51
Hình 3.6.8: Mục đích xác định lề đường.
Thuật toán xác định lề đường:
INPUT: danh sách các làn đường (điểm bắt đầu, điểm kết thúc, độ rộng làn đường). OUTPUT: danh sách các đường biên tương ứng của các làn đường.
Một số điểm quy ước của 1 làn đường:
A B
C D
Hướng đi
pStart pEnd
Hình 3.6.9: Các điểm quy ước của 1 làn đường.
Bước 1: xác định danh sách các đường biên của mỗi làn đường độc lập với nhau.
Hình 3.6.10: Xác định đường biên của các làn đường độc lập với nhau.
Bước 2: Với mỗi làn đường:
52
Xác định giao điểm của đường thẳng với đường thẳng
Nếu < (khoảng cách từ điểm đầu làn đường đến nhỏ hơn khoảng cách từ điểm đầu làn đường
đến ) thì thay tọa độ điểm bằng .
Xác định giao điểm của đường thẳng với đường thẳng
Nếu < ) thì thay tọa độ điểm bằng .
Nếu điểm cuối làn đường pi trùng với điểm cuối của làn đường pj:
Xác định giao điểm của đường thẳng với đường thẳng
Nếu < thì thay tọa độ điểm bằng .
Xác định giao điểm của đường thẳng với đường thẳng
Nếu < ) thì thay tọa độ điểm bằng .
Thực hiện tương tự cho điểm đầu làn đường .
Hình 3.6.11: Kết quả xác định lề đường.