math.sin(), cos(), tan(), asin(), acos(), atan(), atan2() în Python

Funcțiile trigonometrice și inversele lor, cu unghiuri în radiani.

Sintaxă
math.sin(x), math.cos(x), math.tan(x)
math.asin(x), math.acos(x), math.atan(x)
math.atan2(y, x)

Ce face math.sin(), cos(), tan(), asin(), acos(), atan(), atan2()

sin, cos și tan primesc unghiul în radiani, nu în grade. Transformă gradele cu math.radians(). Inversele asin, acos, atan returnează unghiul în radiani; asin și acos acceptă doar valori între -1 și 1.

atan2(y, x) dă unghiul punctului (x, y) față de axa orizontală, între -π și π, ținând cont de cadran. Este alegerea corectă pentru direcții și unghiuri între puncte, în loc de atan(y / x).

Parametri

Parametru Descriere
x Unghiul în radiani (sau valoarea, la funcțiile inverse).
y, x Pentru atan2: coordonatele punctului.

Ce returnează

Un float.

Exemple

Exemplul 1: Unghiuri în grade

import math
for grade in [0, 30, 45, 90]:
    r = math.radians(grade)
    print(grade, round(math.sin(r), 4), round(math.cos(r), 4))
print(round(math.tan(math.radians(45)), 10))
print(math.degrees(math.asin(0.5)), math.degrees(math.acos(0)), math.degrees(math.atan(1)))

Rezultat

0 0.0 1.0
30 0.5 0.866
45 0.7071 0.7071
90 1.0 0.0
1.0
29.999999999999996 90.0 45.0

Exemplul 2: Direcția spre un punct cu atan2

import math
for x, y in [(1, 1), (-1, 1), (-1, -1), (0, -2)]:
    print((x, y), round(math.degrees(math.atan2(y, x)), 1))

Rezultat

(1, 1) 45.0
(-1, 1) 135.0
(-1, -1) -135.0
(0, -2) -90.0

Greșeli frecvente

  • Dai unghiul în grade: math.sin(30) nu este 0.5. Scrie math.sin(math.radians(30)).
  • Te aștepți ca math.cos(math.radians(90)) să fie exact 0. Rezultatul este 6.12e-17, din cauza preciziei; rotunjește la afișare.

Comenzi înrudite