-
Notifications
You must be signed in to change notification settings - Fork 12
/
Copy pathturtle_overlayed_koch.py
48 lines (36 loc) · 1.03 KB
/
turtle_overlayed_koch.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# SPDX-FileCopyrightText: 2021 ladyada for Adafruit Industries
# SPDX-License-Identifier: MIT
import board
from adafruit_turtle import turtle, Color
generation_colors = [Color.RED, Color.BLUE, Color.GREEN]
def f(side_length, depth, generation):
if depth != 0:
side = lambda: f(side_length / 3, depth - 1, generation + 1)
side()
turtle.left(60)
side()
turtle.right(120)
side()
turtle.left(60)
side()
def snowflake(num_generations, generation_color):
top_side = lambda: f(top_len, num_generations, 0)
turtle.pencolor(generation_color)
top_side()
turtle.right(120)
top_side()
turtle.right(120)
top_side()
turtle = turtle(board.DISPLAY)
unit = min(board.DISPLAY.width / 3, board.DISPLAY.height / 4)
top_len = unit * 3
print(top_len)
turtle.setheading(90)
turtle.penup()
turtle.goto(-1.5 * unit, unit)
turtle.pendown()
for generations in range(3):
snowflake(generations, generation_colors[generations])
turtle.right(120)
while True:
pass