팔면체(Octahedron)란?
'팔면체(Octahedron)'라는 단어는 그리스어에서 유래했습니다. 'Octa'는 '여덟(8)'을, 'hedron'은 '면(face)'을 의미합니다. 기하학에서 팔면체는 여덟 개의 면으로 이루어진 3차원 정다면체(플라톤 입체)입니다. 다른 입체 도형과 마찬가지로 팔면체 역시 다음과 같은 고유한 성질을 가지고 있습니다.
- 꼭짓점(vertex): 6개
- 모서리(edge): 12개
- 정삼각형 면: 8개
문제 정의
팔면체의 한 변의 길이가 주어졌을 때, 해당 팔면체의 표면적을 구하는 프로그램을 작성해야 합니다. 여기서 표면적이란 주어진 도형의 모든 면이 차지하는 전체 넓이를 의미합니다.
팔면체의 표면적을 계산하는 공식은 다음과 같습니다.
표면적 = 2√3 × a²
여기서 a는 팔면체의 한 변의 길이입니다.
이 공식이 성립하는 이유는 간단합니다. 팔면체는 8개의 정삼각형 면으로 구성되어 있으며, 한 변의 길이가 a인 정삼각형의 넓이는 (√3/4)a²입니다. 따라서 전체 표면적은 8 × (√3/4)a² = 2√3a²가 됩니다.
입력·출력 예시
입력: side = 5
출력: 86.6025
알고리즘
- 팔면체의 표면적을 계산하는 함수를 선언합니다.
- 함수 내부에서 공식 2 × √3 × (변의 길이)² 의 결과값을 반환합니다.
- main() 함수에서 변의 길이를 저장할 변수를 선언하고 초기화합니다.
- 표면적 계산 함수를 호출한 뒤 결과를 출력합니다.
C++ 코드 구현
#include <bits/stdc++.h>
using namespace std;
// 팔면체의 표면적을 계산하는 함수
double surface_area(double side){
return (2*(sqrt(3))*(side*side));
}
int main(){
double side = 5;
cout << "Surface area of octahedron is : " << surface_area(side);
}
실행 결과
Surface area of octahedron is : 86.6025
코드 설명
위 코드의 핵심은 surface_area() 함수입니다. 이 함수는 매개변수로 받은 변의 길이(side)를 이용해 2 × √3 × side²를 계산하여 반환합니다. sqrt() 함수는 <cmath> 헤더에 포함되어 있으며, 이 코드에서는 <bits/stdc++.h>를 통해 함께 포함됩니다. main() 함수에서는 변의 길이를 5로 설정한 뒤 함수를 호출하고, 계산된 표면적 값인 86.6025를 화면에 출력합니다.