Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.10.2013, 00:06   #1
Pug_nosed_2005@mai
Новичок
Джуниор
 
Регистрация: 29.10.2013
Сообщений: 1
Печаль Определение азимута

Короче есть некий треугольник... на местности... одна его сторона из вершины С к А лежит например на азимут 350 другая из вершины С к В на азимут 155... известны длинны этих сторон(тоже произвольные)... естественно не сложно посчитать угол между ними... потом можно узнать длину третей стороны из вершины А к В... блин но вот как прописать формулу чтобы рассчитывал азимут из вершины А к В не как не могу придумать(Саму логическую формулировку)... блин вроде сделаю все нормально другие данные ввожу все поехало наперекосяк!!!!!!!!!
Pug_nosed_2005@mai вне форума Ответить с цитированием
Старый 29.10.2013, 00:28   #2
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Все по Эвклиду.Идея ,думаю, понятна вам.
Код:
Type Point
X As Single
Y As Single
End Type

Public Function GetAngle(p1 As Point, p2 As Point) As Single
    Pi = 4 * Math.Atn(1)
    Dim deltay As Single
    Dim deltax As Single, angle As Single
    deltax = p2.X - p1.X
    deltay = p2.Y - p1.Y    '
    If deltax = 0 Then
        deltax = 0.000001
    End If
    angle = Math.Atn(deltay / Math.Abs(deltax))
    If deltax < 0# Then
        angle = Pi - angle
    End If

    If angle > 2 * Pi Then
        angle = angle - 2 * Pi
    End If

    If angle < -2 * Pi Then
        angle = angle + 2 * Pi
    End If

    If angle < 0 Then
        angle = 2 * Pi + angle
    End If
    GetAngle = 180 * angle / Pi

End Function
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 29.10.2013, 09:20   #3
AndVGri
Форумчанин
 
Регистрация: 10.02.2012
Сообщений: 109
По умолчанию

Мы же всё же в Excel
Код:
Public Function GetAngleAB(ByVal angleCB As Double, ByVal lengthCB As Double, _
                           ByVal angleCA As Double, lengthCA As Double) As Double
    Dim pWFuncs As WorksheetFunction
    Set pWFuncs = Application.WorksheetFunction
    angleCB = pWFuncs.Radians(angleCB)
    angleCA = pWFuncs.Radians(angleCA)
    GetAngleAB = pWFuncs.Atan2(lengthCB * Math.Cos(angleCB) - lengthCA * Math.Cos(angleCA), _
                               lengthCB * Math.Sin(angleCB) - lengthCA * Math.Sin(angleCA))
End Function
AndVGri вне форума Ответить с цитированием
Старый 29.10.2013, 23:09   #4
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

см. вложение
Вложения
Тип файла: rar Азимут.rar (7.5 Кб, 34 просмотров)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 30.10.2013, 00:02   #5
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,504
По умолчанию

А Земля у вас плоская или круглая?
Если треугольник небольшой, порядка километров, можно считать плоской. А если большой, то надо использовать формулы сферической геометрии, там сумма углов больше 180.
Например, вершина A(0с.ш, 0в.д), B(0с.ш, 90в.д), C (90 с.ш. - полюс). Все углы - прямые.

Поэтому из точки D(50 с.ш., 10 в.д.) в точку E (50 с.ш. 100 в.д.) кратчайшее направление (азимут) - не ровно на восток.

Последний раз редактировалось type_Oleg; 30.10.2013 в 00:06.
type_Oleg вне форума Ответить с цитированием
Старый 30.10.2013, 00:23   #6
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

type_Oleg, решили взорвать мозг автору темы?

Земля у нас плоская, и стоит на трех китах.
а три перечисленные Вами точки (даже если допустить, что Земля - это шар) однозначно определяют некую плоскость в пространстве, на которой отчетливо виднеется описанный Вами равнобедренный треугольник, такой же плоский, как содержащая его плоскость.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 30.10.2013, 00:26   #7
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

А когда это у нас лучи стали гнуться?
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 30.10.2013, 00:45   #8
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,504
По умолчанию

Так ведь сказано было ... на местности. А местность - кривая.

Ну если просто так , оговорка, имеется ввиду не поверхность планеты, а плоскость, считайте в декартовых координатах.
type_Oleg вне форума Ответить с цитированием
Старый 30.10.2013, 00:46   #9
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

обсуждение выходит немного за пределы тематики форума, но...
Сережа, еще как гнутся... днем согнем, ночью разогнем!
ученные доказывают возможность феномена искривления пространства и времени.
допустим с пространством сложно представить, а время пару дней назад на 1 час погнули, и не такие уже и ученные, а так... с Кабмина...

а замечание type_Oleg, вообще-то дельное, может автор не границы садоводческого товарищества в натуру выносит, а рассчитавает траектории баллистических ракет - ему это в самый раз.
известно, что в военное время обычный косинус может до четырех доходить.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
определение IP _Mila_ Свободное общение 10 06.11.2011 18:11
C# определение ф-и Lucky777 Помощь студентам 4 10.06.2011 01:00
Определение по IP ProgDel Работа с сетью в Delphi 3 08.11.2010 22:14
Определение IP IvanLex Общие вопросы по Java, Java SE, Kotlin 1 19.02.2008 09:12
Определение IP RKS Работа с сетью в Delphi 3 13.12.2007 15:43