from turtle import * from math import sqrt from superturt import * def draw_leaf(size): pencolor('black') # fillcolor('green') # begin_fill() circle(size,90) right(270) circle(.75*size,90) circle(-.25*size,90) # end_fill() def draw_leaves(): with restore_state_when_finished(): for number in range(11): draw_leaf(20) penup() forward(10) right(115) pendown() def draw_trunk(size): forward(10*size) circle(size/8,90) def draw_branch_nl(size): angles = [150, 150, 150, 150, 150, 150, 90] for angle in angles: branch_end_nl(size) circle(size/8,angle) def draw_branch_wl(size): angles = [150, 150, 150, 150, 150, 150, 90] for angle in angles: branch_end_wl(size) circle(size/8,angle) draw_leaves() def tip_nl(size): forward(size) right(45) forward(size/10) right(90) forward(size/10) right(45) forward(size) def tip_wl(size): tip_nl(size) draw_leaves() def branching_nl(ang1, d1, ang2, d2, ang3): right(ang1) forward(d1) right(ang2) forward(d2) right(ang3) def branching_wl(ang1, d1, ang2, d2, ang3): branching_nl(ang1, d1, ang2, d2, ang3) draw_leaves() def branch_end_wl(size): for number in range(3): forward(size) draw_leaves() forward(size) right(300) tip_wl(size) branching_wl(240,size,330,size,330) tip_wl(size) branching_wl(30,size,240,size,30) tip_wl(size) branching_wl(330,size,330,size,240) tip_wl(size) right(300) forward(4*size) def branch_end_nl(size): forward(4*size) right(300) tip_nl(size) branching_nl(240,size,330,size,330) tip_nl(size) branching_nl(30,size,240,size,30) tip_nl(size) branching_nl(330,size,330,size,240) tip_nl(size) right(300) forward(4*size) def draw_tree_nl(size): fillcolor('brown') begin_fill() circle(size/4,90) draw_trunk(size) draw_branch_nl(size) forward(10*size) circle(size/4,90) right(180) forward(2*size) end_fill() def draw_tree_wl(size): penup() circle(size/4,90) draw_trunk(size) draw_branch_wl(size) forward(10*size) circle(size/4,90) right(180) forward(2*size)