ICM Final: Complimenting Pictures

ICM 2016Fall

Complimenting Pictures

%e5%b1%8f%e5%b9%95%e5%bf%ab%e7%85%a7-2016-12-16-%e4%b8%8b%e5%8d%885-43-47 %e5%b1%8f%e5%b9%95%e5%bf%ab%e7%85%a7-2016-12-16-%e4%b8%8b%e5%8d%885-48-54

My perspective of this work is to create a collection of pictures that can draw the audience and give specific compliment.

Inspiration & Perspective

I found out that compliment from other people, especially those that you are not familiar with, can be really helpful to cheer you up when you are not in a good mood. One day, I told the lady doorman that her dark red nail polish look really beautiful on her before I went to a neighbor’s party. When I see her again after two hours, she was still so happy because of the conversation earlier.

I wonder if this kind of compliment can be replaced by machine. All of us had done this: checking out ourselves when passing by a reflecting surface: could be a store window, could be a car window. I wonder how would people feel if the reflecting surface give some feedback or talk to them such as texting:’You look great today’ when they’re checking themselves out through it.

Then I realize that if the compliment is just general, people would think that it’s not talking to them. So I decided to make it interactive, to detect the color of the audience cloth, and give a more specific feedback: You look great in red. The audience would feel that’s really talking to them.

My perspective is to create a collection of different sketches that drawing the audience at the same time all together. One of them is just a reflection but give text feedback and the others are with different styles, all changing color base on the audience’s cloth.

Tools & Approaches


All sketches are using video capture and drawing by pixels. I created a color count function and define how would a combination of RGB count as a red/blue/green.

And to make the audience be able to see the original sketch the the color changing process, I made the color changing code with accumulation of color count, that means only if the ‘red’ color counts 400 hundred times, the sketch would decide that you’re wearing a red color.

%e5%b1%8f%e5%b9%95%e5%bf%ab%e7%85%a7-2016-12-16-%e4%b8%8b%e5%8d%885-52-03 %e5%b1%8f%e5%b9%95%e5%bf%ab%e7%85%a7-2016-12-16-%e4%b8%8b%e5%8d%885-56-45

The code:





1. I only achieved less than 50% of my perspective. I couldn’t figure out how to detect and change color while drawing with particles, and the effect that I want the text feedback in a mirror look sketch, I couldn’t make it detect the color. I will keep working on it, try to figure out the functions I wanted and develop more types of brush stroke with particles.

2. But this is only the beginning. With ICM, the first time in my life, I realized coding could be a lot of fun and I’m not scare of it any more!


ICM 2016Fall

A Brand New World!

Video: sun-by-horizon_by-p5arduino

  • About the work: I used my second week ICM homework which contains a lot of variables all controlled  by one input signal. I think it’s perfectly suitable for this hello world serial communication experience! I used photo resistor to control the sunrise and sunset by sensing the “sun light”. When there’s light, sea water turn blue, when there’s no light, the sun goes down to the horizon.
  • About the experience: Combining P5 and Arduino provided us so many possibilities. Things became more real when you can control it in physical world. And I like the experience that we do this research in pairs, finding out solutions together.
  • Things that I wanted but didn’t achieve: In this original P5 sketch, there’s another variable–changing of the color of the sky which controlled by mouse click. I wanted to add this function in with a button on Arduino but it was more complicated than I imagined. I’ll definitely try it again when I gain more skills.


Movable house- My first experience with p5.js

ICM 2016Fall

I’d like to start with the pictures we drew in the class. I haven’t thought too much when I drew it, and I didn’t know what was the instruction for when I wrote it down. And the result turned out really interesting! Lola (I think that’s her name, I’m terrible with names, so sorry.) and I got each other’s drawing coincidently. With some coding background, she wrote a very accurate instruction which could be followed pixel by pixel. In contrast, I only wrote some abstract and subjective words like: ‘I have 2 shapes left, I hope it’s symmetrical –Let’s just add two circles and make the house movable!’


However, she actually reproduced my drawings almost perfectly! But I couldn’t follow her good instruction just because the digit ‘8’ written on the top of her sheet confused me, as it could be part of her description but it didn’t make any sense.

From that, I finally realized, the skill of using a language is not the most important thing to start with. The KEY is to understand who you are speaking to. In that case, my friend could reproduce my drawing because human understand thing by its meaning: anyone could draw it out more or less like mine if I tell them to ‘draw a movable house’. However, computer knows nothing about meaning, ‘drawing a movable house’ is nonsense to it. It’s just as simple as most beautiful poem in the world written in English could not touch a non-English-speaker.

With the knowledge of that, I started to try learning my third language to talk to the computer. This time I put the x and y one by one tamely like my first day of being a primary school student. And I got this.



I then realize the canvas in p5.js is different form the sheet I used before. OMG, give me a break. NOT every asian are good at math, OK? 😂 I made a rough reference to help myself find out the right spots.


I finally made the shape I wanted to make! And I finally made it movable! The whole process does actually feel like learning a language: if ‘people’ don’t understand what you are saying, maybe you are not using the right expression. Then you find out the right one by looking in a dictionary or keep trying until making yourself clear. And there are always some more effective expression to explore, such as I’d like to add a little bit interaction by letting the audience pause my ‘animation’ by pressing the mouse. I’ve never been so into coding like right now!!!  THX!!