Week1 Assignment | ICM

how computation applies to my interests?

I have studied digital media technology during my undergraduate years. What programming languages Daniel mentioned in class computer science students learn were exactly my situation: C++, Java, C#, openGL and etc.. In computer science department, we care more about functions and have no interest in beauty. It was a period of time that makes me struggle a lot.

It was not until I discovered some beautiful computational works created by artists did I realize what I wanted to create exactly. I was impressed by how processing, p5.js, openFrameworks and other libraries or frameworks whatever you call can help artists focus more on contents and less on programming and can help them easily create beautiful works.

Therefore, I finally find what computation means to me. It's a bridge for me to connect my feelings and ideas to my audiences or works. The bridge is only a method, but audiences and works are goal.

I browsed through Inspiration Wiki Page on github and wrote down the works and areas that impressed me the most.












Motion Graphics





However, the bridge is not very easy to go through. After I watched or viewed the works mentioned above, I realized that all the beautiful works require deep understanding and algorithms on computation. I have strong desire to learn how to realize them and hope to gain guides and instructions on realizing them.

Create my own screen drawing

Full Screen Mode


Edit Mode



Although I haven't used p5.js and processing before, I'm pretty familiar with Java and Javascript. So I quickly watched through the tutorial of Kadenze course , and used the book <Make:Getting Started with p5.js> to search for things I need.

The step is below:

1. I like abstract art, so in this assignment, I first used arc() to simulate the shape of butterfly.

2.Then I played with random() function, to assignment different values to determine the location and color of butterflies: rotate(), scale(),position(), alpha, color and etc..

3.Then I used push() and pop() function to relocate the coordinate's position every time I draw a butterfly.

4.For loop is used to generate random variables and butterflies.

5.Besides, I made two repetitive procedures into two custom functions: function drawButterFly(a,b,c,d) and function generateRandom();

6.I added mousePressed function to switch between different color modes, and they are decided by if statement.

Currently the form and shape of butterfly is not very nice. If I have time, I will polish it.

Changing some variables to make different feelings

Actually at first, I want to create a series faces of Pekin Opera, inspired by <Weird Faces>:


But then I found that faces of Pekin Opera are so complicated that they required a lot of time to figure out their shape rules: what is constant and what is variable. Besides the face has their own unique pattern which makes the idea more difficulte to realize.

Faces of Peking Opera


No tags yet.
Recent Posts