Code
def c(fill, radius):
return circle(r=radius ,fill=fill, stroke="none")
def s(fill, side):
return rectangle(w=side, h=side, fill=fill, stroke="none")
#outer portion
black_circle = c("black", 150)
white_lines = ellipse(x = 140, w=10, h=3, fill="#aaaaaa", stroke="none") | repeat(36, rotate(10))
darkpink_layer = s("#AA1E31", 195) | repeat(9, rotate(10))
red_layer = s("#D2592F", 180) | rotate(5.1) | repeat(9, rotate(10))
orange_layer = s("orange", 165) | repeat(9, rotate(10))
yellow_layer = s("yellow", 152) | rotate(5.1) | repeat(9, rotate(10))
outer_portion = black_circle + white_lines + darkpink_layer + red_layer + orange_layer + yellow_layer
#middle portion
m_e = ellipse(x= 90, w=20, h=20, fill="orange", stroke="none") | rotate(5) | repeat(36, rotate(10))
ml_white= s("white", 140) | rotate(0) | repeat(9, rotate(10))
mc_black = circle(r=89, stroke_width = 4)
ml_s_white = s("white", 128) | rotate(5) | repeat(9, rotate(10))
ml_line = line(x1=0, x2=0, y1=91, y2=0, stroke="") | rotate(2.5) | repeat(12, rotate(0.5)) | repeat(36, rotate(10))
middle_portion = ml_white + mc_black + ml_s_white + ml_line
#inner portion
m_c1 = circle(x = 50, r=30, fill="yellow") + circle(x=45, r=25, fill="orange" , stroke="none") + circle(x = 40, r=20, fill="#D2592F", stroke="none") + circle(x = 30, r=15, fill="#AA1E31", stroke="none")
m_l1 = m_c1 | repeat(4, rotate(90))
m_l2 = m_l1 |scale(1.1) | rotate(45)
inner_portion = m_l1 + m_l2
#tinkerhub logo
bg = s("black", 60) | repeat(2, rotate(45))
tl = rectangle(x=-22, y=47, w=75, h=30, fill="#05BFCE", stroke="none")
tr = rectangle(x=45, y=47, w=30, h=30, fill="#0060FF", stroke="none")
m = rectangle(w=120, h=30, fill="#FFCD10", stroke="none")
bl = rectangle(x=-37, y=-47, w=45, h=30, fill="#EE1700", stroke="none")
bm = rectangle(x=10, y=-47, w=23, h=30, fill="#95BF15", stroke="none")
br = rectangle(x=48, y=-47, w=23, h=30, fill="#205B67", stroke="none")
th_logo = (tl + tr + m + bl + bm + br) | scale(0.3)
show(outer_portion, middle_portion, inner_portion, bg, th_logo)