본문 바로가기

About Fractal

원형순환프랙탈(Circular infinity)


이 이미지는 프렉탈과 음양심볼을 기반하고 있다. 또한 전자기장(electromagnetic field)이나 챠크라장(chakra field)의 다이아그램과 유사한 형상을 연상하게 된다. 프렉탈에 관심있는 사람이라면 이 이미지를 보는 순간 칸토르셋(Cantor set)이나 시에르핀스키의 삼각형(Sierpinski Triangle)과 유사하다는 것을 알 수 있을 것이다. 수학 전공인의 의견을 들어봐도 이것은 확실히 칸토르셋과 같은 프로세스를 보인다고 한다.

또 한가지 재미있는 사실은 형태가 단순하게 점점 배수로 작아지면서 원의 가운데 수평지점으로 무한대로 펼져진다는 것이다. 영어로 표현하면 'Circular infinity'라고 할 수 있는데, 우리말로 표현하려면 '원형순환프랙탈' 정도가 적당할 듯 싶다.

영국에서 발견된 크롭써클. 무한원형프랙탈이다.


.구현 프로그램 설명

프랙탈은 자연과 우주의 섭리를 내포하고 있다. 우리가 살고있는 세상은  다차원 프랙탈의 구조로 설명할 수 있다. 미스테리 크롭써클에서도 이런 형태(가짜도 많이 있지만)를 많이 볼 수 있어서 흥미롭다. 관련 알고리즘은 찾아볼까 했는데 자료가 별로 없다. 그러나 프로세스 구조는 단순하기에 시간을 들여 구상하여 작성하여 보았다. 사실상 무한대이지만 프로그램은 원의 크기가  0 에 가까와질 때까지 반복한다. 언어는 blitzbasic을 사용하였다. 변수뒤의 #은 실수형을 의미한다. C언어의 경우 2byte 실수형인 double형을 사용하면 된다. 

;Circular/Spherical Infinity1/Fractals         
;Written By Daeyong Kwon
;http://fractalart.tistory.com
;Tip: Use Blitz Basic For Execution http://www.blitzbasic.com

Global cx#=120    ;Circle x position
Global cy#=40      ;Ciecle y position
Global sz#=400    ;Circle Size
cn= 1                  ;Counter value

cx2# = cx#
cy2# = cy#+sz#/4
sz2# = sz#/2

Graphics 640,480,0,2        ;set graphic mode
Oval  cx#,cy#, sz#,sz#,0  ; Creat root circle 최초 원을 생성
 
 While (sz2# > 1)      ;Iteration(순환반복)
  
      For i = 0 To cn-1
           Oval  cx2#,     cy2#, sz2#,sz2#,0        ;Render 1st Circle
           Oval  cx2#+sz2#,cy2#, sz2#,sz2#,0     ;Render 2nd Circle
           cx2#=cx2#+sz2#*2                            ; move pair x position    
      Next 

      cn = cn*2
      cx2#= cx#
  
      sz2# = sz2#/2
      cy2# = cy2#+sz2#/2

 Wend
  
WaitKey()

Color coordination