Turtle
023_Koch_Line.py
import os
from util import getTurtleAndScreen
# Koch Line. On the way to the Koch Snowflake.
# CAC, 3/29/2023
def drawKLine(turtle,length,level):
if level==1:
turtle.forward(length)
else:
l = length/3
drawKLine(turtle,l,level-1)
turtle.left(60)
drawKLine(turtle,l,level-1)
turtle.right(120)
drawKLine(turtle,l,level-1)
turtle.left(60)
drawKLine(turtle,l,level-1)
def Draw():
title = "Koch Line"
width = 1200
height = 600
L = 1100
filename = os.path.basename(__file__)[0:-3]
turtle, screen = getTurtleAndScreen(title,width,height,filename,moveWorld=True)
screen.bgcolor("black")
turtle.color("white")
turtle.pensize(2)
# Get everything setup.
turtle.penup()
turtle.goto(50,50)
turtle.setheading(0)
turtle.pendown()
#draw a kline
drawKLine(turtle,L,4)
# Scratch work. This was us working up to the proper solution.
# length = L/3
# length2 = L/9
# drawKLine(turtle,length2)
# turtle.left(60)
# drawKLine(turtle,length2)
# turtle.right(120)
# drawKLine(turtle,length2)
# turtle.left(60)
# drawKLine(turtle,length2)
# #draw a kline-1
# length = L/3
# turtle.forward(length)
# turtle.left(60)
# turtle.forward(length)
# turtle.right(120)
# turtle.forward(length)
# turtle.left(60)
# turtle.forward(length)
turtle.penup()
screen.mainloop()
# ----------------------------------------------------------------
if __name__ == '__main__':
Draw()
|