В этом разделе мы рассмотрим функции синус, косинус и тангенс, а также разберемся с проекцией. Со знанием этих операций за вашим поясом, вы будете способны понять программные концепции, с которыми столкнетесь в последующих главах (особенно Глава 6, «Реакции на столкновения»).
Синус, косинус и тангенс
Синус, косинус и тангенс известны как тригонометрические функции. Хотя смысл этих функций очень прост, многие имеют трудности с их пониманием. Эта концептуальная проблема возникает потому, что легко вообразить, будто результатом тригонометрических функций является некий тайный или даже мистический процесс. Истина же состоит в том, что эти функции лишь используют различные отношения длин сторон треугольника для получения результата. Взгляните на треугольник на рисунке внизу. Обратите внимание, что мы используем x и y вместо a и b для обозначения длин сторон. Это наиболее часто используемые имена сторон в программировании. Заметьте, что угол на рисунке обозначен как angle.
Все три тригонометрические функции, определенны отношением сторон этого треугольника. Тригонометрическая функция принимает в качестве параметра угол (во Flash он должен быть измерен в радианах) и возвращает значение. Например, синус 45° равен .707. Чтобы проверить это равенство для себя непосредственно во Flash, здесь приводится отрывок кода ActionScript, который вы можете написать:
angle=45;
radians=angle*Math.PI/180;
trace(Math.sin(radians));
Строка 1 приведенного выше блока кода устанавливает значение угла в градусах. Строка 2 переводит градусы в радианы, а строка 3 вычисляет синус и отображает результат в окне вывода.
Таблица 3.1 перечисляет эту «большую тройку» функций, их определения, каким методам объекта Math они соответствуют во Flash, и допустимый диапазон значений, который может быть возвращен этими функциями.
Таблица 3.1
Тригонометрические функции во Flash
Тригонометрическая
функция
Математическое
определение
Метод Flash
(в радианах)
Минимальный
результат
Максимальный
результат
Синус
sin(angle) =y/c
Math