acos() 함수는 라디안(radian) 단위로 표현된 각도의 역코사인(아크코사인) 값을 반환하는 함수로, C++ STL에 기본으로 내장되어 있습니다. 삼각함수 관련 연산을 수행할 때 매우 유용하게 사용됩니다.
acos() 함수의 문법
acos(var)
문법에서 확인할 수 있듯이, acos() 함수는 var라는 하나의 매개변수를 받습니다. 이 매개변수는 float, double, long double 자료형 중 하나여야 하며, 그 값은 반드시 -1부터 1 사이의 범위를 가져야 합니다.
함수의 반환값은 var의 역코사인 값으로, -π(파이)부터 π까지의 범위를 가집니다. 만약 입력값이 -1 미만이거나 1 초과인 경우 도메인 오류(domain error)가 발생하므로 주의해야 합니다.
acos() 함수 기본 사용 예제
다음 프로그램은 C++에서 acos() 함수를 사용하는 기본적인 방법을 보여줍니다.
예제 코드
#include <iostream>
#include <cmath>
using namespace std;
int main() {
double d = 0.75, ans;
ans = acos(d);
cout << "acos("<< d <<") = " << ans << endl;
return 0;
}실행 결과
acos(0.75) = 0.722734
코드 설명
위 프로그램의 동작 순서는 다음과 같습니다.
먼저 변수 d를 0.75로 초기화합니다. 그다음 acos() 함수를 호출하여 d의 역코사인 값을 구하고, 그 결과를 변수 ans에 저장합니다. 마지막으로 ans의 값을 화면에 출력합니다. 이 과정을 보여주는 핵심 코드는 아래와 같습니다.
double d = 0.75, ans;
ans = acos(d);
cout << "acos("<< d <<") = " << ans << endl;역코사인 값을 각도(degree)로 변환하기
acos() 함수의 결과는 기본적으로 라디안 단위로 반환됩니다. 만약 결과를 우리에게 익숙한 도(degree) 단위로 변환하여 출력하고 싶다면, 다음과 같이 라디안 값에 180/π를 곱하면 됩니다.
예제 코드
#include <iostream>
#include <cmath>
using namespace std;
int main() {
double d = 0.75, ans;
ans = acos(d);
ans = ans*180/3.14159;
cout << "acos("<< d <<") = " << ans << endl;
return 0;
}실행 결과
acos(0.75) = 41.4097
코드 설명
위 프로그램에서는 먼저 acos() 함수를 사용하여 역코사인 값을 구합니다. 그런 다음 구한 라디안 값에 180/3.14159(즉, 180/π)를 곱하여 도(degree) 단위로 변환합니다. 마지막으로 변환된 결과값을 출력합니다. 핵심 로직은 다음 코드 스니펫과 같습니다.
double d = 0.75, ans;
ans = acos(d);
ans = ans*180/3.14159;
cout << "acos("<< d <<") = " << ans << endl;정리
C++ STL의 acos() 함수는 역코사인 계산을 위한 필수적인 수학 함수입니다. 사용 시에는 입력값이 반드시 -1에서 1 사이여야 한다는 점, 그리고 반환값이 라디안 단위라는 점을 기억해 두면 좋습니다. 필요에 따라 180/π를 곱하여 도 단위로 손쉽게 변환할 수 있습니다.