ПредишенСледващото

Малко геометрия, за да се реши проблема с намирането на азимут използва кодът може да се използва и в други разширения.

благодаря Алексей Tachenkovu за помощ с геометрия

Азимут - взети от една точка до друга - е под прав ъгъл отклонение получава чрез свързване на две точки от данни (А и В), като права линия, прекарана от точка север на номер едно се счита за по часовниковата стрелка ъгъл.

Разстоянието между две точки:

Въз основа на теоремата на косинус и теоремата на Питагор:

BC 2 = AB 2 + AC 2 - 2АВ * AC * COS (бета)

AB 2 = AC + BC 2 2 (от правоъгълния триъгълник)

Има 4 възможни варианти в зависимост от относителното положение на точките А и В, в този пример определи азимут от точка А до точка В, Dx = X1 - Х2, Dy = Y1 - Y2:

1. точка В се намира над и вдясно от точката А, DX <0, dY <0 (рис.1).

Азимут (алфа) = 90-бета

2. Точка B се намира по-долу и в дясно от точката A, DX <0, dY> 0 (фиг. 2)

Азимут (алфа) = 90 + бета

3. точка Б е по-долу и от ляво на точка А, DX> 0, Dy> 0 (фиг. 3)

Азимут (алфа) бета = 270

4. точка В се намира по-горе и в ляво от точка А, DX> 0, Dy <0 (рис. 4)

Азимут (алфа) бета = 270 +

Computing отговаря следния код на езика, Авеню по-горе (pt2 - буква А, pt1 - буква Б):

Изчисляване на ъгъла между две прави линии (три точки)

От теоремата за уют:

Подкрепете проекта - споделете линка, благодаря!