Steven Fei – Project – 02

steven fei variable face

function setup() {
    createCanvas(600, 600);
       
}
var shirtColor1 = 255
var faceRound = 300; /*100, 300*/
var hairX = 130; /*120, 135*/
var noseHeight = 295; /*295, 315*/
var noseTip = 20; /*10, 25*/
var mouth1 = 120; /*30, 120*/
var mouth2 = 30; /*1, 30*/
var eyebrow1 = 250; /*220, 255*/
var eyebrow2 = 230; /*200, 240*/
var eyeHeight = 60; /*50 , 80*/
var eyeballX = 230; /*210, 250*/
var eyeballY = 290; /* 290-eyeHeight/2-15, 290 + eyeHeigh/2 + 15*/
function draw() {
    background(227,252,207);
    
    //body
    noStroke();
    fill(shirtColor1,14,14);
    rect(100, 450, 400, 140, 100, 100, 0,0);
    noStroke();
    fill(199,158,95);
    triangle(240, 450, 300, 530, 360, 450);
    
    //ear
    noStroke();
    fill(252,226,177);
    circle(130, 300, 50);
    noStroke();
    fill(252, 226,177);
    circle(470, 300, 50);
    
    
    
//    face
    noStroke();
    fill(240,210,180);
    rect(130,200, 340, 300, 0,0,faceRound, faceRound);
    noStroke();
    fill(252,226,177);
    rect(150,200,300,290,0,0,faceRound, faceRound);
    
//    hat
    strokeWeight(1);
    stroke(20);
    fill(135,171,230);
    arc(300, 200, 340, 250, PI, TWO_PI, PIE);
    strokeWeight(1);
    noStroke();
    fill(93,129,186);
    arc(300, 200, 300, 225, PI, TWO_PI,PIE);
    
//    hat rim
    strokeWeight(8);
    stroke("black");
    fill(240,217,180);
    arc(300,210, 200,80, PI, TWO_PI, OPEN);
    
//    eyes
    noStroke();
    fill("white");
    ellipse(220, 290, 95, eyeHeight);
    noStroke();
    fill("white");
    ellipse(380, 290, 95, eyeHeight);
    
    //eyeball
    stroke(100);
    strokeWeight(3);
    fill("black");
    circle(eyeballX, eyeballY, 30);
    stroke(100);
    strokeWeight(3);
    fill("black");
    circle(eyeballX + 140, eyeballY, 30);
    
    //hair
    stroke(50);
    strokeWeight(3);
    fill(30);
    triangle(130,200, 175, 200, hairX, 300);
    stroke(50);
    strokeWeight(3);
    fill(30);
    triangle(470,200, 425,200, 600-hairX ,300);

//    eyebrow
    stroke("black");
    strokeWeight(5);
    noFill();
    beginShape();
    curveVertex(150, 245);
    curveVertex(150,245);
    curveVertex(190, eyebrow2);
    curveVertex(210, eyebrow2);
    curveVertex(240, eyebrow1);
    curveVertex(240, eyebrow1);
    endShape();
    stroke("black");
    strokeWeight(5);
    noFill();
    beginShape();
    curveVertex(450, 245);
    curveVertex(450,245);
    curveVertex(410, eyebrow2);
    curveVertex(390, eyebrow2);
    curveVertex(360, eyebrow1);
    curveVertex(360, eyebrow1);
    endShape();
    
    //nose
    fill(209,173,107);
    noStroke();
    triangle(300, noseHeight - 8, 280, 350, 320, 350);
    fill(237,225,183);
    noStroke();
    triangle(300, noseHeight, 280, 350, 320, 350);
    fill(237,225,183);
    stroke(217,187,132);
    strokeWeight(1);
    arc(300, 350, 40, noseTip, 0, PI, OPEN);
    
//    mouth
    noStroke();
    fill(217,108,102);
    arc(300, 390, 180, mouth1, 0, PI, PIE);
    noStroke();
    fill(252,226,177);
    arc(300, 390, 180, mouth2, 0, PI, PIE);
    
    

}

function mousePressed(){
shirtColor1 = random(10, 255);
faceRound = random(100,300); /*100, 300*/
hairX = random(120,135); /*120, 135*/
noseHeight = random(295,315); /*295, 315*/
noseTip = random(10,25); /*10, 25*/
mouth1 = random(30,120); /*30, 120*/
mouth2 = random(1,30); /*1, 30*/
eyebrow1 = random(220,255); /*220, 255*/
eyebrow2 = random(200,240); /*200, 240*/
eyeHeight = random(50,80); /*50 , 80*/
eyeballX = random(210,250); /*210, 250*/
eyeballY = random(290 - (eyeHeight/2) + 15, 290 + (eyeHeight/2) - 15); /* 290-eyeHeight/2-15, 290 + eyeHeigh/2 + 15*/
}

Steven Fei – Looking Outwards – 02

