Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 23.08.2017, 18:49
Аватар для MC-XOBAHCK
Профессор
Отправить личное сообщение для MC-XOBAHCK Посмотреть профиль Найти все сообщения от MC-XOBAHCK
 
Регистрация: 06.08.2017
Сообщений: 473

Тригонометрия в javascript
Здравствуйте!
Подскажите пожалуйста, есть ли в ядре javascript метод конвертации синуса и тангенса в градусы?
При расчёте я применяю методы:
tg = Math.tan(x);
sin = Math.sin(x);

https://learn.javascript.ru/number#...-методы

Как мне их конвертировать в градусы? Есть стандартный метод или нужно вбить таблицу брадиса и уже по ней прогонять через switch ?

Последний раз редактировалось MC-XOBAHCK, 23.08.2017 в 19:07.
Ответить с цитированием
  #2 (permalink)  
Старый 23.08.2017, 19:21
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

MC-XOBAHCK,
a = Math.sin(Math.PI/2)
 r = 180 * Math.asin(a)/Math.PI ;
 alert(r);
Ответить с цитированием
  #3 (permalink)  
Старый 23.08.2017, 21:09
Аватар для MC-XOBAHCK
Профессор
Отправить личное сообщение для MC-XOBAHCK Посмотреть профиль Найти все сообщения от MC-XOBAHCK
 
Регистрация: 06.08.2017
Сообщений: 473

рони, если я правильно понял, то это окружность. А может я просто не понял как мне использовать этот код.
У меня условие простое - прямоугольный треугольник:

Мне нужно в результате узнать угол A в градусах.
Беру формулу: тангенс tg(A) = a / b
Простой скрипт для расчёта:
var a, b, c, tg, sin, deg;
a = 5;
b = 10;
tg = Math.tan(a / b);  // тангенс угла a
deg = ???????         // значение угла в градусах

//Этот же угол через синус
sin = Math.sin(a / c);
degSin = ????

Дальше не знаю, есть ли метод конвертировать результат в градусы. В изучении JS я пока ещё не далеко ушёл и опыта в решении подобной задачи у меня нет.
Решение которое пришло в голову в соответствии с моими знаниями - вбить таблицу брадиса от 1 до 90 градусов и результат прогонять через switch по таблице.
Получается большая портянка, поэтому решил спросить на форуме.
Ответить с цитированием
  #4 (permalink)  
Старый 23.08.2017, 21:39
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

MC-XOBAHCK,
a = 5;
b = 10;
deg  = 180 / Math.PI * Math.atan2(a, b);
alert(deg);
Ответить с цитированием
  #5 (permalink)  
Старый 23.08.2017, 22:13
Аватар для MC-XOBAHCK
Профессор
Отправить личное сообщение для MC-XOBAHCK Посмотреть профиль Найти все сообщения от MC-XOBAHCK
 
Регистрация: 06.08.2017
Сообщений: 473

СПАСИБО!
Не пойму где Вы эти решения берёте. Я прежде чем спросить поиском пользовался и гуглом. У мазилы нашёл вывод в радианах, по другим сайтам - целые функции странной конструкции. У вас же всё в идеале - ничего лишнего.
Ответить с цитированием
  #6 (permalink)  
Старый 23.08.2017, 22:23
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

MC-XOBAHCK,

https://javascript.ru/forum/jquery/6...tml#post404719
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Книга: JavaScript. Сильные стороны Magneto Учебные материалы 16 21.04.2013 15:28
Интерпретатор Java на JS kobezzza Оффтопик 24 11.10.2012 18:32
Последние книги по JavaScript! monolithed Учебные материалы 7 26.10.2010 19:40
Выдвет ошибку JavaScript Ромио Opera, Safari и др. 4 21.10.2010 20:34
Тригонометрия и Javascript neurostep Общие вопросы Javascript 4 03.11.2009 16:30