프랙탈의 기본 속성은 자기유사성(Self-Similarity)과 순환성(Recursiveness)으로, 프랙탈의 순환성을 구현하는 가장 원시적인 방법은 함수의 재귀호출을 이용하는 방법이다. 이에 의한 프랙탈은 있는 그대로 따져 만들어진다.
함수의 재귀호출
함수 실행 중 자기자신을 다시 호출하는 것을 재귀호출(Recursive Call)이라 한다. 재귀호출을 순환호출이라고도 한다. 다으에 재귀호출 함수를 사용한 프로그램예를 표시하였다. 이 프로그램에서 RecursiveFunc() 함수는 재귀호출 방식으로 실행된다. 즉 RecursiveFunc() 내부에서 다시 RecursiveFunc() 를 실행시키고 있다.
voidRecursiveFunc(int n){if( n !=3 )RecursiveFunc(n+1);printf("%-3d", n);}intmain(void){RecursivFunc(0);return0;}
재귀 호출의 자세한 내용은 참고 문헌을 참고하거나 기타 알고리즘 서적을 참고하길 바란다.
예제 프랙탈
다음 코드는 맛보기 프로그램을 표시한 것이다. RecursiveCircle() 함수, 코드는 불과 5 줄이다. 그런데 만들어내는 결과는 무시무시하다. 재귀호출 함수 인자의 '마법의 피리'에 의한 연출이다.