Найти географические координаты точки на окружности - VB

Узнай цену своей работы

Формулировка задачи:

Здравствуйте. У меня есть географические координаты центра окружности (x,y) и географические координаты точки на этой окружности (x0,y0). Мне необходимо найти координаты точки которая расположена на окружности и отстоит от (x0,y0) на какой-то угол (в градусах).

Решение задачи: «Найти географические координаты точки на окружности»

textual
Листинг программы
  1.     ' перевожу координты центра, радиус окружности в радианы
  2.    lat = (ActiveWorkbook.Sheets(1).Cells(12, 9) * WorksheetFunction.PI) / 180
  3.     lon = (ActiveWorkbook.Sheets(1).Cells(12, 10) * WorksheetFunction.PI) / 180
  4.     rEarth = 6378137  ' meters
  5.    r = ActiveWorkbook.Sheets(1).Cells(20, 2) / rEarth
  6.      a01 = 0
  7.     ' ------------------------------------------
  8.      
  9.      ' пытаюсь создать 100 точек на окружности радиуса r
  10.      For i = 0 To 99
  11.         If a01 < WorksheetFunction.PI + 2 Then    
  12.             a01 = a01 + WorksheetFunction.PI / 100            
  13.         End If
  14.          
  15.           lat0 = WorksheetFunction.ASin(CDbl(Sin(lat) * Cos(r) + Cos(lat) * Sin(r) * Cos(a01)))
  16.  
  17.         dLon = WorksheetFunction.Atan2(CDbl(Sin(a01) * Sin(r) * Cos(lat)), CDbl(Cos(r) - Sin(lat) * Sin(lat)))
  18.  
  19.         lon0 = (CDbl(lon - dLon + WorksheetFunction.PI) Mod (2 * WorksheetFunction.PI)) - WorksheetFunction.PI
  20.        
  21.           ' перевожу полученные координаты из радиан
  22.           lat0 = (lat0 * 180) / WorksheetFunction.PI
  23.         lon0 = (lon0 * 180) / WorksheetFunction.PI
  24.          
  25.           ...
  26.            
  27.     Next i

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4.364 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы