이번 글에서는 정삼각형 안에 내접하는 원의 넓이를 구하는 방법을 알아보겠습니다. 삼각형의 한 변의 길이를 'a'라고 가정합니다.
수학적 접근 방법
먼저 정삼각형의 넓이 공식은 다음과 같습니다.
정삼각형의 넓이 = (√3 / 4) × a²
다음으로 삼각형의 반둘레(semi-perimeter)는 세 변의 합을 2로 나눈 값입니다.
반둘레(s) = 3a / 2
삼각형에 내접하는 원(내접원)의 반지름은 삼각형의 넓이를 반둘레로 나눈 값과 같다는 성질을 이용하면 다음과 같이 계산할 수 있습니다.
r = 넓이 / 반둘레 = [(√3 / 4) × a²] ÷ (3a / 2) = a / (2√3)
따라서 내접하는 원의 넓이는 다음 공식으로 구할 수 있습니다.
원의 넓이 = π × r² = π × (a / (2√3))²
C++ 예제 코드
위 공식을 C++ 코드로 구현한 예제입니다. 변의 길이가 음수로 입력되면 유효하지 않은 값으로 판단하여 -1을 반환하도록 처리했습니다.
#include <iostream>
#include <cmath>
using namespace std;
float area(float a) {
if (a < 0) // 음수 값은 유효하지 않음
return -1;
float area = 3.1415 * (a/(2*sqrt(3))) * (a/(2*sqrt(3)));
return area;
}
int main() {
float a = 4;
cout << "Area is: " << area(a);
}
실행 결과
Area is: 4.18867
코드 설명
변의 길이 a가 4일 경우, 반지름은 4 / (2√3) ≈ 1.1547이 되고, 여기에 π(3.1415)를 곱해 제곱하면 약 4.18867이라는 결과가 나옵니다. 이처럼 내접원의 넓이는 변의 길이만 알면 간단한 수식 하나로 계산할 수 있으며, 시간 복잡도는 O(1)로 상수 시간에 처리됩니다.