본문 바로가기

프로그래밍/Python

[Python] Turtle 로 프랙탈 트리 그리기

python turtle 로 프랙탈 트리를 그려 봤다.

import turtle


def tree(length, depth=0):
    if depth < 4:
        depth += 1
        nlength = length * (0.7 ** depth)

        t.forward(length)
        t.left(60)
        tree(nlength, depth)
        t.right(30)
        tree(nlength, depth)
        t.right(30)
        tree(nlength, depth)
        t.right(30)
        tree(nlength, depth)
        t.right(30)
        tree(nlength, depth)
        t.left(60)
        t.backward(length)


t = turtle.Turtle()
t.left(90)
t.color("green")
t.speed(6)
tree(100)
input()

 

프랙탈은 재귀적이다. 재귀함수만 이해한다면, 트리를 그리는 건 아주 간단하다. 전체적인 구조는 우선 생각하지 말고, 줄기와 그 줄기에 붙어있는 다음 줄기의 관계만 재귀함수로 정의하면 쉽게 그려진다.

 

tutle 로 그린 프랙탈트리

see also : daewonyoon.tistory.com/350 : postscript 로 그린 프랙탈트리

728x90