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

C++에서 주어진 각도의 호 길이 계산하기

호(Arc)란 무엇인가?

각도(Angle)는 두 개의 반직선이 한 점에서 만나면서 형성됩니다. 이때 평면 위에서 반직선들이 만나는 지점을 꼭짓점(vertex)이라고 합니다.

원의 호(Arc)는 특정 각도에 의해 결정되는 원주(circumference)의 일부분을 의미합니다.

이 문제에서는 원의 각도가 주어지며, 원의 지름을 이용해 해당 호의 길이를 구해야 합니다.

예시

입력 :
각도 = 45°
지름 = 28
출력 :
호의 길이 = 11

호 길이 공식

호의 길이는 다음과 같은 공식으로 계산할 수 있습니다.

호의 길이 = 원주 × (각도 / 360°) = (π × d) × (각도 / 360°)

여기서 d는 원의 지름, π(파이)는 약 3.14159 또는 22/7로 근사하여 사용합니다. 즉, 전체 원주 중에서 주어진 각도가 차지하는 비율만큼을 호의 길이로 구하는 것입니다.

C++ 구현 예제

아래 코드는 주어진 각도와 지름으로 호의 길이를 계산하는 프로그램입니다. 각도가 360도 이상일 경우 유효한 각도를 형성할 수 없으므로 이를 먼저 검사합니다.

#include <iostream>
using namespace std;
int main() {
    double diameter = 28.0;
    double angle = 45.0;
    double pi = 22.0 / 7.0;
    double arc;
    if (angle >= 360) {
        cout << "유효한 각도를 형성할 수 없습니다";
    } else {
        arc = (pi * diameter) * (angle / 360.0);
        cout << "호의 길이 = " << arc;
    }
    return 0;
}

실행 결과

호의 길이 = 11

동작 원리 설명

위 예제에서 π를 22/7 ≈ 3.142857로 근사하고, 지름 28과 각도 45도를 대입하면 다음과 같이 계산됩니다.

원주 = π × 28 = 88
호의 길이 = 88 × (45/360) = 88 × 0.125 = 11

이처럼 호의 길이 공식을 활용하면 임의의 각도와 지름에 대해 원의 부분적인 곡선 길이를 손쉽게 구할 수 있습니다. 실제 응용에서는 정밀도를 높이기 위해 M_PI 상수(iostream 대신 cmath 헤더 활용)를 사용하는 것도 좋은 방법입니다.