Почему теорема синусов работает криво

Тема в разделе "Помощь студентам", создана пользователем Malevaje, .

ГЕОДЕЗИСТ.RU
  1. Malevaje

    Malevaje Форумчанин

    #1
    Здравствуйте.

    Решаю задачу передачи координат на дно шахты через ствол.
    Дано:
    a = 4.2883
    b = 9.4156
    c = 5.1269
    α = 0° 17' 28"

    Соответственно по теореме синусов нахожу угол
    γ = arcsin((c * sin(α)) / a)
    γ = 0° 20' 52.9442"

    А вот при определении угла β появляются проблемы:

    β = arcsin((b * sinα) / a)
    β = 0° 38' 21.0774"
    В чём проблема?
    Если сделать операцию 180° - 0° 38' 21.0774", то получаем нужный угол (179° 21' 38.9227"), но не как не пойму по чему так.

    P.S.
    Исходные данные взяты из пособия: Клюшин_Е.Б.,_Михелев_Д.Ш.,_Барков_Д.П._Практикум_по_прикладной_геодезии_1993" и они кривые. То есть в этом треугольнике условие (a+c) < b = True. Но даже если в вести нормальные данные проблема остаётся.
     
  2. zvezdochiot

    zvezdochiot Форумчанин

    #2
    Потому что есть ещё теорема косинуса. И вот по знаку косинуса ты четверть и определяешь (1-я или 2-я). Но ты ж его не посчитал.
     
  3. shiz

    shiz Форумчанин

    #3
    Так то в школе про всякое разное объясняют... там периодичность функций, там еще и графики интересные рисовали для периодических функций...
    1.png
    --- Сообщения объединены, , Оригинальное время сообщения: ---
    - тогда во всех учебниках эта задача решается криво, начиная с прошлого века...
     
  4. Malevaje

    Malevaje Форумчанин

    #4
    Вот это сейчас не очень понятно было, причём здесь периодичность? Как мне это поможет? А главное, как это объяснить программе, какой из двух углов правильный а какой из 180 вычесть нужно.

    Не исключено, особенно если с прошлого века учебники не писали, а переписывали. Ну а в "кривости" исходных данных легко можно убедиться самостоятельно. Проверив условие (a+c) < b = True, ну то есть в нашем треугольнике сумма двух сторон меньше третьей стороны.

    А вот, есть над чем подумать.

    Мысли в слух (раскрыть)
    То есть в коде программы я могу задать условие: если у косинуса знак "-" то 180 - arcsin((b * sinα) / a) иначе arcsin((b * sinα) / a). Спасибо
     
  5. Геннадий_Ив

    Геннадий_Ив Форумчанин

    #5
    По трем сторонам решать треугольник - это т. косинусов, но только после проверки корректности. По вашим сторонам треугольника не получается. Если вы действительно решаете геодезическую задачу - то правильность измерений должна быть доказана еще там, возле ствола шахты (принцип "все в геодезии делается дважды").
    Но что-то мне подсказывает, что это учебная задача - вы просто метод расчета осваиваете. Тогда поправьте цифирку на сантиметр-другой, и вперед!
     
  6. shiz

    shiz Форумчанин

    #6
    Malevaje, картинку смотрели? видели что для разных значений углов получаются одинаковые значения синусов и одинаковые значения арксинусов?

    а что в этом случае будет, например, при значениях угла 70 и 110 градусов? синусы одинаковые, акрсинусы тоже, а углы разные и минуса нет.
    Так то в учебниках старых на эту задачу 3 разных решения есть в зависимости от величин углов соединительного треугольника. не задумывались, а почему так? а насколько это актуально сейчас?
     
  7. Геннадий_Ив

    Геннадий_Ив Форумчанин

    #7
    Теорема не виновата, ни синусов, ни же косинусов.
     
    vsv нравится это.
  8. zvezdochiot

    zvezdochiot Форумчанин

    #8
    Да бить за такое по голове надо, а не "подумать"! Ни синус, ни косинус в нашем деле не являются самодостаточными. Только пара синус-косинус. Нашёл синус, автоматом должен найти косинус, не задавая неуместных вопросов. Не делаешь этого на автомате - что то с тобой не так.
     
    Malevaje нравится это.
  9. Malevaje

    Malevaje Форумчанин

    #9
    Полностью с Вами согласен!
    Но конкретно в данном примере теорема косинусов нам не как не поможет, ибо арккосинус приходится вычислять из значения превышающего единицу, что как известно не возможно (numpy по крайне мере орёт благим матом), а по теореме синусов получается что сумма углов сильно меньше 180, что невязкой объяснить затруднительно. Отсюда и возник вопрос.
    Так как, когда я дал нормальные данные, проблема решения по теореме синусов сохранилась, захотел разобраться с этим подробно.
    Конечно учебная. Просто я параллельно осваиваю написание кода и нужно учитывать все возможно возникающее варианты.
     
  10. shiz

    shiz Форумчанин

    #10
    - если мне не изменяет память, то numpy - это матрицы и линейная алгебра, а тригонометрия в модуле math...
    Странно... когда я писал код для этой задачи у меня всё считалось...
     
  11. Геннадий_Ив

    Геннадий_Ив Форумчанин

    #11
    Итак, если задача реальная - методика измерений должна надежно отбраковывать грубые ошибки.
    Ну а здесь, в придуманной задаче, ошибка вот в чем:
    тригонометрия вообще и теоремы синусов и косинусов в частности — о треугольниках. В вашем случае треугольника просто нет.

    Значит, следует до того, как решать по формулам, проверять базовые соотношения: получается ли треугольник по имеющимся размерам?
     
  12. shiz

    shiz Форумчанин

    #12
    извините за не скромный вопрос: Вы геодезист или маркшейдер?
    просто Ваш вопрос напомнил мне почему сильно так штормило геодезистов в мосметрострое в начале 2000...
     
    zvezdochiot нравится это.
  13. Malevaje

    Malevaje Форумчанин

    #13
    Точно, матрицы и линейную алгебру удобно использовать например при коррелатном способе уравнивания, а набор базовых математических функций есть в любом математическом пакете, подгружать же в проект оба модуля смысла нет.
    хм, у меня даже в ручную по тем данным что в стартовом топике посчитать арккосинус не получилось.
    Да, именно по этому у меня там появилось выражение (a + c) < b = (True; False). Но уже после того как я успел помучиться.
    --- Сообщения объединены, , Оригинальное время сообщения: ---
    студент :)
     
  14. zvezdochiot

    zvezdochiot Форумчанин

    #14
    Нафига козе боян? Тебе знак нужен, а не значение какого то там угла!
     
  15. Геннадий_Ив

    Геннадий_Ив Форумчанин

    #15
    И еще раз о том, что треугольники по трем сторонам следует решать т косинусов.
    Во времена, когда я работал карьеристом( середина 80-х г), и у меня вылазили несуразности с теоремой синусов. Думаю, была виновата точность измерения линий (углы измерялись с погрешностью 1 / 6000, а линии 1 / 200 ). И когда измеренная сторона оказывалась длинней суммы двух других, я исправлял стороны примерно так

    5,1 + 0,1
    4,2 + 0,1
    9,5 – 0,1

    В таких треугольниках надо измерять все углы. Тогда возникает угловое условие фигур (180° в треугольнике), и форма сети определяется достаточно жестко.
     
  16. shiz

    shiz Форумчанин

    #16
    это да, но numpy еще и со своими типами данных работает, про которые питон и не подозревает - это раз. коррелатный способ и программирование - без диалогового режима ничего не выйдет. только параметрический способ на автомате может решать. проверил еще в 90 на практике, когда сам в студентах ходил, а там и опыт поколений доказал.
    а вообще: разбираешь задачу по косточкам - потом код. если кодируешь древние методики для ручного счета, которые подразумевали не нулевой уровень подготовки - диалоговый режим и полное повторение методики.
    --- Сообщения объединены, , Оригинальное время сообщения: ---
    - это не Вам вопрос :-)
    --- Сообщения объединены, ---
    - геодезист :-)
     
  17. zvezdochiot

    zvezdochiot Форумчанин

    #17
    В большинстве задач арксинусы и аркосинусы - пустая трата времени. Нужны как раз значения косинусов и синусов, а не углов.
    --- Сообщения объединены, , Оригинальное время сообщения: ---
    Надо говорить: "Моё мнение, ...". Твоим оно и останется.
     
  18. Геннадий_Ив

    Геннадий_Ив Форумчанин

    #18
    Стало быть, вопрос ко мне.
    Я геодезист.
    В горных выработках работал только в карьерах.
    А какая разница? Суть профессии - координаты точек, а сопутствующие условия - только особенности.
     
  19. shiz

    shiz Форумчанин

    #19
    вот в особенностях и есть разница: в геодезии висячка две станции максимум, а маркшейдера на "соплях" сбойки ведут... соединительный треугольник из этой темы: у геодезистов треугольник 30 -150 углы, а у маркшейдеров чем меньше примычный угол - тем лучше, а если еще и соотношение сторон выдержишь - огонь... про сдвижение поверхности и охрану объектов от этого процесса - вообще промолчу.
    я же не говорю что монолит на высотках и монолит на строительстве тоннеля открытым способом на кривой - одно и тоже ::biggrin24.gif::
     
    кит и В.Шуфотинский нравится это.
  20. Геннадий_Ив

    Геннадий_Ив Форумчанин

    #20
    Форум - редкий случай, где не надо. Свобода , никто не давит, под чужую дудку плясать ни к чему.
     
  1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление
  1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление