Files
project_drawing/drawing.py
2025-10-08 11:14:38 -04:00

297 lines
5.4 KiB
Python

# drawing.py
# ----------
# By Connor
#
# Draws a pattern of hearts
from turtle import *
from math import sqrt
def fly (distance):
penup()
forward(distance)
pendown()
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)
def heart(size):
"The higher the size the smaller it is."
pendown()
setheading(90)
fly(150/size)
quarter_arc_left(100/size)
quarter_arc_left(100/size)
left(90)
fly(200/size)
left(90)
quarter_arc_right(100/size)
quarter_arc_right(100/size)
right(24.6)
forward(480/size)
right(130.7)
forward(480/size)
penup()
goto(0,0)
def heart2(size):
"The higher the size the smaller it is."
pendown()
setheading(90)
fly(150/size)
quarter_arc_left(100/size)
quarter_arc_left(100/size)
left(90)
fly(200/size)
left(90)
quarter_arc_right(100/size)
quarter_arc_right(100/size)
right(24.6)
forward(480/size)
right(130.7)
forward(480/size)
penup()
goto(200,0)
def heart3(size):
"The higher the size the smaller it is."
pendown()
setheading(90)
fly(150/size)
quarter_arc_left(100/size)
quarter_arc_left(100/size)
left(90)
fly(200/size)
left(90)
quarter_arc_right(100/size)
quarter_arc_right(100/size)
right(24.6)
forward(480/size)
right(130.7)
forward(480/size)
penup()
goto(-200,0)
def heart4(size):
"The higher the size the smaller it is."
pendown()
setheading(90)
fly(150/size)
quarter_arc_left(100/size)
quarter_arc_left(100/size)
left(90)
fly(200/size)
left(90)
quarter_arc_right(100/size)
quarter_arc_right(100/size)
right(24.6)
forward(480/size)
right(130.7)
forward(480/size)
penup()
goto(0,200)
def heart5(size):
"The higher the size the smaller it is."
pendown()
setheading(90)
fly(150/size)
quarter_arc_left(100/size)
quarter_arc_left(100/size)
left(90)
fly(200/size)
left(90)
quarter_arc_right(100/size)
quarter_arc_right(100/size)
right(24.6)
forward(480/size)
right(130.7)
forward(480/size)
penup()
goto(200,200)
def heart6(size):
"The higher the size the smaller it is."
pendown()
setheading(90)
fly(150/size)
quarter_arc_left(100/size)
quarter_arc_left(100/size)
left(90)
fly(200/size)
left(90)
quarter_arc_right(100/size)
quarter_arc_right(100/size)
right(24.6)
forward(480/size)
right(130.7)
forward(480/size)
penup()
goto(-200,200)
def heart7(size):
"The higher the size the smaller it is."
pendown()
setheading(90)
fly(150/size)
quarter_arc_left(100/size)
quarter_arc_left(100/size)
left(90)
fly(200/size)
left(90)
quarter_arc_right(100/size)
quarter_arc_right(100/size)
right(24.6)
forward(480/size)
right(130.7)
forward(480/size)
penup()
goto(200,-200)
def heart8(size):
"The higher the size the smaller it is."
pendown()
setheading(90)
fly(150/size)
quarter_arc_left(100/size)
quarter_arc_left(100/size)
left(90)
fly(200/size)
left(90)
quarter_arc_right(100/size)
quarter_arc_right(100/size)
right(24.6)
forward(480/size)
right(130.7)
forward(480/size)
penup()
goto(0,-200)
def heart9(size):
"The higher the size the smaller it is."
pendown()
setheading(90)
fly(150/size)
quarter_arc_left(100/size)
quarter_arc_left(100/size)
left(90)
fly(200/size)
left(90)
quarter_arc_right(100/size)
quarter_arc_right(100/size)
right(24.6)
forward(480/size)
right(130.7)
forward(480/size)
penup()
goto(-200,-200)
"end of hearts start of heart spirals"
def heart_spiral(size):
heart(10*size)
heart(8*size)
heart(6*size)
heart(4*size)
heart(2.5*size)
heart(1.5*size)
def heart_spiral2(size):
heart2(10*size)
heart2(8*size)
heart2(6*size)
heart2(4*size)
heart2(2.5*size)
heart2(1.5*size)
def heart_spiral3(size):
heart3(10*size)
heart3(8*size)
heart3(6*size)
heart3(4*size)
heart3(2.5*size)
heart3(1.5*size)
def heart_spiral4(size):
heart4(10*size)
heart4(8*size)
heart4(6*size)
heart4(4*size)
heart4(2.5*size)
heart4(1.5*size)
def heart_spiral5(size):
heart5(10*size)
heart5(8*size)
heart5(6*size)
heart5(4*size)
heart5(2.5*size)
heart5(1.5*size)
def heart_spiral6(size):
heart6(10*size)
heart6(8*size)
heart6(6*size)
heart6(4*size)
heart6(2.5*size)
heart6(1.5*size)
def heart_spiral7(size):
heart7(10*size)
heart7(8*size)
heart7(6*size)
heart7(4*size)
heart7(2.5*size)
heart7(1.5*size)
def heart_spiral8(size):
heart8(10*size)
heart8(8*size)
heart8(6*size)
heart8(4*size)
heart8(2.5*size)
heart8(1.5*size)
def heart_spiral9(size):
heart9(10*size)
heart9(8*size)
heart9(6*size)
heart9(4*size)
heart9(2.5*size)
heart9(1.5*size)
heart_spiral(3)
goto(200,0)
heart_spiral2(2)
goto(-200,0)
heart_spiral3(2)
goto(0,200)
heart_spiral4(2)
goto(200,200)
heart_spiral5(2)
goto(-200,200)
heart_spiral6(2)
goto(200,-200)
heart_spiral7(2)
goto(0,-200)
heart_spiral8(2)
goto(-200,-200)
heart_spiral9(2)
input()