에네아곤(enneagon)은 논나곤(nonagon)이라고도 불리는, 변이 아홉 개인 다각형입니다. 정구각형의 면적을 계산할 때는 다음과 같은 공식을 사용합니다.
에네아곤의 면적 = ((a2 × 9) / (4 × tan(20°))) ≈ 6.18 × a2
여기서 a는 한 변의 길이를 의미합니다. 이 공식은 정구각형을 중심에서 아홉 개의 이등변 삼각형으로 나누면 중심각이 360° ÷ 9 = 40°가 되고, 그 절반인 20°를 이용해 탄젠트 값으로 표현한 것입니다. 이를 간단히 정리하면 약 6.18이라는 상수에 한 변 길이의 제곱을 곱하는 형태가 됩니다.
코드 로직
아홉 개의 변을 가진 다각형의 면적은 위 공식을 활용해 계산합니다. 상수 값 6.18은 multiplier라는 이름의 float 변수에 저장하고, 이 값에 구각형 한 변 길이의 제곱을 곱하면 면적을 손쉽게 구할 수 있습니다.
예제 코드
#include <stdio.h>
#include <math.h>
int main(){
int a = 6;
float area;
float multiplier = 6.18;
printf("구각형의 면적을 구하는 프로그램 \n");
printf("구각형의 한 변의 길이는 %d \n", a);
area = (6.18 * a * a);
printf("구각형의 면적은 %f \n", area);
return 0;
}실행 결과
구각형의 면적을 구하는 프로그램 구각형의 한 변의 길이는 6 구각형의 면적은 222.479996
참고 사항
위 예제에서는 한 변의 길이가 6일 때 면적이 약 222.48로 출력됩니다. 결과값이 소수점 아래 여러 자리까지 표시되는 것은 %f 서식 지정자의 기본 동작 때문이며, 필요하다면 %.2f처럼 자릿수를 지정해 깔끔하게 출력할 수 있습니다.