Pookkalam by C M Mohammed Roshan

Code

#background
bg = rectangle(w=300,h=300,fill="#fcf6de", stroke="none")
show(bg)

#main circle
main = circle(r=150, fill="#085e05", stroke="none")
show(main)

#main petals
whitesqr = rectangle(w=212,h=212, fill="#fcf5d9", stroke="none") | repeat(10, rotate(10))
show(whitesqr)
yellowsqr = rectangle(w=200,h=200, fill="#f7d022", stroke="none") | rotate(16) | repeat(10, rotate(10))
show(yellowsqr)
orangesqr = rectangle(w=188,h=188, fill="#fc5f16", stroke="none") | rotate(22) | repeat(10, rotate(10))
show(orangesqr)
redsqr = rectangle(w=176,h=176, fill="#af3b43", stroke="none") | rotate(28) | repeat(10, rotate(10))
show(redsqr)
maroonsqr = rectangle(w=164,h=164, fill="#600519", stroke="none") | rotate(34) | repeat(10, rotate(10))
show(maroonsqr)

#big circles
sub1 = circle(x=100,y=0,r=50, fill="black")
sub2 = circle(x=100,y=0,r=42, fill="#600519", stroke="none")
sub3 = circle(x=100,y=0,r=34, fill="#af3b43", stroke="none")
sub4 = circle(x=100,y=0,r=26, fill="#fc5f16", stroke="none")
sub5 = circle(x=100,y=0,r=18, fill="#f7d022", stroke="none")
sub6 = circle(x=100,y=0,r=10, fill="#fcf5d9", stroke="none")

subcombine = combine([sub1,sub2,sub3,sub4,sub5,sub6])

subfinal = subcombine | repeat(6, rotate(60))
show(subfinal)

#inner circle big
incirc1 = circle(r=100, stroke_width=2)
show(incirc1)

#colours between big petals
inrct1 = rectangle(w=198,h=10,fill="#600519", stroke="none") | rotate(7)
inrct1v = inrct1 | repeat(7, rotate(5))

inrct2 = rectangle(w=198,h=10,fill="#af3b43", stroke="none") | rotate(52)
inrct2v = inrct2 | repeat(7, rotate(5))

inrct3 = rectangle(w=198,h=10,fill="#fc5f16", stroke="none") | rotate(97)
inrct3v = inrct3 | repeat(7, rotate(5))

inrct4 = rectangle(w=198,h=10,fill="#f7d022", stroke="none") | rotate(142)
inrct4v = inrct4 | repeat(7, rotate(5))

show(combine([inrct1v,inrct2v,inrct3v,inrct4v]))

#big petals
ptlbig1 = ellipse(x=50,y=0,w=100,h=70, fill="#ef692f")
ptlbig1v = ptlbig1 | scale(x=-1)

ptlbig2 = ellipse(x=50,y=0,w=100,h=70, fill="#f7c756") | rotate(45)
ptlbig2v = ptlbig2 | scale(x=-1,y=-1)

ptlbig3 = ellipse(x=50,y=0,w=100,h=70, fill="#f7db9b") | rotate(90)
ptlbig3v = ptlbig3 | scale(x=-1,y=-1)

ptlbig4 = ellipse(x=50,y=0,w=100,h=70, fill="#cc4208") | rotate(135)
ptlbig4v = ptlbig4 | scale(x=-1,y=-1)

show(combine([ptlbig1,ptlbig1v,ptlbig2,ptlbig2v,ptlbig3,ptlbig3v,ptlbig4,ptlbig4v]) | rotate(45))

#small petals
ptlsml1 = ellipse(x=30,w=100,h=36, fill="#fc5f16") | rotate(-21)
ptlsml1v = ptlsml1 | scale(x=-1,y=-1)

ptlsml2 = ellipse(x=30,w=100,h=36, fill="#f7d022") | rotate(23)
ptlsml2v = ptlsml2 | scale(x=-1,y=-1)

ptlsml3 = ellipse(x=30,w=100,h=36, fill="#600519") | rotate(67)
ptlsml3v = ptlsml3 | scale(x=-1,y=-1)

ptlsml4 = ellipse(x=30,w=100,h=36, fill="#af3b43") | rotate(111)
ptlsml4v = ptlsml4 | scale(x=-1,y=-1)

show(combine([ptlsml1,ptlsml1v,ptlsml2,ptlsml2v,ptlsml3,ptlsml3v,ptlsml4,ptlsml4v]))

#inner black circle
incirc2 = circle(r=52, fill="black")
show(incirc2)

#red pattern 1
indsgn1 = rectangle(w=90,h=8, fill="#af0f0c", stroke="none") | rotate(4) | repeat(6, rotate(7))
indsgn1v = indsgn1 | repeat(2, rotate(90))

indsgn2 = rectangle(w=90,h=8, fill="#f4aaa8", stroke="none") | rotate(49) | repeat(6, rotate(7))
indsgn2v = indsgn2 | repeat(2, rotate(90))

show(combine([indsgn1v,indsgn2v]))

#red pattern 2
indsgn3 = rectangle(w=90,h=11, fill="#af0f0c", stroke="none") | rotate(49) | repeat(6, rotate(7)) | scale(0.74)
indsgn3v = indsgn3 | repeat(2, rotate(90))
show(indsgn3v)

indsgn4 = rectangle(w=90,h=7, fill="#ea4946", stroke="none") | rotate(2) | repeat(6, rotate(7)) | scale(0.74)
indsgn4v = indsgn4 | repeat(2, rotate(90))
show(indsgn4v)

show(combine([indsgn3v, indsgn4v]) | rotate(2))

#red pattern 3
indsgn5 = rectangle(w=90,h=8, fill="#f4aaa8", stroke="none") | rotate(4) | repeat(6, rotate(7)) | scale(0.5)
indsgn5v = indsgn5 | repeat(2, rotate(90))

indsgn6 = rectangle(w=90,h=8, fill="#ea4946", stroke="none") | rotate(49) | repeat(6, rotate(7)) | scale(0.5)
indsgn6v = indsgn6 | repeat(2, rotate(90))

show(combine([indsgn5v,indsgn6v]))

#inner yellow ring
incirc3 = circle(r=23, fill="#f7d022", stroke="none")
#show(incirc3)

#inner white ring
incirc4 = circle(r=12, fill="#fcf5d9", stroke="none")
show(incirc4)