generated from mwc/project_drawing
110 lines
2.5 KiB
Python
110 lines
2.5 KiB
Python
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) |