Unpredictability is one of the most important reasons for me to draw with code. Uncertainty could be generated from certain formula. The first time I realized it, I was astonished. I stayed up all night rethinking everything I knew, from a single cell to the whole universe. Then I knew I must draw something with it.
So I made this series of feedback looks called Kaleidoscope. I want to show intuitively how complex images can actually come from simple origins, thus cast light upon how nature generates sophisticated patterns.
When making it, I regard myself more as a bystander than a maker. Because this is the magic of nature. I just produce some conditions, and watch it dances. So I sit with audiences, and get surprised and moved by it time and time again.
C++, openFrameworks, openGL
The interaction of Kaleidoscope. This work was selected by Shanghai Art & Design for the exhibition Trans-design in West Bund Art Center.
It is generated from a single white circle.
I guess many people have been attracted to fluid like I do. The math behind it must be beautiful. And it gives me countless inspirations to do generative design. I am still working on it and I want to go deep into it in the future.
To be continued…
It was originally inspired by Olafur Eliasson's Water Pendulum. I have always been attracted by the movement of pendulums, hair, wind and things like that. In this series I want to record the beauty of them, and convey the feelings of mine when seeing them.
It was made when I first started to learn code. Though the algorithm is simple, it is surprisingly beautiful.
- Jellyfish I -
- Jellyfish II -
- Jellyfish III -
I print the " jellyfish" series on translucent paper, then put them in a sequence in front of the light. Thus we can see different phases of its generation in a row.
iv Traditional Chinese painting
In this work I use openframeworks generate some traditional Chinese shui-mo (Ink and wash painting). As the most important and common images in Chinese traditional paintings, moon and trees often associates with ancient Chinese myth and philosophy.
I want to make a program to generate different shui-mo paintings in different time, according to different weather, thus when hanging on the wall, it will keep changing, and each look will just appear once in the lifetime.
Flocking is another interesting topic in simulating nature. It is basically using algorithms to simulate swarming behaviors of birds, fishes or insects, which is a great way to create natural movements.
What I admire is that the algorithm generates such randomness and complexity with such simple rules. Seeing it with my own eyes, I am amazed by the profundity behind the quote: "nature is frugal".
I took a picture of shadows of my hair and macbook. It is the original inspiration of this work.
vi Baroque Patterns
This is a baroque pattern generator made with Openframeworks and OpenGL. It is made for designers to generate different patterns for their design just within several clicks.
The hardest part of it is that I don't want to create something "digital" or "geometric", which I think is a typical misunderstanding of computer-generated patterns. And my intention is to use computers create things that do not look like they are drawn by a computer, in other words, something natural and organic. And I'm happy with the results. They somehow convey a spirit of human, like they've been drawn by hands. And they remind me of some baroque patterns, so I just call it this.
C++, openFrameworks, openGL
Each one has great amounts of details.
vii hand-drawing plants
Plants with hand-drawing stroke. Again, I want to use machine create something "human".
I tried plenty of methods to simulate the natural stroke of hand drawing. It may not seem like this, but I spent a week on a single dot of the petals of the branch (Then another week on those petals). But after all the toil and moil, my friends saw it and shouted:" Wow, it looks so alive!", which made me feel it really worth it.
I am still working on it, and hopefully it will generate more interesting outputs in the coming year.
viii shader clouds
Cloud simulation using shaders.
Jupiter photo by NASA. The original inspiration.
ix 2D Graphic Editor
A 2D editor for vector graphics. The editor will allow to draw simple shapes interactively, include drawing, dragging, deleting, scaling, translating, rotating triangles and changing its color by vertex.
Assignment for csci-ga2270 Computer Graphics.
x 3D Graphic Editor
A 3D editor that allows to prepare 3D scenes composed of multiple 3D objects. It will allow you to load mesh, draw it in wireframe, flat shading or phong shading. It also allows basic interactions like selecting, moving and rotating.