Project-01-Face

            Reflection

Since the basic elements in this portrait are restricted to simple geometric shapes, I decided to create a minimalistic portrait. The blue and yellow used in the portrait are selected from photos of minerals online.

Also, I stumbled across the code for generating random points automatically, so I decided to create a shimmering effect with it.

sihan_self portrait

function setup() {
    createCanvas(500, 600);
}

function draw() {
	background(0);
  quad(100,100,150,150,100,150,150,100);

  var bg1 = color(221,159,35);
  fill(bg1);
  noStroke();
  rect(0,50,500,80);
  rect(0,180,500,30);

  var ri = color(27,102,205);
  var bg2 = color(200,81,35);
  fill(ri);
  noStroke();
  rect(0,450,500,45);
  rect(0,500,500,100);

  var skinlt = color(252,252,244);
  fill(skinlt);
  stroke(252,252,244);
  triangle(100,0,50,100,250,450);
  triangle(100,0,250,450,400,0);
  triangle(400,0,250,450,450,100);

  //cheek triangles
  triangle(70,110,110,350,250,450);
  triangle(430,110,250,450,390,350);

  fill(50);
  noStroke();
  ellipse(250,125,410,410);

  fill(skinlt);
  noStroke();
  ellipse(250,200,350,350);

  var lip = color(174,41,30);
  fill(lip);
  noStroke();
  ellipse(250,350,30,30);
  ellipse(250,320,40,40);

  var skindk = color(252,240,224);
  fill(skindk);
  stroke(skindk);
  quad(250,450,170,393,170,530,250,530);
  quad(250,450,330,393,330,530,250,530);
  ellipse(250,530,160,160);

  var ri = color(27,102,205);
  fill(ri);
  stroke(255);
  strokeWeight(5);
  ellipse(85,300,50,50);
  ellipse(415,300,50,50);

  stroke(50);
  strokeWeight(3);
  noFill();
  curve(5,26,200,30,400,250,50,100);
  curve(5,26,200,20,400,175,50,100);

  fill(0);
  noStroke();
  triangle(0,515,0,450,170,450);
  triangle(500,515,500,450,330,450);

  noFill();
  stroke(50);
  strokeWeight(10);
  arc(170,220,60,60,0,PI);
  arc(330,220,60,60,0,PI);

  stroke(80);
  strokeWeight(5);
  line(130,170,200,170);
  line(370,170,300,170);

  fill(250);
  stroke(251,191,46);
  ellipse(85,random(330,430),10,10);
  ellipse(85,random(330,430),10,10);
  ellipse(85,random(330,430),10,10);
  ellipse(85,random(330,430),10,10);
  ellipse(85,random(330,430),10,10);
  ellipse(85,random(330,430),10,10);
  ellipse(85,random(330,430),10,10);
  ellipse(85,random(330,430),10,10);
  ellipse(415,random(330,450),10,10);
  ellipse(415,random(330,450),10,10);
  ellipse(415,random(330,450),10,10);
  ellipse(415,random(330,450),10,10);
  ellipse(415,random(330,450),10,10);
  ellipse(415,random(330,450),10,10);
  ellipse(415,random(330,450),10,10);
  ellipse(415,random(330,450),10,10);

}

 

Leave a Reply