Computer >> 컴퓨터 >  >> 프로그래밍 >> C++

C++ STL acos() 함수 완벽 정리: 역코사인 계산 방법과 활용 예제

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/π를 곱하여 도 단위로 손쉽게 변환할 수 있습니다.