lab_turtle/drawing.py

137 lines
1.9 KiB
Python

# drawing.py
# Sun with sunglasses
# By Cory Chung
#
# This is a drawing of a sun with sunglasses.
from turtle import *
# ORIGINAL
# forward(100)
# right(360 * 2 / 5)
# forward(100)
# right(360 * 2 / 5)
# forward(100)
# right(360 * 2 / 5)
# forward(100)
# right(360 * 2 / 5)
# forward(100)
# right(360 * 2 / 5)
# ASSIGNMENT
# set initial position higher, but keep original orientation
penup()
left(90)
forward(200)
left(90)
forward(50)
right(180)
pendown()
# begin by drawing a dodecagon
for i in range(11):
forward(100)
right(30)
forward(100)
left(30) # restore original orientation
# create equilateral triangles on the edges
for i in range(11):
forward(100)
right(120)
forward(100)
left(90)
forward(100)
right(120)
forward(100) # don't go left because we don't need to draw any more triangles
# move into a position to draw left half of sunglasses
penup()
right(120)
forward(100)
left(30)
forward(50)
# draw left half of sunglasses
pendown()
left(60)
forward(50)
left(60)
for i in range(5):
forward(100)
right(90)
forward(50)
left(90)
forward(67)
# get into position to draw right half of sunglasses
right(180)
forward(67)
right(90)
forward(50)
left(90)
forward(100)
right(60)
forward(50)
right(60)
forward(50)
right(30)
for i in range(3):
forward(100)
right(30)
forward(50)
# draw right half of sunglasses
right(60)
forward(50)
right(60)
for i in range(5):
forward(100)
left(90)
forward(50)
right(90)
forward(67)
# position to make a smile
right(180)
forward(67)
left(90)
forward(50)
right(90)
forward(100)
left(60)
forward(50)
left(60)
forward(50)
left(30)
forward(100)
left(30)
forward(50)
left(90)
penup() # we don't want to have the pen down while we reposition the turtle
forward(300)
# draw smile
pendown()
left(90)
forward(50)
left(30)
forward(50)
right(180)
forward(50)
right(30)
forward(100)
right(30)
forward(50)
input()