function setup() {
createCanvas(500,500);
angleMode(RADIANS);
}
function draw(){
background(201,227,255);
//bunny ears!!
noStroke()
ellipseMode(RADIUS);
fill(255);
ellipse(320,100,40,95);
ellipseMode(CENTER);
fill(255,225,242);
ellipse(320,100,45,110);
ellipseMode(RADIUS);
fill(255);
ellipse(180,100,40,95);
ellipseMode(CENTER);
fill(255,225,242);
ellipse(180,100,45,110);
//behind head
fill(39,3,0)
ellipse(250,300,280,340)
//neck
noStroke()
fill(253,215,189);
rect(220,350,60,60);
//face
noStroke()
fill(255,230,204);
ellipse(250,250, 210, 230);
//hair
push()
rotate(PI/-6)
fill(39,3,0)
ellipse(100,270,175,100)
pop()
push()
fill(39,3,0);
rotate(PI/-8)
arc(140,245,190,150,0, HALF_PI + HALF_PI);
pop()
push()
fill(39,3,0)
rotate(PI/-9)
ellipse(240,330,35,150)
pop()
//mouth
fill(0)
rect(235,320,28,4)
//shirt
fill(225,189,255)
ellipse(250,490,180,230)
//blush
fill(255,204,222)
ellipse(185,290,20,10)
fill(255,204,222)
ellipse(310,290,20,10)
//eyes
noStroke()
fill(39,3,0)
ellipse(195,270,25,18)
noStroke()
fill(39,3,0)
ellipse(300,270,25,18)
//eyebrows
push();
noStroke()
fill(39,3,0)
translate(width/2, height/2);
rotate(PI/1.25);
rect(-45,-30,24,5);
pop();
push();
noStroke()
fill(39,3,0)
translate(width/2, height/2);
rotate(PI/4.75);
rect(-50,30,24,5);
pop();
//flower
translate(330,200)
noStroke()
for (var i = 0; i < 10; i ++) {
fill(255,204,222);
ellipse(0, 10, 20, 60);
rotate(PI/5);
}
noLoop();
}
This is one of the first projects I’ve worked on in p5.js and I discovered that it is time-consuming to try and figure out the position of every shape on the canvas. I hope that I can learn, understand, and become more familiar with how to translate/rotate/position shapes so the entire process will be more efficient. I don’t have rabbit ears in real life (would be cool though) but I typically draw myself with rabbits ears anyway. I am feeling determined in this self-portrait.