룰로 삼각형(Reuleaux Triangle)이란?
룰로 삼각형은 세 개의 원판을, 각 원의 중심이 다른 두 원의 경계 위에 오도록 배치한 뒤 겹치는 부분만 남겨 만든 도형입니다. 이 도형의 경계는 일정 폭 곡선(curve of constant width)으로, 원을 제외하면 가장 단순하고 널리 알려진 일정 폭 곡선입니다. '일정 폭'이란 어떤 방향에서 보더라도 두 평행한 지지선 사이의 거리가 항상 동일하다는 의미입니다.

룰로 삼각형의 경계는 정삼각형을 기반으로 하는 일정 폭 곡선입니다. 한 변 위의 모든 점은 반대편 꼭짓점까지의 거리가 서로 같습니다.

룰로 삼각형 작도 방법
정삼각형의 각 꼭짓점을 중심으로 하고 반지름을 한 변의 길이로 설정하여 세 개의 원호를 그린 뒤, 세 원호가 둘러싸는 영역을 취하면 룰로 삼각형을 얻을 수 있습니다.
룰로 삼각형의 넓이 공식
정삼각형을 기반으로 하고 삼각형의 한 변의 길이가 h일 때, 룰로 삼각형의 넓이는 다음과 같이 계산합니다.
A = (π × h²) / 2 − 2 × (정삼각형의 넓이) = (π − √3) × h² / 2 = 0.70477 × h²
타원에 내접하는 정사각형에 내접하는 최대 룰로 삼각형


1단계: 타원에 내접하는 최대 정사각형
정사각형이 타원에 내접한다고 가정해 보겠습니다. 타원의 방정식은 다음과 같습니다.
x²/a² + y²/b² = 1
여기에 x = y를 대입하면,
x²/a² + x²/b² = 1
이 되므로,
x = √(a² + b²)/ab, y = √(a² + b²)/ab
이며, 이 정사각형의 넓이는 A = 4(a² + b²)/a²b² 입니다.

2단계: 정사각형에 내접하는 최대 룰로 삼각형
룰로 삼각형의 넓이는 0.70477 × h² 이며, 여기서 h는 룰로 삼각형을 지지하는 두 평행선 사이의 거리입니다.
이 평행선 사이의 거리는 정사각형의 한 변의 길이와 같으므로, 룰로 삼각형의 넓이는 다음과 같습니다.
A = 0.70477 × a²
간단한 예시를 통해 확인해 보겠습니다.
입력: a = 5, b = 4 출력: 0.0722389
풀이 과정
타원에 내접하는 정사각형의 한 변의 길이는 x = √(a² + b²)/ab 입니다.
따라서 룰로 삼각형에서는 h = x = √(a² + b²)/ab 가 됩니다.
이 값을 넓이 공식에 대입하면,
A = 0.70477 × h² = 0.70477 × ((a² + b²)/a²b²)
C 코드 예제
#include <stdio.h>
#include <math.h>
int main() {
float a = 6, b = 8;
float h = sqrt(((pow(a, 2) + pow(b, 2)) / (pow(a, 2) * pow(b, 2))));
float area = 0.70477 * pow(h, 2);
printf("The area is : %f", area);
return 0;
}실행 결과
The area is : 0.030589