Pookkalam by Athul Krishna P S

Code

r1= rectangle(w=63,h=63,fill="#820a0h",stroke="none")|repeat(20,rotate(50))
r2= rectangle(w=67,h=67,fill="#ce0606",stroke="none")|rotate(15)|repeat(20,rotate(50))
r3= rectangle(w=71,h=71,fill="#fc9802",stroke="none")|repeat(20,rotate(50))
r4= rectangle(w=75,h=75,fill="#fceb02",stroke="none")|rotate(15)|repeat(20,rotate(50))|scale(0.98)
e1 = ellipse(w=40, h=80, fill="orange", stroke="none") | repeat(10, rotate(30))
c1= circle(r=33,fill="#ff0000",stroke="none")
c2 = ellipse(w=20, h=10, fill="yellow", stroke="none") | repeat(5, rotate(40))
c3= circle(r=5,fill="black",stroke="none")
poovu = combine([r4, r3, r2, r1, e1, c1]) |scale(2)
show(poovu, c2, c3)

back_c1 = circle(r=90, fill="#ff8615", stroke="red", stroke_width=5)
back_c1_c = ear_c2 = circle(r=7, fill="yellow", stroke="none") | translate(x=-75) | repeat(40, rotate(20))
back_c1_comb = combine([back_c1, back_c1_c]) | translate(y=50)
back_c2 = circle(r=65, fill="#9d4f07", stroke="none")
back_c2_c = ear_c2 = circle(r=7, fill="orange", stroke="none") | translate(x=-50) | repeat(20, rotate(30))
back_c2_comb = combine([back_c2, back_c2_c]) | translate(y=50)
back_c3 = circle(x=0, y=50, r=40, fill="red", stroke="none")
back_c4 = circle(x=0, y=50, r=10, fill="black", stroke="none")
ear_c = circle(r=18, fill="red", stroke="yellow", stroke_width=3)
ear_c1 = circle(r=4, fill="black", stroke="none")
ear_c2 = circle(r=4, fill="yellow", stroke="none") | translate(x=-10, y=0) | repeat(4, rotate(90))
ear_ring_l = combine([ear_c, ear_c1, ear_c2]) | translate(x=-70, y=-15)
ear_ring_r = combine([ear_c, ear_c1, ear_c2]) | translate(x=70, y=-15)
face = rectangle(y=-25, w=100, h=50, fill="green", stroke="none")
mouth_c = circle(x=-30, y=-40, r=4, fill="red", stroke="none") + circle(x=30, y=-40, r=4, fill="red", stroke="none")
nose = circle(y=-32, r=5, fill="white", stroke="none")
mouth_r = rectangle(y=-40, w=60, h=4, fill="red", stroke="none")
pott_r = rectangle(y=-7.5, w=20, h=15, fill="red", stroke="none")
pott_b = rectangle(y=-5, w=10, h=10, fill="black", stroke="none")
tri_y = polygon([point(x=-30, y=0), point(x=0, y=-25), point(x=30, y=0)], fill="yellow", stroke="none")
eye_b_l = polygon([point(x=-50, y=0), point(x=-50, y=-27), point(x=0, y=-27)], fill="black", stroke="none")
eye_b_r = polygon([point(x=50, y=0), point(x=50, y=-27), point(x=0, y=-27)], fill="black", stroke="none")
eye_w_l = polygon([point(x=-40, y=-15), point(x=-40, y=-27), point(x=0, y=-27)], fill="white", stroke="none")
eye_w_r = polygon([point(x=40, y=-15), point(x=40, y=-27), point(x=0, y=-27)], fill="white", stroke="none")
eye_r_b_l = circle(x=-25, y=-20, r=5, fill="black", stroke="none")
eye_r_b_r = circle(x=25, y=-20, r=5, fill="black", stroke="none")
eye_r_r_l = circle(x=-25, y=-20, r=1, fill="red", stroke="none")
eye_r_r_r = circle(x=25, y=-20, r=1, fill="red", stroke="none")
eye_u = rectangle(x=0, y=-28, w=80, h=4, fill="black", stroke="none")
beard = polygon([point(x=-50, y=-25), point(x=-80, y=-65), point(x=80, y=-65), point(x=50, y=-25)], fill="white", stroke="none")

kathakali = combine([back_c1_comb, back_c2_comb, back_c3, back_c4, ear_ring_l, ear_ring_r, beard, face, mouth_r, mouth_c, eye_b_l, eye_b_r, eye_w_l, eye_w_r, 
     eye_r_b_l, eye_r_b_r, eye_r_r_l, eye_r_r_r, eye_u,
     nose, tri_y, pott_r, pott_b])
kathakali1 = kathakali | scale(0.3) | translate(y=40) | repeat(4, rotate(90))
show(kathakali1)