More selected projects

Human & Ocean

Every year, 500 billion plastic bags are consumed worldwide; One million plastic bottles are sold every minute, but only 9% of the plastic produced globally is recycled; That's about 8 million tons of plastic that ends up in the ocean.

produced by:  Cheng Yang  (


This work simply depicts the relationship between the ocean and human beings.

Part 1:

People began to build houses & Footloose fishes in the ocean  ->  harmony

Part 2:

The white pollution created by human beings floats freely in the ocean, it creates a ‘net’ that captures the vitality of the ocean -> conflict

Part 3:

Fishes in the ocean are dying from the white pollution, humans are constantly ‘encroaching on’ the ocean  -> ‘occupy’ (it means humans are sucking up resources from the ocean without understanding how to protect it)



From the very beginning, I wanted to do a project related to the topic of environmental protection. I originally planned to use three cubes to describe the relationship among human beings, ocean and forest, but in the end, I chose to focus on human and ocean because I didn't have enough time to complete the forest part (it is a bit pity).

I prefer to use colorful and bright colors in my works, so I choose bright blue (close to klein blue, and klein is one of my favourite artists) to represent ocean, and use bright yellow( city can give people a feeling of vitality) to represent city. Meanwhile, I have a background of learning user experience design, flat design style is the mainstream design direciton and I like flat elements. So I decided to code 2D graphics like the houses and fishes so on.


ofVec2f:  it is a class for storing a two dimensional vector. But after Andy's first week's class, I found that ofVec2f is out of date, and I can just use vec2 (glm::vec2).

Recursion: I use this to create the movements of my houses. The code derives from processing (A demonstration of recursion, which means functions call themselves).

length(): I use this to create the movements of the plastic bags and bottles, when they move close to each other they will be connected by lines. length() can return the length (magnitude) of the vector.!show_length

Future development

I think my animation is a bit simple. In fact, there could be more interesting dynamics to show the white pollution of the ocean, but there are some dynamics in my mind that I don't think I can fully realize yet(I often use the same mindset I use to create animation in AE to think about my movements by code). And I wasn't happy with the scene switching, it is too stiff. Maybe I should have improved the script for the whole story and made the transitions more natural.

Self evaluation

I'm a code beginner, I cannot tell the difference between vector in openframeworks and vector in processing before, they have the same name but have the totally different meaning. In this project, vector is what I used most. Although I didn't use very complex techology, I think at least I understand and can use all the code taught in term1.