PDA

Просмотр полной версии : Возвращаемые данные Math.atan2();


бакуард
14.05.2015, 16:03
Всем доброго времени суток.

Вопрос может показаться очень простым (глупым), поэтому сразу прошу прощения.

касательно Math.atan2(); вычитал следующее: Вычисляет и возвращает в радианах угол точки y/x, измеренный против часовой стрелки от оси x окружности (где 0,0 соответствует центру круга). Возвращаемое значение лежит в диапазоне от числа «пи» до отрицательного числа «пи».

Углы во флеш измеренные против часовой стрелки принимают отрицательные значения. Если так, каким образом этот метод (Math.atan2();) может выдавать положительные числа, ведь насколько я понял, измерение
угла точки (y/x) измеряется против часовой стрелки и не иначе?

Rzer
14.05.2015, 16:31
Функция Math.atan2 - математическая, возвращает угол по двум катетам в треугольнике. Возвращает значение в радианах. В математике ось ординат идёт наверх. А как во Flash расположены оси - это уже дело самого Flash.

Если представить, что в математике ось Y идёт вниз, то поменяется и формулировка (по часовой или против часовой стрелки).

Также стоит помнить, что угол поворота в математике может быть больше 360 градусов, однако Flash всё преобразует к одному кругу (обороту)

samana
14.05.2015, 18:04
Также стоит помнить, что угол поворота в математике может быть больше 360 градусов, однако Flash всё преобразует к одному кругу (обороту)
Точнее даже к половине круга, от -180 до 180.

бакуард
14.05.2015, 19:55
Еще один вопрос вытекающий из приведенного мною описания этого метода:

Вычисляет и возвращает в радианах угол точки y/x, измеренный против часовой стрелки от оси x окружности (где 0,0 соответствует центру круга). Возвращаемое значение лежит в диапазоне от числа «пи» до отрицательного числа «пи».

Центр круга это я так понял верхний левый угол сцены или им может стать объект?

Zebestov
14.05.2015, 20:49
Нет. Центр круга это любая точка, относительно которой до любой другой точки вычислены смещения y и x.

бакуард
14.05.2015, 21:36
А можно задать центр этого самого круга?

Zebestov
14.05.2015, 22:09
Он в вычислениях не фигурирует. Относись к параметрам (y, x) как к координатам вектора, который определяет направление, угол которого ты желаешь узнать с помощью метода atan2().

бакуард
15.05.2015, 09:58
То есть вектор (y, x) - это свободный вектор?

callme
15.05.2015, 11:06
Да, в функцию передается свободный вектор.

Math.atan2 - самодостаточная функция. Она живет сама по себе. Ты ей передаешь x, y. Она возвращает угол.

Math.atan2 не является методом, который вызывается над каким-либо объектом (спрайтом, клипом, сценой итд).

Zebestov
15.05.2015, 13:35
Добавлю лишь, что вектор все же (x, y).
Это уже в функции atan2() порядок координат меняется.