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

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

를로 삼각형(Reuleaux Triangle)이란?

를로 삼각형은 세 개의 원판이 서로 겹쳐져 만들어지는 도형으로, 각 원의 중심은 다른 두 원의 경계 위에 위치합니다. 이 도형의 경계는 등폭 곡선(constant width curve)으로, 원을 제외하면 가장 단순하면서도 널리 알려진 곡선입니다.

여기서 '등폭'이란 임의의 두 평행한 지지선(supporting line) 사이의 거리가 방향에 상관없이 항상 일정하다는 의미입니다. 즉, 모든 방향의 폭(지름)이 동일하기 때문에 어떤 방향으로 측정해도 너비가 같습니다.

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

를로 삼각형의 경계는 정삼각형을 기반으로 하는 등폭 곡선입니다. 한 변 위의 모든 점은 반대쪽 꼭짓점까지의 거리가 동일합니다.

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

를로 삼각형의 넓이 공식

를로 삼각형은 다음과 같은 방법으로 작도할 수 있습니다. 정삼각형을 기준으로 할 때, 한 변의 길이가 h라면 넓이는 아래 공식으로 계산됩니다.

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

원에 내접하는 정사각형 안의 최대 를로 삼각형

이제 원 안에 새겨진(내접하는) 정사각형 내부에 들어갈 수 있는 가장 큰 를로 삼각형의 넓이를 구해 보겠습니다.

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

Fig1. 원에 내접하는 정사각형 안의 최대 를로 삼각형

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

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

이때 평행선 사이의 거리는 정사각형의 한 변의 길이, 즉 a와 같습니다.

따라서 를로 삼각형의 넓이는 A = 0.70477 × a² 입니다.

예시

개념을 더 잘 이해하기 위해 예시를 살펴보겠습니다.

입력: r = 6
출력: 50.7434

풀이 과정

정사각형의 한 변을 a라고 하면,

a√2 = 2r

a = √2r

를로 삼각형에서 h = a = √2r 이므로,

를로 삼각형의 넓이는 A = 0.70477 × h² = 0.70477 × 2 × r² 입니다.

C언어 구현 예제

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

실행 결과

The area is : 50.743439