from turtle import * from math import sqrt from superturt import * def draw_leaf(size, color): pencolor('black') fillcolor(color) begin_fill() circle(size,90) right(270) circle(.75*size,90) circle(-.25*size,90) end_fill() def draw_leaves(color): with restore_state_when_finished(): for number in range(11): draw_leaf(20, color) 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, color): angles = [150, 150, 150, 150, 150, 150, 90] for angle in angles: branch_end_wl(size, color) circle(size/8,angle) draw_leaves(color) def tip_nl(size): forward(size) right(45) forward(size/10) right(90) forward(size/10) right(45) forward(size) def tip_wl(size, color): tip_nl(size) draw_leaves(color) 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, color): branching_nl(ang1, d1, ang2, d2, ang3) draw_leaves(color) def branch_end_wl(size, color): for number in range(3): forward(size) draw_leaves(color) forward(size) right(300) tip_wl(size, color) branching_wl(240,size,330,size,330, color) tip_wl(size, color) branching_wl(30,size,240,size,30, color) tip_wl(size, color) branching_wl(330,size,330,size,240, color) tip_wl(size, color) 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) end_fill() def draw_tree_wl(size, color): penup() circle(size/4,90) draw_trunk(size) draw_branch_wl(size, color) forward(10*size) circle(size/4,90)