Pookkalam by Abhishek

Code

w = 20
h = 10

rect = rectangle(w=300,h=300,fill="#540271",stroke="540271") # fro bg
show(rect)

# spape layers
elps = ellipse(w=w,h=h,x=w/2,fill="#B53EDF",stroke="#B53EDF") | repeat(4, rotate(90))
elps2 = ellipse(w=w,h=h,x=w/2,fill="#DB7FFC",stroke="#DB7FFC") | rotate(45) |  repeat(4, rotate(90))
c = circle(r=h / 2,fill="yellow",stroke="yellow")

# for incoming shape
sf = 1
for i in range(5):
    vio = combine([elps,elps2,c]) | translate(x = w * 3) |  scale(sf)
    sf += 0.2
    final = vio | repeat(10,rotate(45))

    show(final)

# for line
xVal = 40;
yVal = 100
p1 = point(x = -xVal, y = yVal)
p2 = point(x = xVal, y = - yVal)
l = polygon([p1,p2],stroke="#B53EDF")  | repeat(4,rotate(45)) | scale(1.5)
show(l)

# center circle
centerColor = "#B53EDF"
circ = circle(r=10,fill=centerColor,stroke=centerColor)
circ1 = circle(r=4, x = 20 , fill="#B53EDF",stroke="#B53EDF")
circ2 = circle(r=6, x = 33 , fill="#B53EDF",stroke="#B53EDF")
circMix = circ1 + circ2 
circMix = circMix | repeat(8,rotate(45))
show(circ,circMix)

# for corner circle
circCorner = circle(r=10,fill=centerColor,stroke=centerColor) | translate(x = 52, y = 120) | repeat(10,rotate(45))
show(circCorner)