![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
Гость_test_testovich_* |
![]()
Сообщение
#1
|
Гости ![]() |
Привет.
Дали задание - найти угол в прямоугольном треугольнике, если известны катет и гипотенуза. По формуле sin(a)=AC/AB Раскрывающийся текст (_http://www.fxyz.ru/%D1%84%D0%BE%D1%80%D0%BC%D1%83%D0%BB%D1%8B_%D0%BF%D0%BE_%D0%B3%D0%B5%D0%BE%D0%BC%D0%B5%D1%82%D1%80%D0%B8%D0%B8/%D0%BF%D0%BB%D0%BE%D1%81%D0%BA%D0%B8%D0%B5_%D1%84%D0%B8%D0%B3%D1%83%D1%80%D1%8B/%D1%82%D1%80%D0%B5%D1%83%D0%B3%D0%BE%D0%BB%D1%8C%D0%BD%D0%B8%D0%BA/%D1%80%D0%B5%D1%88%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BF%D1%80%D1%8F%D0%BC%D0%BE%D1%83%D0%B3%D0%BE%D0%BB%D1%8C%D0%BD%D0%BE%D0%B3%D0%BE_%D1%82%D1%80%D0%B5%D1%83%D0%B3%D0%BE%D0%BB%D1%8C%D0%BD%D0%B8%D0%BA%D0%B0/ ) Получаем дробное значение и ищем его по таблице. Допустим, что гипотенуза 5, катеты 4 и 3. sin(A) = 3/5 = 0.6, а это примерно 60 градусов, хотя, может и ошибаюсь. Но вопрос не в этом. Вопрос в другом. Python'овские тригонометрические ф-ции требуют указания значения в радианах. Например, нам надо найти sin(90) градусов. Заведомо мы знаем, что ответом будет 1 A(рад) = 90 * (pi/180) = 1.57 - это равно pi/2, 0.999999682932 ~1 Цитата print math.sin(90*(3.14/180)) Но это не те значения. Как мне получить значения угла именно из таблицы Брадиса, естественно, не вбивая эту таблицу в ассоциативный массив и т.п. Благодарю за ответ. |
|
|
ahalaj |
![]()
Сообщение
#2
|
![]() Студент ![]() Группа: Участник Сообщений: 47 Регистрация: 14.6.2014 Пользователь №: 4166 Спасибо сказали: 13 раз(а) Репутация: ![]() ![]() ![]() |
A(рад) = 90 * (pi/180) = 1.57 - это равно pi/2, 0.999999682932 ~1 Цитата print math.sin(90*(3.14/180)) Но это не те значения. Как мне получить значения угла именно из таблицы Брадиса, естественно, не вбивая эту таблицу в ассоциативный массив и т.п.
Принцип понятен? Таблицы синусов и косинусов строятся на лету, вбивать вручную это не надо. А после по индексу угла в градусах берёшь значение. Для углов больших 90 градусов выполняешь стандартное преобразование по четвертям из школьного курса тригонометрии. Вот и всё. |
|
|
Гость_test_testovich_* |
![]()
Сообщение
#3
|
Гости ![]() |
Несколько не то. Или вы вопрос не так поняли.
Попробую переделать задачу. В прямоугольном треугольнике известны 3 стороны (+ разумеется угол 90 градусов). Найти угол А, если противолежащая сторона равна 3, а гипотенуза равна 5. Из описания синуса, как отношение противолежащей стороны к гипотенузе получаем 3/5 = 0.6 Вопрос sin(0.6) - это сколько градусов и как это вычислить программно, т.к. данные доступны только в таблице Брадиса. Создание словарей не предлагать. |
|
|
ahalaj |
![]()
Сообщение
#4
|
![]() Студент ![]() Группа: Участник Сообщений: 47 Регистрация: 14.6.2014 Пользователь №: 4166 Спасибо сказали: 13 раз(а) Репутация: ![]() ![]() ![]() |
Несколько не то. Или вы вопрос не так поняли. Попробую переделать задачу. В прямоугольном треугольнике известны 3 стороны (+ разумеется угол 90 градусов). Найти угол А, если противолежащая сторона равна 3, а гипотенуза равна 5. Из описания синуса, как отношение противолежащей стороны к гипотенузе получаем 3/5 = 0.6 Вопрос sin(0.6) - это сколько градусов и как это вычислить программно, т.к. данные доступны только в таблице Брадиса. Создание словарей не предлагать.
Как видим результат всегда одинаков (в градусах) как при использовании питоновской функции degrees из модуля math, так и при ручном переводе радианов в градусы. Или я опять не так понял? Или уважаемый test_testovich не знает про сущестование функции арксинус, арккосинус и подобных, обратных синусу, косинусу, etc.? ![]() И да, это без таблиц, значение просто передаётся в функцию math.asin() |
|
|
![]() ![]() ![]() |
![]() |
Текстовая версия | Сейчас: 16.2.2025, 15:56 |