Сообщить об ошибке.

Тригонометрические функции модуля math

В этом разделе представлены тригонометрические функции модуля math.

Содержание:


math.sin(x):

Функция math.sin() возвращает синус угла x значение которого задано в радианах.

>>> from math import *
>>> sin(pi/2)
# 1.0
>>> sin(pi/4)
# 0.7071067811865475)

math.cos(x):

Функция math.cos() возвращает косинус угла x значение которого задано в радианах.

>>> from math import *
>>> cos(pi/3)
# 0.5000000000000001
>>> cos(pi)
# -1.0

math.tan(x):

Функция math.tan() возвращает тангенс угла x значение которого задано в радианах.

>>>from math import *
>>> tan(pi/3)
# 1.7320508075688767
>>> tan(pi/4)
# 0.9999999999999999

При определенных значениях углов тангенс должен быть равен либо −∞ либо +∞, скажем tan(3π/2)=+∞, a tan(−π/2)=−∞, но вместо этого мы получаем либо очень большие либо очень маленькие значения типа float:

>>> tan(-pi/2)
# -1.633123935319537e+16
>>> tan(3*pi/2)    #  должно быть Inf, но
# 5443746451065123.0

math.asin(x):

Функция math.asin() возвращает арксинус значения x, т. е. такое значение угла y, выраженного в радианах при котором sin(y) = x.

>>> from math import *
>>> asin(sin(pi/6))
# 0.5235987755982988
>>> pi/6
# 0.5235987755982988

math.acos(x):

Функция math.acos() возвращает арккосинус значения x, т. е. возвращает такое значение угла y, выраженного в радианах, при котором cos(y) = x.

>>> from math import *
>>> acos(cos(pi/6))
0.5235987755982987
>>> pi/6
0.5235987755982988

math.atan(x):

Функция math.atan() возвращает арктангенс значения x, т. е. возвращает такое значение угла y, выраженного в радианах, при котором tan(y) = x.

>>> from math import *
>>> atan(tan(pi/6))
# 0.5235987755982988
>>> pi/6
# 0.5235987755982988

math.atan2(y, x):

Функция math.atan2() возвращает арктангенс значения y/x, т. е. возвращает такое значение угла z, выраженного в радианах, при котором tan(z) = x. Результат находится между -pi и pi.

>>> from math import *
>>> y = 1
>>> x = 2
>>> atan2(y, x)
# 0.4636476090008061
>>> atan(y/x)
# 0.4636476090008061
>>> tan(0.4636476090008061)
# 0.49999999999999994

Данная функция, в отличие от функции math.atan(), способна вычислить правильный квадрант в котором должно находиться значение результата. Это возможно благодаря тому, что функция принимает два аргумента (x, y) координаты точки, которая является концом отрезка начатого в начале координат. Сам по себе, угол между этим отрезком и положительным направлением оси X не несет информации о том где располагается конец этого отрезка, что приводит к одинаковому значению арктангенса, для разных отрезков, но функция math.atan2() позволяет избежать этого, что бывает очень важно в целом ряде задач. Например, atan(1) и atan2(1, 1) оба имеют значение pi/4, но atan2(-1, -1) равно -3 * pi / 4.

math.hypot(*coordinates):

Функция math.hypot() возвращает евклидову норму, sqrt(sum(x**2 for x in coordinates)). Это длина вектора от начала координат до точки, заданной координатами.

Для двумерной точки (x, y) это эквивалентно вычислению гипотенузы прямоугольного треугольника с использованием теоремы Пифагора sqrt(x*x + y*y).

Изменено в Python 3.8: Добавлена ​​поддержка n-мерных точек. Раньше поддерживался только двумерный случай.