init
This commit is contained in:
37
drawing_recursively.py
Executable file
37
drawing_recursively.py
Executable file
@@ -0,0 +1,37 @@
|
||||
#!/usr/bin/env python3
|
||||
from turtle import Pen
|
||||
|
||||
|
||||
def draw_ornament(pen, scale=150):
|
||||
if scale > 1:
|
||||
for angle in range(0, 360, 90):
|
||||
pen.setheading(angle)
|
||||
back = pen.pos()
|
||||
if scale <= 10:
|
||||
pen.pd()
|
||||
pen.forward(scale)
|
||||
draw_ornament(pen, scale // 2)
|
||||
pen.pu()
|
||||
pen.setpos(back)
|
||||
|
||||
def setup_pen():
|
||||
pen = Pen()
|
||||
pen.ht()
|
||||
pen.pu()
|
||||
pen.speed(0)
|
||||
pen.screen.setup(1000, 900)
|
||||
pen.screen.title("Watch me running")
|
||||
pen.screen.bgcolor("white")
|
||||
pen.screen.tracer(n=10) # draws only nth frame to speed up drawing
|
||||
pen.color("blue")
|
||||
pen.setpos(0, 0)
|
||||
return pen
|
||||
|
||||
if __name__ == '__main__':
|
||||
pen = setup_pen()
|
||||
try:
|
||||
draw_ornament(pen)
|
||||
except KeyboardInterrupt:
|
||||
exit()
|
||||
input('All done!\nPress Enter to quit')
|
||||
exit()
|
Reference in New Issue
Block a user