Python 삼각 함수란?
Python은 표준 라이브러리인 math 모듈을 통해 다양한 삼각 계산 함수를 제공합니다. 이러한 함수들은 과학 계산, 데이터 분석, 그래픽 처리, 게임 개발 등 수학적 연산이 필요한 거의 모든 분야에서 폭넓게 활용됩니다.
삼각 함수를 사용할 때 가장 주의해야 할 점은 대부분의 함수가 각도를 라디안(radian) 단위로 입력받고 반환한다는 것입니다. 일상적으로 사용하는 도(degree) 단위와의 변환이 필요하다면 degrees()와 radians() 함수를 함께 활용하면 됩니다.
Python이 제공하는 주요 삼각 함수 목록
| 번호 | 함수 및 설명 |
|---|---|
| 1 | acos(x) x의 아크코사인(arc cosine) 값을 라디안 단위로 반환합니다. |
| 2 | asin(x) x의 아크사인(arc sine) 값을 라디안 단위로 반환합니다. |
| 3 | atan(x) x의 아크탄젠트(arc tangent) 값을 라디안 단위로 반환합니다. |
| 4 | atan2(y, x) atan(y / x) 값을 라디안 단위로 반환합니다. 두 인수를 받기 때문에 사분면 정보를 유지할 수 있어 좌표 변환에 유용합니다. |
| 5 | cos(x) x 라디안에 대한 코사인(cosine) 값을 반환합니다. |
| 6 | hypot(x, y) 유클리드 노름(Euclidean norm), 즉 sqrt(x*x + y*y) 값을 반환합니다. 직각삼각형의 빗변 길이를 구할 때 자주 사용됩니다. |
| 7 | sin(x) x 라디안에 대한 사인(sine) 값을 반환합니다. |
| 8 | tan(x) x 라디안에 대한 탄젠트(tangent) 값을 반환합니다. |
| 9 | degrees(x) 라디안 단위의 각도 x를 도(degree) 단위로 변환합니다. |
| 10 | radians(x) 도(degree) 단위의 각도 x를 라디안 단위로 변환합니다. |
삼각 함수 사용 예제
다음은 math 모듈의 삼각 함수를 실제로 사용하는 간단한 예제입니다.
import math
# 30도를 라디안으로 변환한 후 사인 값 계산
angle = math.radians(30)
print(math.sin(angle)) # 약 0.5
# 코사인과 탄젠트 계산
print(math.cos(angle)) # 약 0.866
print(math.tan(angle)) # 약 0.577
# 역삼각 함수 사용 (결과는 라디안)
result = math.acos(0.5)
print(result) # 약 1.0472 (라디안)
print(math.degrees(result)) # 60.0 (도 단위로 변환)
# 빗변 길이 계산 (유클리드 노름)
print(math.hypot(3, 4)) # 5.0
라디안과 도(Degree) 변환 팁
삼각 함수에 잘못된 단위의 각도를 전달하면 전혀 다른 결과가 나오므로 항상 단위를 확인해야 합니다. 예를 들어 math.sin(30)은 30도가 아니라 30라디안의 사인 값을 계산하기 때문에 의도와 다른 결과가 나옵니다. 도 단위의 각도를 사용하려면 반드시 math.radians()로 먼저 변환하는 습관을 들이는 것이 좋습니다.