# gbk.py

Created by schraf

Created on April 13, 2024

1.15 KB

Ghee Beom Kim

```import turtle
from math import sqrt
from kandinsky import fill_rect

fill_rect(0,0,320,222,(196,207,209))
t = turtle

t.speed(0)
r3 = sqrt(3)
D = 8

ob1 = 0,2,90,r3,60,r3,90,1,120,1,-90,r3/2,-90,1,90,r3/2
ob2 = 0,1,-120,1,-90,2*r3,-90,1,-60,2
ob3 = 0,3,-60,3,-90,r3/2,-90,1,90,r3/2,90,1,-120,1,-90,r3,60,r3
ob4 = 0,2,90,r3,60,r3,90,1

def go(x,y,a):
t.penup()
t.setheading(a)
t.goto(x,y)
t.fd(D*r3)
t.right(90)
t.fd(2*D)
t.setheading(a + 90)

def aff(o,n):
t.pendown()
for i in range(0,len(o),2):
t.left(o[i])
if n == 3 and i == 10:
(xp, yp) = t.position()
ap = t.heading()
t.fd(D*o[i+1])
if n == 3:
t.penup()
t.goto(xp, yp)
t.setheading(ap)

def tiles(x,y,a):
go(x,y,a)
aff(ob1,1)
go(x,y,a)
aff(ob2,2)
go(x,y,a)
aff(ob3,3)
aff(ob4,1)

def shape(u,v):
for i in range(6):
t.setheading(60 * i)
t.penup()
t.goto(u, v)
t.fd(4 * r3 * D)
(x, y) = t.position()
for a in range(3):
tiles(x,y,60 * i + 120 * a -60)

for l in range(3):
for c in range(3):
shape(-6 * D * (l % 2) * r3 + 12 * D * c  * r3 - 100, (36 - l * 18) * D - 80)

t.hideturtle()```