Obliczenie azymutu i długości ze współrzędnych 2 punktów
Wzory:
Metoda tradycyjna:
DX = X2-1; DY = Y2-1;
t = tan(Az) = DY/DX; Az = arctan(t) - należy uwzględnić przypadek DX=0 oraz znaki przyrostów DX, DY ;
Dx = y2-y1; Dy=y2-y1; czw = arctan(|Dx/Dy|);
I ćw: Az = czw, II ćw: Az = 200g - czw; III ćw: Az = 200g + czw; IV ćw: Az = 400g - czw
Algorytm i wzory przyjete w programie:
pi = 4.0 * Math.atan(1.0); rg = 200.0 / pi; rs = 180.0 / pi; // PI, Ro[grad], Ro[st]
dx=x2-x1; dy=y2-y1; // przyrosty współrzędnych
if (dx==0) { if (dy>0) a = pi / 2; else a = 1.5 * pi; } // azymut w radianach dla odcinka na osiach współrzędnych
else // if (dx != 0)
{ a = Math.atan(dy / dx); // azymut w radianach
if (dx < 0) a = a + pi; else if (dy < 0) a = a + 2 * pi;
}
azg = a * rg; // azymut w gradach
azs = azg * 0.9; // azymur w stopniach
azr = azg/rg; // azymut w radianach
Obliczenia:
Wprowadź współrzędne 2 pumktów P1(x1, y1) i P2(x2, y2) odcinka 1 - 2:
P1(x1, y1):
x1 =
y1 =
P1(x1, y1)
: x2 =
y2 =
.
Darmowy hosting
zapewnia PRV.PL