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

C언어로 구하는 육각형 안 정사각형에 내접하는 최대 륄로 삼각형의 넓이

륄로 삼각형(Reuleaux triangle)은 세 개의 원판이 서로 교차하며 만들어지는 도형으로, 각 원의 중심은 나머지 두 원의 경계 위에 위치합니다. 이 도형의 경계는 일정 폭 곡선(curve of constant width)으로, 원 자체를 제외하면 가장 단순하고 널리 알려진 곡선입니다.

여기서 '일정 폭'이란 임의의 두 평행 지지선 사이의 거리가 선의 방향과 무관하게 항상 동일하다는 의미입니다. 즉, 어떤 방향에서 측정하더라도 도형의 폭이 항상 같습니다.

C언어로 구하는 육각형 안 정사각형에 내접하는 최대 륄로 삼각형의 넓이

륄로 삼각형의 경계는 정삼각형을 기반으로 한 일정 폭 곡선입니다. 한 변 위의 모든 점은 반대쪽 꼭짓점으로부터 등거리에 있습니다.

C언어로 구하는 육각형 안 정사각형에 내접하는 최대 륄로 삼각형의 넓이

륄로 삼각형의 작도와 넓이 공식

륄로 삼각형은 정삼각형의 각 꼭짓점을 중심으로 하고, 한 변의 길이를 반지름으로 하는 세 개의 원호를 그려 만들 수 있습니다.

정삼각형을 기반으로 하고 한 변의 길이가 h일 때, 륄로 삼각형의 넓이는 다음과 같습니다.

A = (π × h²) / 2 − 2 × (정삼각형의 넓이)
  = (π − √3) × h² / 2
  = 0.70477 × h²

문제: 육각형 속 정사각형에 내접하는 최대 륄로 삼각형

이번 문제는 한 변의 길이가 a인 정육각형 안에 정사각형을 넣고, 다시 그 정사각형 안에 들어갈 수 있는 가장 큰 륄로 삼각형의 넓이를 구하는 것입니다.

C언어로 구하는 육각형 안 정사각형에 내접하는 최대 륄로 삼각형의 넓이 C언어로 구하는 육각형 안 정사각형에 내접하는 최대 륄로 삼각형의 넓이

1단계: 육각형에 내접하는 정사각형의 한 변 구하기

정육각형의 모든 변의 길이는 서로 같습니다. 내접하는 정사각형의 한 변의 길이를 d라고 하면, 다음 관계가 성립합니다.

d / a = 3 − √3 ≈ 1.268
d = 1.268 × a
C언어로 구하는 육각형 안 정사각형에 내접하는 최대 륄로 삼각형의 넓이

2단계: 정사각형 안의 최대 륄로 삼각형 넓이 구하기

륄로 삼각형의 넓이는 0.70477 × b²이며, 여기서 b는 륄로 삼각형을 지지하는 두 평행선 사이의 거리, 즉 도형의 폭입니다.

정사각형 안에 들어갈 수 있는 최대 륄로 삼각형의 폭은 정사각형의 한 변과 같으므로 b = d = 1.268a입니다. 따라서 륄로 삼각형의 넓이는 다음과 같습니다.

A = 0.70477 × d² = 0.70477 × (1.268 × a)²

예시

입력: 5
출력: 28.3287

풀이 설명

육각형에 내접하는 정사각형의 한 변은 x = 1.268a입니다.

륄로 삼각형에서는 h = x = 1.268a가 됩니다.

따라서 륄로 삼각형의 넓이는 A = 0.70477 × h² = 0.70477 × (1.268a)²로 계산할 수 있습니다.

C 코드 구현

#include <stdio.h>
#include <math.h>
int main() {
    float a = 7;
    float h = 1.268 * a;
    float area = 0.70477 * pow(h, 2);
    printf("The area is : %f", area);
    return 0;
}

실행 결과

The area is : 55.524166

위 코드에서 육각형의 한 변 a = 7일 때, 내접하는 정사각형의 한 변은 h = 1.268 × 7 = 8.876이 되고, 최종적으로 륄로 삼각형의 넓이는 약 55.524166으로 출력됩니다.