Computer >> 컴퓨터 >  >> 프로그래밍 >> C 프로그래밍

정사각형 안에 내접하는 가장 큰 르로 삼각형의 넓이 구하기

이번 글에서는 정사각형 안에 내접하는 가장 큰 르로(Reuleaux) 삼각형의 넓이를 구하는 방법을 알아보겠습니다. 정사각형의 한 변의 길이를 'a', 르로 삼각형의 높이를 h라고 합시다.

르로 삼각형은 정삼각형의 각 꼭짓점을 중심으로 하는 세 개의 원호로 이루어진 등폭 곡선 도형입니다. 정사각형 안에 가장 크게 배치될 때 르로 삼각형의 높이는 정사각형의 한 변과 같아지므로 a = h가 성립합니다.

르로 삼각형의 넓이 공식

르로 삼각형의 넓이는 다음 공식으로 계산할 수 있습니다.

넓이 = ((π − √3) × a²) / 2

여기서 π는 원주율(약 3.1415), √3는 3의 제곱근(약 1.732)입니다. 정사각형의 변의 길이 a만 알면 바로 넓이를 계산할 수 있습니다.

예제 코드 (C++)

#include <iostream>
#include <cmath>
using namespace std;
float areaReuleaux(float a) { // 정사각형의 변의 길이는 a
    if (a < 0) // a가 음수이면 유효하지 않음
        return -1;
    float area = ((3.1415 - sqrt(3)) * (a) * (a))/2;
    return area;
}
int main() {
    float side = 8;
    cout << "Area of Reuleaux Triangle: " << areaReuleaux(side);
}

실행 결과

Area of Reuleaux Triangle: 45.1024

위 예제에서는 정사각형의 한 변의 길이가 8일 때, 르로 삼각형의 넓이가 약 45.1024로 계산됩니다. 입력값이 음수인 경우에는 유효하지 않은 값으로 판단하여 -1을 반환하도록 처리했습니다.