바리뇽의 평행사변형(Varignon's Parallelogram)은 사각형의 각 변의 중점을 연결하여 만들어지는 평행사변형입니다.
예를 들어 사각형 ABCD가 있고, 각 변의 중점을 P, Q, R, S라고 가정해 보겠습니다. 이 중점들을 순서대로 모두 연결하면 항상 하나의 평행사변형 PQRS가 만들어지는데, 이것이 바로 바리뇽의 평행사변형입니다.

이 튜토리얼에서는 사각형의 두 대각선의 길이와 넓이가 주어졌을 때, 바리뇽 평행사변형의 둘레와 넓이를 구하는 방법을 알아보겠습니다. 입력과 출력의 예는 다음과 같습니다.
입력: d1 = 6, d2 = 9, Area = 12 출력: 둘레(Perimeter) = 15 넓이(Area) = 6 입력: d1 = 11, d2 = 13, Area = 32 출력: 둘레(Perimeter) = 24 넓이(Area) = 16
문제 해결 접근 방법
먼저 둘레를 구하는 원리부터 살펴보겠습니다. 삼각형에서 P와 Q는 각각 변 AB와 AC의 중점입니다.
중점 정리(Midpoint Theorem)에 의해 PQ = (1/2) × AC가 성립합니다.
같은 정리를 삼각형 ADC에 적용하면 RS = (1/2) × BD임을 알 수 있습니다.
따라서 PQ = RS = (1/2) × AC이고, PS = QR = (1/2) × BD입니다.
이를 정리하면 평행사변형 PQRS의 둘레는 다음과 같습니다.
PQRS의 둘레 = AC + BD (두 대각선 길이의 합)
또한 EF = GH = (1/2) × AC, EH = FG = (1/2) × BD가 성립합니다.

넓이 구하기
평행사변형 PQRS의 넓이를 구하기 위해서는 도형을 네 개의 삼각형으로 나누어 계산할 수 있습니다. 각 삼각형의 넓이는 다음과 같습니다.
- A1 = (1/4) × 삼각형 BAD의 넓이
- A2 = (1/4) × 삼각형 ABC의 넓이
- A3 = (1/4) × 삼각형 BCD의 넓이
- A4 = (1/4) × 삼각형 ACD의 넓이
이 네 삼각형의 넓이를 모두 더하면,
A1 + A2 + A3 + A4 = (1/4) × (△ACD + △ABC + △BCD + △BAD의 넓이의 합)
= (1/4) × 2 × 사각형 ABCD의 넓이
= (1/2) × 사각형 ABCD의 넓이
즉, A1 + A2 + A3 + A4 = (1/2) × 사각형 ABCD의 넓이이며, 이는 곧 평행사변형 PQRS의 넓이가 원래 사각형 넓이의 절반이라는 것을 의미합니다.
평행사변형 PQRS의 넓이 = (1/2) × 사각형 ABCD의 넓이
정리하면, 주어진 두 대각선의 합이 둘레가 되고, 사각형 넓이의 절반이 평행사변형의 넓이가 됩니다. 이제 이 공식을 C++ 코드에 그대로 적용하기만 하면 됩니다.
C++ 구현 예제
위에서 설명한 접근 방식을 C++로 구현한 코드는 다음과 같습니다.
#include <bits/stdc++.h>
using namespace std;
int main(){
float d1 = 6, d2 = 9, area_ABCD = 12;
float area_PQRS = area_ABCD/2;
float perimeter = d1 + d2;
cout << "Area of parallelogram PQRS = " << area_PQRS << " and perimeter = " << perimeter;
return 0;
}
실행 결과
Area of parallelogram PQRS = 6 and perimeter = 15
결론
이 튜토리얼에서는 바리뇽의 평행사변형이 무엇인지 알아보고, 중점 정리를 활용해 평행사변형의 둘레와 넓이를 유도하는 과정을 단계별로 살펴보았습니다. 또한 이 문제를 해결하는 C++ 프로그램을 함께 구현해 보았습니다. 여기서 소개한 로직은 C, Java, Python 등 다른 프로그래밍 언어로도 손쉽게 응용할 수 있으니, 필요에 맞게 활용해 보시기 바랍니다. 이 튜토리얼이 여러분에게 도움이 되었기를 바랍니다.