본문 바로가기

Deep Space 더보기
프랙탈 나무(Fractal Tree) 작성자:2008.12.23 권대용(Lunartail) 자연에서 보는 식물들은 복잡해 보이지만 원리를 알면 의외로 심플한 구조를 바탕으로 하고 있는 것을 발견할 수 있다. 여러 형태중 가장 기본적인 구조인 나뭇가지가 벌어지는 모양은 프랙탈의 자기유사성을 보여주므로 수학적으로 분석을 하여 재귀적으로 그리는 방법이 있다. 알고리즘 (dir#-각도, len#-길이, n-차수) 1. 주어진 길이와 각도를 이용하여 이동할 상대 좌표를 구한다. 2. 구한 상대 좌표로 선을 그린다.(제어점이 상대 좌표만큼 이동한다) 3. n이 0이면 6으로 간다.(종료조건) 4. (n - 1, 길이 * SCALE, 각도 + 기울기값)에 대해 프랙탈 나무 알고리즘을 실행한다. 5. (n - 1, 길이 * SCALE, 각도 - 기울기값).. 더보기
코흐곡선(Koch Curve) 프랙탈의 유형은 기본형과 여러가지 변형이 존재한다. 대부분의 프랙탈 도형들은 선이나 등변삼각형 또는 사각형등의 형태를 기본으로 하고 있다. 또한 이런 프랙탈 도형들의 변형에 많이 응용하고 있는 것 중의 하나가 코흐곡선(Koch Curve)이다. 최초 기본 라인인 'initiator' 를 기준으로 이 선의 1/3 가운데 부분에 밑변이 없는 삼각형 형태의 선을 연결한다. 이렇게 이루어진 모양이 기본형태가 되기 때문에 '기본발생자(generator)' 가 된다. 각각의 변에 이와 같은 과정을 반복하면 되는데 이와같은 프로세스를 일정시간 계속하는 것을 '반복진행자(iterantion generator)' 라 한다. 알고리즘 { 1. n-1차 코흐 곡선 1개를 그린다. (길이는 n차 곡선의 1/3배이다.) 2. .. 더보기