Code
#pookalam
cir1=circle(r=150,stroke = "black",stroke_width=3)
cir2=circle(r=145,fill="black")
cir3=circle(r=90,fill="white",stroke="black",stroke_width=3)
elli1=ellipse(h=287,w=64,fill="red",stroke="none")|repeat(20,rotate(20))
elli2=ellipse(h=250,w=35,fill="Yellow",stroke="none")|rotate(25)
elli3=elli2|repeat(20,rotate(20))
elli4=ellipse(h=250,w=35,fill="orange",stroke="none")|rotate(15)
elli5=elli4|repeat(20,rotate(20))
#git logo
#git logo
# ON pookalam
#base face
base=rectangle(w=190,h=120,fill="#1c1a1a",stroke="none")
left=ellipse(x=75,y=0,w=90,h=150,fill="#1c1a1a",stroke="none")
up=ellipse(x=0,y=65,w=200,h=70,fill="#1c1a1a",stroke="none")
right=left | scale(-1)
down=up|scale(-1)
Base_face=combine([base,left,right,up,down]) #BASE_FACE
#ears
e1=ellipse(x=10,y=120,w=30,h=60,fill="#1c1a1a",stroke="none")
ear1=e1|rotate(-30)
p1 = point(x=85, y=130)#ear sharp edge
p2 = point(x=86, y=100)
p3 = point(x=53, y=103)
shape = polygon([p1, p2, p3],fill="#1c1a1a",stroke="none")
right_ear=combine([shape,ear1])
left_ear=right_ear|rotate(70)
ears=combine([right_ear,left_ear]) #EARS
#face
cheek=rectangle(x=0,y=-20,w=130,h=60,fill="#FFDBAC",stroke="none")
left_cheek=ellipse(x=60,y=-20,w=30,h=59,fill="#FFDBAC",stroke="none")
right_cheek=ellipse(x=-60,y=-20,w=30,h=59,fill="#FFDBAC",stroke="none")
up_cheek=ellipse(x=0,y=3,w=140,h=30,fill="#FFDBAC",stroke="none")
#eyes
c2 = color(r=204, g=53, b=53, a=0.7)
l_t=ellipse(w=30,h=20,fill="white",stroke="none")
pp=ellipse(w=15,h=7,fill=c2,stroke="none")
dot=ellipse(w=5,h=4,fill="white",stroke="none")
right_eye_base=l_t | rotate(90) |translate(x=50,y=-10)
left_eye_base=l_t | rotate(90) |translate(x=-50,y=-10)
left_pupil=pp |rotate(90) | translate(x=-50, y=-11)
right_pupil=pp |rotate(90) | translate(x=50, y=-11)
pupil_dot1=dot|translate(x=48,y=-9)
pupil_dot2=dot|translate(x=-52,y=-9)
#nose
c1 = color(r=204, g=53, b=53, a=0.7)
nose=circle(x=0,y=-20,r=5,fill=c1,stroke="none")
#mouth
m=circle(x=0,y=-30,r=8,fill=c1,stroke="none")
cover=circle(x=0,y=-26,r=8,fill="#FFDBAC",stroke="none")
#midface combine
midface=combine([cheek,left_cheek,right_cheek,up_cheek,left_eye_base,right_eye_base,left_pupil,right_pupil,pupil_dot1,pupil_dot2,m,cover,nose]) #MID FACE
#mustache
m1 = line(x1=75, y1=0, x2=120, y2=5,stroke="#1c1a1a",stroke_width=2)
m2 = line(x1=75, y1=-13, x2=120, y2=-20,stroke="#1c1a1a",stroke_width=2)
m3 = line(x1=-75, y1=0, x2=-120, y2=5,stroke="#1c1a1a",stroke_width=2)
m4 = line(x1=-75, y1=-13, x2=-120, y2=-20,stroke="#1c1a1a",stroke_width=2)
mustache=combine([m1,m2,m3,m4])
fac=combine([Base_face,ears,midface])
face=fac |scale(.7)
#Body
down_body=rectangle(x=0,y=-122,w=80,h=80,fill="#1c1a1a",stroke="none")
neck=ellipse(x=0,y=-80,w=80,h=50,fill="#1c1a1a",stroke="none")
body=combine([down_body,neck])
#tail
tail1=ellipse(x=-30,y=-120,w=80,h=40,fill="#1c1a1a",stroke="none") |rotate(-30)
tail2=ellipse(x=-30,y=-100,w=80,h=40,fill="white",stroke="none") |rotate(-30)
tail=combine([tail1,tail2])
#background
background=rectangle(w=300,h=300,fill="white",stroke="none")
#image
image=combine([tail,face,mustache,body])
pic=image|scale(.5)
show(cir1,cir2,elli1,elli3,elli5,cir3,pic)