본문 바로가기

디지털포렌식(Digital forensic)/숫자

황금 비율(golden rate), 1.6180339887

반응형


신용카드의 가로×세로 비율은?

TV나 모니터의 가로×세로 비율은?

고대 그리스나 로마 건축물의 가로×세로 비율은?

유명 미술작품 다윗의 미소(David's Smile)에 표현된 얼굴의 구성 요소간 가로×세로 비율은?

웹 디자인, 그래픽, 제품디자인에서 가장 많이 적용된 가로×세로 비율은?

음악 리듬에서 가장 심리적 안정감을 느끼는 가로×세로 비율은?

(물론, 신비감이나 마케팅적인 요소가 들어 있을수도 있다.)

 

1.618033

 

황금비율(Golden Ratio)은

수학기호 φ (phi) 또는 Φ (Phi)라는 심볼로 표현되며, 대략 1.6180339887의 값을 갖는다.

두 수 a와 b 사이에서, a를 b로 나눈 값이 a+b를 a로 나눈 값과 같을 때, 이를 황금비율로 표현한다.

 

a / b = (a + b) / a = φ

a^2 + ab = a^2 + b^2
ab = b^2

이 때, b는 a보다 크므로 b를 a로 나눈 후 식을 정리하면

b / a = 1/ a

b = a / φ

 

using System;

namespace GoldenRatioCalculator
{
    class Program
    {
        static void Main(string[] args)
        {
            double phi = (1 + Math.Sqrt(5)) / 2; // 황금비율 계산
            Console.WriteLine($"황금비율: {phi}");

            // A와 B를 설정하고 비율 계산
            double a = 1.0;
            double b = phi * a;
            Console.WriteLine($"A: {a}, B: {b}");

            // 황금비율의 성립을 검증
            bool isGoldenRatio = Math.Abs((a + b) / a - a / b) < 1e-10;
            Console.WriteLine($"황금비율 성립 여부: {isGoldenRatio}");
        }
    }
}

위 코드 Math.sqrt() 함수를 사용해서 제곱근을 계산한다.

수학적으로 golden rate는 φ = (1 + √5) / 2 로 정의기 때문이다.

황금비율의 성립을 검증하기 위한 1e-10은 오차범위를 고려하기 위한 아주 작은 임의의 값을 사용했다.

 

위 코드의 결과는
황금비율: 1.61803398874989
A: 1, B: 1.61803398874989
황금비율 성립 여부: False

 


true가 나오기 위해서는 (a + b) / a와 a / b의 값이 매우 가까워야 한다.

728x90