8. Hexagon
from pygame import *
from math import *
WIDTH = 1000
HEIGHT = 1000
WHITE = Color(255, 255, 255)
screen = display.set_mode([WIDTH, HEIGHT])
def hexagon(x, y, r):
points = []
v = Vector2(r, 0)
v = v.rotate(30)
for i in range(6):
points.append([x + int(v.x), y + int(v.y)])
v = v.rotate(60)
return points
def comb(x, y, r, layer):
layer += 1
if layer > 5:
return
draw.polygon(screen, WHITE, hexagon(x, y, r), 1)
display.update()
time.delay(30)
v = Vector2(layer * sqrt(3) * r, 0)
for i in range(6):
comb(x + int(v.x), y + int(v.y), r, layer)
v = v.rotate(60)
comb(WIDTH // 2, HEIGHT // 2, 20, 0)
display.update()