'프렉탈'에 해당되는 글 1

  1. 2009/02/26 프렉탈 나무 그리는법
 
크리에이티브 커먼즈 라이선스
Creative Commons License

예전에 무슨 책에서 봤던건데...그림에 나와있는게 전부지만 그리는 과정을 순서대로 따라가 보자능. 

일단 첫번째 나무가지(그러니까 기둥??)의 길이 L1을 대충 정의하고 시작하자능 Θ1은 0.5π 로 시작하고....적당한 위치에서 L1 길이만큼 Θ1의 각도로 뻗어올리는게 첫번째 단계라능.

그다음에 적당한 Scale factor를 L1에 곱해서 L2를 구해내자능. Scale factor는 0에서 1사이의 값이면 적당한데...너무 작으면 두번째 가지가 너무 짧아짐 -_-;;. 그러구나서 Θ1에 적당한 값(Turn)을 더해서 Θ2를 만들어 낸후에...첫번째 가지가 끝나는 지점에서 L2길이만큼 Θ2의 각도로 끄시면 두번째 가지가 만들어 진다능. 이 과정을 길이가 적당히 짧아질때까지..혹은 적당한 획수만큼 반복하면 나무가 그려진다능.

다만 내가 위에 쓴데루 똑같이 따라하면 가지가 한쪽...그러니까 왼쪽으로만 뻗침 -_-;;; 이럴땐 두번째 가지를 그릴때 Θ1에 적당한 값을 빼서 Θ2` 를 만들어서 L2 길이만큼 뻗어내면 된다능. 결국 대문자 Y모양을 계속 그려서 나무를 그려내게 되는거심 >_<.

Scale하구 Turn을 상수로 값으로 사용해서 나무를 그리면 완벽한 좌우 대칭 나무가 나오는데...이것두 나름 볼만하지만...매 단계마다 두 값을 다르게 랜덤값으로 그리면 적절한 모양의 나무가 그려진다능.

그럼 내가 ruby sdl로 구현한 허접한 코드를 보자능. >_<. 능력자는 OpenGL따위를 동원해서 3차원으로 한번 그려보라능

코드보기

코드보기



실행 동영상은 여기로 가삼.  http://www.filepang.co.kr/entry/프랙탈-나무-그리기
윈도우용 실행파일

저작자 표시 비영리 동일 조건 변경 허락

'튜토리얼 > 프렉탈 나무그리기' 카테고리의 다른 글

프렉탈 나무 그리는법  (0) 2009/02/26

댓글을 달아 주세요