With the development of algorithms, even artistic ideas can be developed and turned into reality with great efficiency. When designing architecture, I always put a lot of manual adjustings and editings for linework drawings and overal layouts of the rooms. However, an architecture studio Wallgren Arkitekter has created some programs embedded in the architectural parametric modeling tool Grasshopper.

Finch’s automatic production of room layouts
View this post on Instagram

Let’s draw some dwellings with #finch3d

A post shared by Jesper Wallgren (@jesper.wallgren) on

Once the site constraints and several specific requirements such as wall thickness and architecture type are set, the program will automatically create elegant drawings for the plans and sections. Meanwhile, the building models are created with great detail. When the user makes changes to the settings, changes in the drawings are laid out instantly. Such an algorithm provides an insight into modern healthy and safe living, and it also takes advantage of the site to generate the most ideal and economic layout for the rooms. Moreover, when combined with other programs that deal with weather and transportation proximities, the algorithm will also produce a map analyzing which house or suite will be most wanted. Such a new program inspires me to compare my own design with what the machine produces and to see which design factors I have considered or not. In addition, the program greatly facilitates the design efficiency and enables us to think in a wider picture for forms and environment.

Click here to see the introduction of the software

Official website for the software:http://finch3d.com/#

Steven Fei-Project01- Face

sketch

function setup() {
    createCanvas(600, 600);
    background(147,201,149);
   
}

function draw() {
    
    //body
    fill(120,29,29);
    strokeWeight(1);
    rect(110,445,420,400,95,80);
    strokeWeight(1)
    fill(225,183,129);
    triangle(230,450,330,700,430,450);
    strokeWeight(0);
    fill(242,206,160);
    triangle(240,450,330,650,415,450);
    
    fill(255);
    arc(200,550,40,40,0.5*PI,PI+0.5*PI,CHORD);
    fill(0);
    arc(200,550,40,40,PI+0.5*PI,0.5*PI,CHORD);
    fill(255);
    arc(200,540,20,20,PI+0.5*PI,0.5*PI,CHORD);
    fill(0);
    arc(200,560,20,20,0.5*PI,PI+0.5*PI,CHORD);
    fill(255);
    ellipse(200,560,5,5);
    fill(0);
    ellipse(200,540,5,5);
    
    //ear
    strokeWeight(0);
    fill(255,220,169);
    ellipse(130,294,50,60);
    ellipse(505,294,50,60);
    //noStroke();
    //face
    strokeWeight(1);
    stroke(0);
    fill(255,222,171);
    ellipse(322,280,340,453);
    
    //nose
    noFill();
    strokeWeight(1);
    stroke(34,34,34);
    line(320,240,350,333);
    
    stroke(0);
    line(350,333,330,345);
    strokeWeight(1.5);
    stroke(0);
    line(330,345,315,348);
    
    //mouth
    arc(327,380,80,20,0-0.1*PI,PI,OPEN);
    
    //eyes
    stroke(0.5);
    fill(255);
    arc(242,230,100,40,PI,TWO_PI,OPEN);
    stroke(1);
    noFill();
    arc(242,230,100,40,0,QUARTER_PI,OPEN);
    noStroke();
    fill(255,222,171);
    ellipse(242,230,95,35);
    fill(0);
    ellipse(260,230,16,16);
    
    noStroke();
    fill(255);
    arc(390,230,100,40,PI,TWO_PI,OPEN);
    stroke(1);
    noFill();
    arc(390,230,100,40,PI,PI-QUARTER_PI,OPEN);
    noStroke();
    fill(255,222,171);
    ellipse(390,230,95,35);
    fill(0);
    ellipse(360,230,16,16);
    
    //hair
    fill(0);
    quad(137,157,127,260,150,297,170,200);
    
    //hat
    strokeWeight(1);
    fill(71,74,90);
    arc(290,140,350,250,PI-0.19*PI,TWO_PI,PIE);
    strokeWeight(9);
    stroke(7,15,55);
    fill(255,222,171);
    arc(360,160,200,120,PI,TWO_PI,OPEN);
    
    //eyebrow
    stroke(0)
    strokeWeight(8);
    line(215,180,306,175);
    line(345,179,430,175);
    
    
    
    
    
}

Steven Fei-Looking Outwards-01

Maths and computations lend creative power to artistic and architectural designs.

Math Museum Interior Installation

Three years ago, I was amazed by Zaha Hadid’s design of the Mathematics Gallery at the Science Museum in London. Inspired by aircrafts, the interior membrane installation stands elegantly and shows a strong sense of movement and evolution. Such a practice indicates the strong influence of technology on the environment and the space that people experience. Designed by a team of more than ten people, the form was scripted and paramatrically controlled to achieve an ideally continuous and complex shape. Moreover, the design suggests an enlightening future for artistic creations aided by algorithms. Strongly influenced by such new technology, I use an algorithmic design tool called Grasshopper a lot in my architectural designs and formal explorations.

Article for more information from Archdaily