The Image I Chose (❗️ It may be a little bit scary!!!)
I chose this photo because I am a huge fan of the cartoon Doraemon, and it was the day when Halloween party was held at school.
So instead of drawing regular Doraemon, which is popular but not that challenging. So I chose this photo to better fit the theme of Halloween.
At first, I planned to draw the whole Doraemon, however, it is too hard to draw the precise shape on processing. So I decide to only draw the head. Less work but I would make it delicate and include more details.
I first calculated the size of the frame according to the sketch paper handed out by LAs, which is 1000*700. Then I calculated a lot of numbers to make it clear which shape should be placed in which place. I planned to make the sketch paper more precise, so there would be less work when writing the codes.
This is the photo of my sketch paper:
I could easily find the coordinates for each vertex, as I could tell it from the dots on sketch paper. I almost kept all parts of its head, and I just simplified the blood part. In fact, the general shape of Doraemon is easy to draw, as it only includes 2 circles. However, I worked hard on the details, because there are a lot of irregular shape in his head. For example the eyelids, blood, lips and teeth.
And I think it would be tedious with only a head on the screen, so I decided to add some text.
Then, I still think I could make it better by adding some animation, so as a horror image, I decided to move its eyeballs and the texts. As I believe it would make it more scary😆.
Honestly, I don’t think Processing is a good tool for drawing. All the work I could have done them in 20 minutes on paper or drawing apps. With a lot of computation to find out the coordinates, adjusting them, adding variables……I think Processing makes it more complicated and time-consuming.
- My Final Sketch:
- My code:
void setup() { size(1000, 700); imageMode(CENTER); } void draw() { strokeWeight(4); background(#A00808); fill(#4079D3); circle(500, 200, 320); //head; fill(255); push(); strokeWeight(10); stroke(#A00808, 200); arc(515, 215, 285, 285, PI+PI/7, PI+PI/2, OPEN); // ellipse(515, 215, 285, 285); // middle head pop(); fill(#EAE8E8); ellipse(515, 215, 280, 280); // inside head; push(); stroke(120); strokeWeight(15); arc(515, 215, 262, 262, PI/2+PI/10, PI+PI/2, OPEN); //face shade pop(); push(); fill(#A00808, 120 ); translate(440, 120); rotate(-PI/9); ellipse(20, -20, 70, 45); //left eye; fill(#284305); float r = random(5); float o = random(5); circle(14+r, -30+o, 17); // left eyeball; pop(); push(); fill(#BF9292); translate(450, 90); // lower left eyelid; rotate(-PI/9); arc(0, 6, 72, 45, 0-PI/7, PI+PI/7, CHORD); pop(); push(); fill(#A00808, 120); translate(530, 80); ellipse(-15, -4, 60, 38); //right eyes; fill(#284305); float i = random(5); float h = random(5); circle(-28+i, -10+h, 15); //right eyeball; pop(); push();// right lower eyelid; fill(#BF9292); translate(515, 76); rotate(-PI/16); arc(0, 3, 62, 38, 0-PI/7, PI+PI/7, CHORD); pop(); fill(#A00808); circle(497, 110, 40); // nose; noFill(); bezier(506, 129, 520, 156, 520, 156, 525, 180); //人中; bezier(444, 294, 500, 130, 550, 190, 607, 195); // uplip; bezier(450, 280, 524, 212, 565, 205, 584, 193); // downlip; push(); stroke(60); bezier(459, 275, 524, 227, 575, 220, 605, 218); // downest lip; pop(); push(); strokeWeight(7); stroke(200); bezier(459, 280, 524, 232, 575, 225, 605, 223); // downest lip; pop(); bezier(354, 190, 387, 160, 387, 160, 444, 128); //left mustache; bezier(359, 210, 395, 170, 395, 170, 447, 132); bezier(364, 230, 403, 180, 403, 180, 449, 135); bezier(522, 102, 540, 95, 540, 95, 570, 90); // right mustache; bezier(522, 105, 545, 100, 545, 100, 590, 96); bezier(524, 110, 550, 105, 545, 105, 620, 107); beginShape(); // teeth shape noFill(); vertex(450, 280); vertex(468, 258); vertex(477, 239); vertex(493, 225); vertex(512, 200); vertex(529, 206); vertex(558, 190); vertex(586, 194); endShape(); beginShape(); // blood shape fill(#A00A0A, 200); curveVertex(455, 269); curveVertex(455, 269); curveVertex(444, 294); curveVertex(449, 317); curveVertex(466, 336); curveVertex(488, 351); curveVertex(532, 361); curveVertex(532, 361); vertex(542, 358); vertex(539, 359); curveVertex(539, 359); curveVertex(539, 359); curveVertex(517, 347); curveVertex(479, 326); curveVertex(465, 316); curveVertex(461, 295); curveVertex(469, 268); curveVertex(469, 268); vertex(455, 269); endShape(); line(472, 235, 479, 237); //teeth line(492, 231, 500, 239); line(488, 210, 496, 221); line(505, 194, 514, 202); line(530, 208, 538, 215); line(534, 182, 545, 197); line(556, 193, 557, 205); line(566, 191, 572, 198); fill(#150303); textSize(90); float c = random(15); float d = random(15); text("DO U LIKE DORAEMON?", 50 + c, 480 + d); }
- Additional Video
I like video clipping, so I made a horror video for my recitation work (Friendly reminder: the content may be uncomfortable for some people, so be careful when you watch it!!!)
Citation
Wallpaper Seram Vel – Upsc Website Hacked. (n.d.). Wallpapertip. https://www.wallpapertip.com/wpic/JhJTTm_wallpaper-seram-vel-upsc-website-hacked/