이번 글에서는 정육각형에 내접하는 가장 큰 삼각형의 넓이를 구하는 방법을 알아보겠습니다. 정육각형의 한 변의 길이를 'a', 내접하는 삼각형의 한 변의 길이를 'b'라고 하겠습니다.
정육각형의 마주 보는 세 꼭짓점을 이으면 가장 큰 정삼각형이 만들어집니다. 육각형의 각 변은 이 삼각형의 변을 두 부분으로 나누며, 그 사이에는 직각삼각형 두 개가 형성됩니다.
수식 유도 과정
피타고라스 정리를 적용하면 다음과 같은 관계식을 얻을 수 있습니다.
(b/2)² + (a/2)² = a²
이 식을 정리하면 삼각형의 한 변의 길이는 다음과 같습니다.
b = √3 × a
정삼각형의 넓이 공식(√3/4)×변²에 대입하면, 내접하는 가장 큰 삼각형의 넓이는 다음과 같이 계산됩니다.
넓이 = (3 × √3 × a²) / 4
C++ 구현 예제
위 공식을 C++ 코드로 구현하면 아래와 같습니다. 입력값이 음수일 경우 유효하지 않은 값으로 처리하여 -1을 반환합니다.
#include <iostream>
#include <cmath>
using namespace std;
float area(float a) {
if (a < 0) // 값이 음수이면 유효하지 않음
return -1;
float area = (3 * sqrt(3) * pow(a, 2)) / 4;
return area;
}
int main() {
float a = 6;
cout << "Area : " << area(a);
}실행 결과
Area : 46.7654
한 변의 길이가 6인 정육각형에 내접하는 가장 큰 삼각형의 넓이는 약 46.7654입니다. 이처럼 피타고라스 정리를 활용해 삼각형의 변의 길이만 유도하면 간단한 공식 하나로 넓이를 손쉽게 계산할 수 있습니다.