Un pic de geometrie pentru rezolvarea problemei de a găsi azimutul, codul utilizat poate fi utilizat în alte extensii.
datorită lui Alexei Tachenkov pentru ajutor cu geometria
Azimutul - preluat dintr-un punct în altul - este unghiul de înclinare al liniei drepte obținute prin conectarea a două puncte date (A și B), de la linia dreaptă trasată la nord de punctul unu, unghiul este considerat în sensul acelor de ceasornic.
Distanța dintre două puncte:
Plecând de la teorema cosinus și teorema lui Pitagora:
BC 2 = AB 2 + AC 2 - 2AB * AC * cos (beta)
AB 2 = AC 2 + BC 2 (deoarece triunghiul este dreptunghiular)
Există 4 opțiuni posibile în funcție de locația relativă a punctelor A și B, în acest exemplu definim azimutul de la punctul A la punctul B, dX = X1 - X2, dY = Y1 - Y2:
1. Punctul B este mai mare și în dreapta punctului A, dX <0, dY <0 (рис.1).
Azimutul (alfa) = 90-beta
2. Punctul B este situat în partea de jos și în dreapta punctului A, dX <0, dY> 0 (Figura 2)
Azimutul (alfa) = 90 + beta
3. Punctul B este inferior și la stânga punctului A, dX> 0, dY> 0 (Figura 3)
Azimutul (alfa) = 270-beta
4. Punctul B este mai mare și la stânga punctului A, dX> 0, dY <0 (рис. 4)
Azimutul (alfa) = 270 + beta
Următorul cod corespunde calculelor de mai sus în limbajul Avenue (pt2 - punctul A, pt1 - punctul B):
Calculul unghiului dintre două linii drepte (trei puncte)
Din teorema cosinus: