generated from mwc/project_drawing
264 lines
4.0 KiB
Python
264 lines
4.0 KiB
Python
# drawing.py
|
|
# ----------
|
|
# By Kathryn Odell-Hamilton
|
|
#
|
|
# (Briefly describe what this program does.)
|
|
"""The program will create a grid of draw black varying weight lines horizontally and vertically fully and partially
|
|
across to create one fill square and two fill rectangles in a Piet Mondrian abstract artistic style. Within the layout
|
|
a few shapes (squares and rectangles) will be drawn and filled with primary colors, red, blue, yellow.
|
|
"""
|
|
|
|
from turtle import *
|
|
from superturtle.movement import no_delay
|
|
from typeface import (
|
|
draw_letter_p,
|
|
draw_letter_i,
|
|
draw_letter_e,
|
|
draw_letter_t,
|
|
draw_letter_m,
|
|
draw_letter_o,
|
|
draw_letter_n,
|
|
draw_letter_d,
|
|
draw_letter_r,
|
|
draw_letter_i,
|
|
draw_letter_a,
|
|
draw_letter_n,
|
|
)
|
|
|
|
screensize(500, 500)
|
|
speed(10)
|
|
|
|
# Positioning pen in upper left of screen
|
|
penup()
|
|
setposition(-200, 200)
|
|
|
|
# Pen color and size
|
|
pendown()
|
|
# pen color and size
|
|
pencolor("black")
|
|
pensize(2)
|
|
|
|
# Drawing a square
|
|
def square(side_length):
|
|
for side in range(4):
|
|
forward(side_length)
|
|
right(90)
|
|
|
|
sizes = [400]
|
|
|
|
for size in sizes:
|
|
square(size)
|
|
penup()
|
|
|
|
|
|
# Move down on left side
|
|
right(90)
|
|
forward(170)
|
|
left(90)
|
|
|
|
# Drawing horizontal lines
|
|
forward(2)
|
|
pencolor("black")
|
|
pensize(6)
|
|
pendown()
|
|
forward(396)
|
|
|
|
#Return to left side and down
|
|
penup()
|
|
left(180)
|
|
forward(397)
|
|
|
|
# Move down on left side
|
|
left(90)
|
|
forward(90)
|
|
left(90)
|
|
|
|
# Drawing horizontal lines
|
|
forward(1)
|
|
pendown()
|
|
forward(396)
|
|
|
|
#Return to left side and down
|
|
penup()
|
|
left(180)
|
|
forward(397)
|
|
|
|
# Move down on left side
|
|
left(90)
|
|
forward(130)
|
|
left(90)
|
|
|
|
# Drawing horizontal lines
|
|
forward(-1)
|
|
pendown()
|
|
pensize(3)
|
|
forward(398)
|
|
|
|
#Return to left side and down
|
|
penup()
|
|
left(180)
|
|
forward(400)
|
|
|
|
# draw vertical line from 2nd horizontal line
|
|
pensize(3.5)
|
|
right(90)
|
|
forward(130)
|
|
right(90)
|
|
forward(50)
|
|
right(90)
|
|
pendown()
|
|
forward(130)
|
|
|
|
# Move up to top position to draw vertical line
|
|
penup()
|
|
left(180)
|
|
forward(388)
|
|
right(90)
|
|
forward(140)
|
|
right(90)
|
|
|
|
# Draw 2nd vertical line from top to bottom line
|
|
pendown()
|
|
pensize(4)
|
|
forward(387)
|
|
|
|
# Draw 3rd vertical line from 2nd horizontal line to bottom line
|
|
penup()
|
|
left(180)
|
|
forward(128)
|
|
right(90)
|
|
|
|
|
|
# Drawing a blue square
|
|
pendown()
|
|
fillcolor('blue')
|
|
begin_fill()
|
|
def square(side_length):
|
|
for side in range(4):
|
|
forward(side_length)
|
|
right(90)
|
|
|
|
sizes = [105]
|
|
|
|
for size in sizes:
|
|
square(size)
|
|
|
|
end_fill()
|
|
|
|
#3rd vertical line
|
|
penup()
|
|
forward(105)
|
|
right(90)
|
|
pendown()
|
|
forward(128)
|
|
left(90)
|
|
|
|
|
|
#Penup moving to fill in yellow rectangle
|
|
penup()
|
|
left(180)
|
|
forward(292)
|
|
right(90)
|
|
|
|
fillcolor('yellow')
|
|
begin_fill()
|
|
|
|
|
|
for side in range(2):
|
|
|
|
forward(126)
|
|
right(90)
|
|
forward(45)
|
|
right(90)
|
|
|
|
end_fill()
|
|
|
|
|
|
# Fill top left rectangle red
|
|
penup()
|
|
forward(388)
|
|
right(90)
|
|
|
|
fillcolor('red')
|
|
begin_fill()
|
|
|
|
for side in range(2):
|
|
forward(185)
|
|
right(90)
|
|
forward(166)
|
|
right(90)
|
|
|
|
end_fill()
|
|
fillcolor('white')
|
|
|
|
# Go back to beginning, top left
|
|
penup()
|
|
pencolor('black')
|
|
setposition(-200, 200)
|
|
|
|
|
|
#Draw letters PIET MONDRIAN, ARTIST
|
|
left(90)
|
|
forward(40)
|
|
right(90)
|
|
|
|
with no_delay():
|
|
penup()
|
|
back(60)
|
|
pendown()
|
|
draw_letter_p(25/4)
|
|
forward (33)
|
|
draw_letter_i(25/4)
|
|
penup()
|
|
forward (15)
|
|
pendown()
|
|
draw_letter_e(25/4)
|
|
penup()
|
|
forward (40)
|
|
pendown()
|
|
draw_letter_t(25/4)
|
|
penup()
|
|
forward (40)
|
|
pendown()
|
|
draw_letter_m(25/4)
|
|
penup()
|
|
forward (46)
|
|
pendown()
|
|
draw_letter_o(25/4)
|
|
penup()
|
|
forward (46)
|
|
pendown()
|
|
draw_letter_n(25/4)
|
|
penup()
|
|
forward (46)
|
|
pendown()
|
|
draw_letter_d(25/4)
|
|
penup()
|
|
forward (46)
|
|
pendown()
|
|
draw_letter_r(25/4)
|
|
penup()
|
|
forward (34)
|
|
pendown()
|
|
draw_letter_i(25/4)
|
|
penup()
|
|
forward (13)
|
|
pendown()
|
|
draw_letter_a(25/4)
|
|
penup()
|
|
forward (38)
|
|
pendown()
|
|
draw_letter_n(25/4)
|
|
|
|
# Go back to beginning, top left of square box
|
|
penup()
|
|
pencolor('black')
|
|
setposition(-200, 200)
|
|
|
|
|
|
#hide and show turtle to make sure lines are butting to each other
|
|
|
|
hideturtle()
|
|
|
|
done()
|