lab_iteration/tile.py

78 lines
1.5 KiB
Python

from turtle import *
def draw_tile(size):
"Draws one tile, which can be repeated to form a pattern."
draw_tile_outline(size)
draw_design(size)
def draw_tile_outline(size):
pencolor("#dddddd")
square(size)
def draw_design(size):
pencolor("blue")
"draw a corner square 1/4 the size of the tile"
for i in range(4):
forward (size/4)
left (90)
forward (size/4)
left (90)
forward (size/4)
left (90)
forward (size/4)
left (90)
forward (size)
left (90)
"move to the top of the diamond"
left (90)
forward (size*3.5/4)
penup()
right(90)
forward (size/2)
right(45)
pendown()
"draw red diamond"
pencolor("red")
forward (size/2)
right(90)
forward (size/2)
right(90)
forward (size/2)
right(90)
forward (size/2)
penup()
"reset pen"
left(45)
forward (size/2)
right (180)
forward(size+size/4+size/8)
right(90)
forward (size/2)
right (180)
pendown()
def fly(distance):
"Moves without drawing."
penup()
forward(distance)
pendown()
def square(size):
"Draws a square of side length `size`"
for side in range(4):
forward(size)
left(90)
def quarter_arc_right(radius):
"Draws a quarter of an arc, turning to the right."
circle(-radius, 90)
def quarter_arc_left(radius):
"Draws a quarter of an arc, turning to the left."
circle(radius, 90)