Trong giao thức DRQC mỗi một nút trong mạng sẽ là gốc của hệ tọa độ ứng với nút đó (Hình 3-5).
Hệ trục tọa độ của một nút như ví dụhình 3-6 luôn luôn cốđịnh. Giao thức DRQC dựa theo hệ trục tọa độ này đểxác định xem các nút hàng xóm cấp 1 và cấp 2 thuộc góc phần tư nào so với nút đó. Do hệ trục tọa độ của một nút là cố định nên có thể dẫn đến việc xác định nút thuộc góc phần tư cùng góc với nút
đích sẽ không hiệu quả. Chính vì thế giải pháp đưa ra sẽ là xoay trục tọa độ tại nút đang tính toán đường đi kế tiếp sao cho thỏa mãn nút đích luôn luôn có
nhiều sự lựa chọn tối ưu nhất.
Hình 3-6. Xoay trục tọa độ của một nút
Trong Hình 3-6 cho thấy, trục tọa độ ban đầu của nút 1 là x1y. Khi nút 1 thực hiện việc tính toán tìm đường đi cho gói tin đến nút D. Nút 1 sẽ thực hiện việc xoay trục tọa độban đầu thành trục tọa độ mới là x’1y’. Khi đó các tiêu chí để tìm kiếm nút tiếp theo trong đường đi của gói tin sẽ được áp dụng theo trục tọa độ mới x’1y’.
3.2.1.1.Tiêu chí để quay trục tọa độđó là:
Các trục tọa độ mới sẽ được quay phụ thuộc vào vị trí địa lý của nút đích.
Nghĩa là các trục tọa độ mới sẽđảm bảo cách đều bằng nhau tới nút đích.Khi đó đường thẳng nối tâm của tọa độ và nút đích sẽ là đường phân giác của góc phần
tư theo trục tọa độ mới tồn tại nút đích. Ví dụ hình 3-7 chúng ta thấy: Khi hạ vuông góc 2 đường thẳng từ nút đích tới hai trục tọa độ 1x’ là DH và 1y’ là DK thì khi đó:
DH = DK
3.2.1.2.Phương pháp quay trục
Biến đổi phương trình (1) ta có:
x(y2-y1) - x1(y2-y1) = y(x2-x1) - y1(x2-x1)
<=> x(y2-y1) -y(x2-x1) - x1(y2-y1) + y1(x2-x1) = 0
<=> (y2-y1)x + (-x2 + x1)y + (-x1(y2 - y1) + y1(x2 - x1)) = 0;
=> a = y2 - y1 b = -x2 + x1
c = (-x1(y2 - y1) + y1(x2 - x1)); (2)
Để thuật toán mới DR-CR xác định được hai trục tọa độ ox’ và oy’ ta chỉ
cần xác định được hai tọa độ của mỗi trục.
Tọa độ thứ nhất là: O (0,0), đây là tọa độ gốc của hệ trục tọa độ cũ và tọa
độ gốc của hệ trục tọa độ mới.
Tọa độ thứ hai là: H(x’1,y’2) nằm trên trục Ox’ và K(x’2 , y’2). Hai tọa độ H và K chúng ta cần tìm là giao của các đường thẳng vuông góc với trục tọa độ và
đường thẳng đi qua tọa độ nút đích KD và HD.
Hình 3-7. Xác định trục tọa độ mới
Giả thiết mới đặt ra cho thuật toán cải tiến là xác định được hai tọa độ ở
trên hai trục tọa độ mới. Để xác định được hai tọa độ trên trục tọa độ ta dựa vào
các hàm lượng giác toán học (Hình 3-8):
- Tính tan (hàm lượng giác tang) của góc XSD: góc nút đích, tan (XSD) = (dy – sy)/(dx – sx ).
- Tính tọa độ mới của hai điểm bất kỳ trên hai trục tọa độ khi biết
tan(XSY’) và giả thiết cho trước tọa độ thuộc trục Sx.
Hình 3-8. Tính góc trục tọa độ mới
Khi đó chúng ta thay các giá trị mới vào phương trình (2) ta sẽđược các giá trị a, b, c lần lượt của các trục ox’ và oy’.