Найти географические координаты точки на окружности - VB
Формулировка задачи:
Здравствуйте.
У меня есть географические координаты центра окружности (x,y) и географические координаты точки на этой окружности (x0,y0). Мне необходимо найти координаты точки которая расположена на окружности и отстоит от (x0,y0) на какой-то угол (в градусах).
Решение задачи: «Найти географические координаты точки на окружности»
textual
Листинг программы
- ' перевожу координты центра, радиус окружности в радианы
- lat = (ActiveWorkbook.Sheets(1).Cells(12, 9) * WorksheetFunction.PI) / 180
- lon = (ActiveWorkbook.Sheets(1).Cells(12, 10) * WorksheetFunction.PI) / 180
- rEarth = 6378137 ' meters
- r = ActiveWorkbook.Sheets(1).Cells(20, 2) / rEarth
- a01 = 0
- ' ------------------------------------------
- ' пытаюсь создать 100 точек на окружности радиуса r
- For i = 0 To 99
- If a01 < WorksheetFunction.PI + 2 Then
- a01 = a01 + WorksheetFunction.PI / 100
- End If
- lat0 = WorksheetFunction.ASin(CDbl(Sin(lat) * Cos(r) + Cos(lat) * Sin(r) * Cos(a01)))
- dLon = WorksheetFunction.Atan2(CDbl(Sin(a01) * Sin(r) * Cos(lat)), CDbl(Cos(r) - Sin(lat) * Sin(lat)))
- lon0 = (CDbl(lon - dLon + WorksheetFunction.PI) Mod (2 * WorksheetFunction.PI)) - WorksheetFunction.PI
- ' перевожу полученные координаты из радиан
- lat0 = (lat0 * 180) / WorksheetFunction.PI
- lon0 = (lon0 * 180) / WorksheetFunction.PI
- ...
- Next i
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д