망델브로 집합




 

  • 이 시뮬레이션은 핀치줌, 마우스 스크롤을 지원합니다.
  • 크롬 브라우저 사용을 권장합니다.(처리 속도 문제)

허수

제곱해서 음수(-)가 되는 수를 허수(imaginary number)라고 부릅니다. 허수는 실제로 존재하지 않는 이미지라는 뜻에서 알파벳 ‘i’로 표시합니다.

\[ i^{2} = -1 \]

실수(real number)는 제곱하면 무조건 양수(+)가 되기 때문에 허수는 실수와 다른 완전히 새로운 수 체계입니다.
허수는 실제세계에 존재하는 수는 아니지만, 논리적으로도 어긋남이 없고 컴퓨터를 이용해서도 계산이 가능하기 때문에 수(number)의 한 체계로 사용됩니다.
허수 앞에 실수를 붙여서 허수의 배율을 나타낼 수 있습니다. 즉 i, 2i, 3i, 1.5i와 같이 나타냅니다. 하지만 허수의 크기를 비교할 수는 없습니다. 즉 ‘2i’가 ‘i’보다 큰 것이 아닙니다. 이것은 허수가 양수도 음수도 아니기 때문입니다.

\[ (bi)^{2} = b^{2}\,i^{2} = -b^{2} \]

복소수

실수와 순허수를 섞어서 a + bi와 같이 나타낸 수를 복소수라고 합니다.
복소수 a + bi에서 b=0이면 실수 부분인 a만 남습니다.
복소수 a + bi에서 a=0이면 실수 부분이 사라지고 순허수인 bi만 남습니다.

복소수의 표현

복소수는 평면에 나타낼 수 있습니다. 즉, x축은 실수를 나타내는 축으로 하고, x축과 수직인 y축은 허수를 나타냅니다.
그러면 순수한 실수는 가로축에, 순허수는 세로축에 대응되고, 실수와 허수가 섞인 복소수는 축이 아닌 평면위의 한 점에 대응됩니다.

Complex number

망델브로 집합

망델브로 방정식에 대해 알아보겠습니다. 망델브로 방정식은 변수가 Z와 C, 두 개뿐인 아주 간단한 방정식입니다.

\[ Z_{n+1} = {Z_n}^{2} + C \]

즉, 복소수 Z를 제곱한 다음, 거기에 C를 더해서 새로운 Z를 만듭니다. 새롭게 만들어진 Z를 다시 제곱한 다음 거기에 다시 C를 더해서 다시 새로운 Z를 만듭니다. 이렇게 무한히 반복합니다.

망델브로는 어떤 C값에서는 이 방정식에서 나오는 Zn의 값이 계속 증가하지만 또 다른 어떤 C값에서는 Zn의 값이 아주 작은 두 허수 사이를 왕복한다는 것을 알아냈고, 컴퓨터를 이용하여 Zn의 값이 무한히 발산하지 않는 각각의 C값을 화면 위에 점으로 표현했습니다. 그 결과 사각형, 삼각형, 원 같은 순수한 기하학적 도형과는 거리가 먼 형태가 나왔습니다. 이것을 망델브로 집합이라고 합니다.
망델브로는 그림을 계속 확대해 보았지만 세부적인 형태가 끝없이 계속되는 처음의 모양과 똑같은 구조가 계속 나왔습니다. 이것은 영원히 확대해도 같은 모양과 구조가 계속 나옵니다.

Mandelbrot Set

망델브로 집합 그리는 방법

우선, 컴퓨터 화면의 한 픽셀에 복소수 좌표(x, y)를 설정하고 그 값을 C(=x, yi)라고 합니다. 보통 x값의 범위는 -3 ~ +3, y값의 초기 범위는 -2 ~ +2로 정합니다.
이정도 범위로 정하면 만델브로 전체 모습을 멀리서 조망할 수 있습니다.

Mandelbrot Set

그 다음, Zn이 발산하지 않는 값들을 화면 위에 검은 점으로 표현하면 그 결과가 만델브로 집합이 됩니다. 보통은 2~4사이의 값보다 커지면 발산하는 것으로 하고 점화식을 멈춥니다.

Mandelbrot Set

점화식을 반복할수록(즉, n값을 크게 할수록) 정밀한 그림이 얻어집니다.
하지만 컴퓨터 연산능력의 한계로 무한히 계산할 수는 없으므로 적당한 수준에서 멈추게 됩니다. 많이 확대되어 들어간 곳의 모습을 보기 위해서는 n값이 적절하게 커야 합니다.

발산이 결정된 순간의 n값에 따라 화면에 적절한 색을 입히면 예술적인 그림이 나옵니다. 현재 망델브로 집합은 줄리아 집합과 더불어 컴퓨터의 연산능력을 활용한 그래픽에서 주된 소재가 됩니다.

Mandelbrot Set