Pookkalam by Brighty Jiji Abraham

Code

#flower
def create_flower(f,s,cf):
    petal = ellipse(x=0,y=10,w=10,h=20,fill=f,stroke=s,stroke_width="1.5")
    flower_petals = petal | repeat(19,rotate(30)) 
    flower = flower_petals+circle(r=5,fill=cf,stroke=s,stroke_width="3")
    return flower

#flowers
f1 = create_flower(f="#E75480",s="#F33A6A",cf="#DC143C") #rose
f2 = create_flower(f="#FFDDCA",s="#FFCBA4",cf="#EDC9AF") #peach
f3 = create_flower(f="#E9AB17",s="#DC9B16",cf="#C38B18") #lightyellow
f4 = create_flower(f="#CD7F32",s="#B87333",cf="#966F33") #darkyellow
f5 = create_flower(f="#FFEED0",s="#EFDEC1",cf="#AA9E8A") #white
f6 = create_flower(f="#FF8D5A",s="#F18655",cf="#D17349") #lightorange

#flower background ring flower design
c1 = circle(r=12,x=0,y=15,fill="#E7A1B0",stroke="#E75480")|repeat(25,rotate(38))

#background
inner_layer = f2 | translate(x=29,y=29) | repeat (8,rotate(45))
outter_layer_1 = rectangle(w=100,h=100, fill="#827B60", stroke="none") | repeat(10, rotate(30)) | rotate(45)
inner_layer2 = f3 | translate(x=50,y=50) | repeat (8,rotate(45))
inner_layer3 = f4 | translate(x=50,y=50) | repeat (16,rotate(45/2))
c2 = circle(x=90, y=0, r=12.5,fill="#3D0C02", stroke="#3D0C02")|repeat(36,rotate(20))
c3 = circle(x=0, y=90, r=12.5,fill="#660000", stroke="#551606")|repeat(19,rotate(20))
e = ellipse(w=215,h=215/2,stroke="#3D0C02") | repeat(75, rotate(6)) |scale(.955)
outter_layer_2 = rectangle(w=175,h=175, fill="#827B60", stroke="none") | repeat(10, rotate(30)) | rotate(45)
inner_layer4 = f5 | translate(x=81,y=81) | repeat (11,rotate(33))
inner_layer5 = f6 | translate(x=81,y=81) | repeat (22,rotate(33/2))
outter_layer_3 = rectangle(w=200, h=200,fill="#7B7447",stroke="#660000") | repeat(9, rotate(10))
c4 = circle(x=130, y=0, r=12.5,fill="#660000", stroke="#660000")|repeat(36,rotate(20))
c5 = circle(x=0, y=130, r=12.5,fill="#69477B", stroke="#69477B")|repeat(19,rotate(20))
e1 = ellipse(w=300,h=300/2,stroke="#3D0C02") | repeat(75, rotate(6)) |scale(.955)
base = circle(r="145", fill="#343434")
back = rectangle(h=295,w=295,fill="black",stroke="none")

#random background
def random_circle():
    x = random(-150, 150)
    y = random(-150, 150)
    r = random(255)
    g = random(255)
    b = random(255)
    return circle(x=x, y=y, r=r, fill=color(r=r, g=g, b=b), stroke="none")

for i in range(20):
    c = random_circle()
    show(c)

#build pookkalam
def pookkalam():
    return base + c5 + c4 + e1 + outter_layer_3 + inner_layer5 + inner_layer4 + outter_layer_2 + c2 + c3 + e + inner_layer3 + inner_layer2 + outter_layer_1 + inner_layer + c1 + f1

pookkalam_p = pookkalam()
#side = pookkalam_p | translate(x=445,y=445) | scale (0.40)
#side1 = pookkalam_p | translate(x=-445,y=445) | scale (0.40)
#side2 = pookkalam_p | translate(x=-445,y=-445) | scale (0.40)
#side3 = pookkalam_p | translate(x=445,y=-445) | scale (0.40)

#final display

show(back)
show(pookkalam_p)
#show (side)
#show (side1)
#show (side2)
#show (side3)