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()
|
59
turtle_tree.py
Executable file
59
turtle_tree.py
Executable file
@@ -0,0 +1,59 @@
|
||||
#!/usr/bin/env python3
|
||||
from turtle import Pen
|
||||
|
||||
|
||||
def draw_tree(pen, scale=50):
|
||||
pen.color("brown")
|
||||
for angle in range(int(pen.heading() - 80), int(pen.heading() + 60), 51):
|
||||
pen.setheading(angle)
|
||||
back = pen.pos()
|
||||
pen.pd()
|
||||
for _ in range(5):
|
||||
pen.forward(scale)
|
||||
pen.left(10)
|
||||
if scale >= 10:
|
||||
draw_tree(pen, scale // 2)
|
||||
elif scale < 10:
|
||||
draw_leaf(pen, scale)
|
||||
else:
|
||||
pass
|
||||
pen.pu()
|
||||
pen.setpos(back)
|
||||
|
||||
def draw_leaf(pen, scale=5):
|
||||
back = pen.pos()
|
||||
pen.color("green")
|
||||
pen.pd()
|
||||
factor_width = 1
|
||||
factor_length = scale
|
||||
for _ in range(20):
|
||||
pen.forward(factor_length)
|
||||
pen.begin_fill()
|
||||
pen.circle(scale * factor_width)
|
||||
pen.circle(-scale * factor_width)
|
||||
pen.end_fill()
|
||||
factor_width *= 0.8
|
||||
factor_length *= 0.7
|
||||
pen.setpos(back)
|
||||
pen.color("brown")
|
||||
|
||||
|
||||
|
||||
def setup_pen():
|
||||
pen = Pen()
|
||||
pen.ht()
|
||||
pen.pu()
|
||||
pen.setheading(90)
|
||||
pen.speed(0)
|
||||
pen.screen.setup(1000, 550)
|
||||
pen.screen.title("Beautiful tree :)")
|
||||
pen.screen.bgcolor("white")
|
||||
pen.setpos(0, -240)
|
||||
return pen
|
||||
|
||||
if __name__ == '__main__':
|
||||
pen = setup_pen()
|
||||
## draw_leaf(pen, 50)
|
||||
draw_tree(pen)
|
||||
input('All done!\nPress Enter to quit')
|
||||
exit()
|
37
umbrella.py
Executable file
37
umbrella.py
Executable file
@@ -0,0 +1,37 @@
|
||||
#!/usr/bin/env python3
|
||||
from turtle import Pen
|
||||
|
||||
|
||||
def draw_ornament(pen, scale=300):
|
||||
if scale > 3:
|
||||
pen.pd()
|
||||
pen.forward(scale)
|
||||
back = pen.pos()
|
||||
for angle in range(int(pen.heading() - 75), int(pen.heading() + 76), 15):
|
||||
pen.setheading(angle)
|
||||
pen.forward(scale // 3)
|
||||
draw_ornament(pen, scale // 5)
|
||||
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, -450)
|
||||
pen.setheading(90)
|
||||
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