이등변 삼각형은 두 변의 길이가 같은 삼각형입니다. 이번 글에서는 이등변 삼각형의 세 변 정보가 주어졌을 때, C++ 코드를 사용해 높이(고도)와 넓이를 계산하는 방법을 알아보겠습니다.
예를 들어, 삼각형의 세 변이 각각 2, 2, 3이라고 가정해 보겠습니다. 이 경우 높이는 약 1.32, 넓이는 약 1.98이 됩니다.
계산 공식
이등변 삼각형의 높이(h)는 다음 공식으로 구할 수 있습니다.
높이(h) = √(a² − b²/4)
여기서 a는 같은 길이를 가진 두 변 중 하나의 길이, b는 밑변의 길이입니다. 높이를 구한 후에는 일반적인 삼각형 넓이 공식을 적용합니다.
넓이(A) = (1/2) × b × h
C++ 구현 예제
#include<iostream>
#include<cmath>
using namespace std;
float getAltitude(float a, float b) {
return sqrt(pow(a, 2) - (pow(b, 2) / 4));
}
float getArea(float b, float h) {
return (1 * b * h) / 2;
}
int main() {
float a = 2, b = 3;
cout << "Altitude: " << getAltitude(a, b)
<< ", Area: " << getArea(b, getAltitude(a, b));
}실행 결과
Altitude: 1.32288, Area: 1.98431
코드 설명
getAltitude() 함수는 피타고라스 정리를 활용해 높이를 계산합니다. 이등변 삼각형의 꼭짓점에서 밑변에 수선을 내리면 밑변이 정확히 절반으로 나뉘므로, 직각삼각형의 빗변(a)과 한 변(b/2)을 이용해 나머지 변인 높이를 구할 수 있습니다.
getArea() 함수는 구해진 높이와 밑변을 곱한 뒤 2로 나누어 넓이를 반환합니다. main() 함수에서는 두 함수를 호출하여 결과를 출력하며, 높이 계산 결과를 넓이 계산에 재활용하는 점이 효율적입니다.