Description of the Assignment:
We were asked to create a self-portrait using simple drawing functions taught in class. I used circle, ellipse, rectangle, arc, and triangle to do the same.
Process:
I started this assignment by designing a rough sketch in my notebook. Later on, I figured out the shapes I could use to replicate the notebook sketch virtually.
First, I started by setting the dimensions of the screen and the background color. I chose a mixture of Teal colors. After that, I added the face and ears. I used an ellipse for the face and arcs for the ears.
Then I added a neck, shoulders, and a sun. I used rectangles for both neck and shoulders and a circle for the sun.
After that, I added the eyes, iris, and pupils. I used ellipses for the eyes and circles for the irises and pupils.
Coming onto the challenging part, I had to design my porcupine hairstyle. I had to use multiple triangles at different coordinates which took a really long time. But, the result was pretty cool. I also had to design a nose for which I used three lines at different coordinates.
Finally, I added a smile using an arc and a mole using a circle. 
This was the final result. Conclusively, the assignment was really fun.
CODE:
int centerX;
int centerY;
void setup () {
//size of the viewer
size(640, 480);
background(0, 128, 139);
centerX = width/2;
centerY = height/2;
};
void draw() {
//ears
fill(255, 219, 172);
stroke(128,128,128);
arc(220,230, 80, 90, HALF_PI, PI+ HALF_PI);
arc(425,230, 80, 90,PI+HALF_PI, TWO_PI+HALF_PI );
//face
fill(255, 219, 172);
stroke(128,128,128);
ellipse(width/2, height/2, 250, 350);
//sun
fill(255,215,0);
circle(70, 90, 100);
//neck and body
stroke(255, 219, 172);
fill(255, 219, 172);
rect((centerY)+30, (centerX)+40, 100, 100);
rect((centerY)-90, 460, (centerX)+20, 20);
//eyes
fill(255, 255, 255);
stroke(128,128,128);
ellipse((centerY)+10, height/2.75, 50, 30);
ellipse((centerX)+45, height/2.75, 50, 30);
//iris
fill(160,82,45);
circle((centerX)+45, height/2.75, 30);
circle((centerY)+10, height/2.75, 30);
//pupil
fill(0,0,0);
circle((centerX)+45, height/2.75, 10);
circle((centerY)+10, height/2.75, 10);
//nose
fill(255, 219, 172);
line((centerY)+55, centerY-20, centerY+50, (centerY)+30);
line((centerY)+50, (centerY)+30, centerX-10, centerY+40);
line(centerX, (centerY)+30, centerX-10, centerY+40);
//hair texture
stroke(90, 56, 37);
fill(90, 56, 37);
triangle((centerY)+30, 100, (centerX)+30, 50, (centerX)+90, (centerY)-120);
triangle((centerY)+30, 100, (centerX)+30, 50, (centerX)+70, (centerY)-120);
triangle((centerY)+10, 100, (centerX)+10, 50, (centerX)+60, (centerY)-120);
triangle((centerY)-20, 100, (centerX)-10, 50, (centerX)+30, (centerY)-120);
triangle((centerY)-20, 130, (centerX)-10, 50, (centerX)+40, (centerY)-120);
triangle((centerY)-40, 110, (centerX)-10, 50, (centerX)+30, (centerY)-115);
triangle((centerY)-30, 120, 310, 50, 320, 120);
triangle((centerY)-30, 110, 310, 60, 350, 120);
triangle(centerX, 180, (centerX)+60, 70, (centerX)+100, (centerY)-120);
triangle((centerX)-20, 170, (centerX)+60, 70, (centerX)+100, (centerY)-120);
triangle((centerY)+20, 170, (centerX)+60, 70, (centerX)+100, (centerY)-120);
triangle((centerY)+10, 160, (centerX)+60, 70, (centerX)+100, (centerY)-120);
triangle((centerY)+10, 150, (centerX)+60, 70, (centerX)+100, (centerY)-120);
triangle((centerX)+140, 250, (centerX)+60, 135, (centerX)+100, (centerY)-120);
triangle((centerX)+140, 250, (centerX)+60, 120, (centerX)+100, (centerY)-120);
triangle((centerX)+100, 250, (centerX)+60, 120, (centerX)+100, (centerY)-120);
triangle((centerX)+160, 250, (centerX)+60, 120, (centerX)+100, (centerY)-120);
//smile
fill(233,150,122);
stroke(233,150,122);
arc((centerX)-10, centerX, 80, 70, 0, PI);
//mole
fill(0,0,0);
circle(centerX+10, centerY+140, 5);
};


