정십각형(regular decagon)은 열 개의 변과 각이 모두 같은 다각형을 말합니다. 이 글에서는 원의 반지름 r을 이용하여 원 안에 내접하는 정십각형의 넓이를 구하는 방법을 살펴보겠습니다.
수학적 접근 방법
먼저, 원에 내접하는 정십각형의 한 변의 길이는 코사인 법칙을 이용해 다음과 같이 계산할 수 있습니다.
a = r√(2 − 2cos36°)
다음은 정십각형의 넓이를 구하는 공식입니다.
Area = 5 × a² × (√5 + 2√5) / 2
위에서 구한 변의 길이 a = r√(2 − 2cos36°)를 공식에 대입하고 정리하면 최종 공식을 얻을 수 있습니다.
Area = (5r² × (3 − √5) × (√5 + 2√5)) / 4
C 프로그램 구현
이 공식을 C 프로그램에 적용하면 아래와 같습니다. 코드에는 math.h 헤더 파일의 pow()(거듭제곱)와 sqrt()(제곱근) 함수가 사용되었습니다.
예제 코드
#include <stdio.h>
#include <math.h>
int main() {
float r = 8; // 원의 반지름
float area = (5 * pow(r, 2) * (3 - sqrt(5)) * (sqrt(5) + (2 * sqrt(5)))) / 4;
printf("area = %f", area);
return 0;
}
실행 결과
area = 409.968933
반지름이 8인 원에 내접하는 정십각형의 넓이는 약 409.97로 계산됩니다. 이처럼 삼각함수와 기하학 공식을 활용하면 복잡한 도형의 넓이도 간단한 C 코드로 손쉽게 구할 수 있습니다.