For centuries, the Chinese have represented the cosmos with four mythical creatures: the Azure Dragon, Black Tortoise, Vermillion Phoenix and White Tiger. The Silver River is a generative art piece which captures this seamless fusion of technology and myth, of science and art, and of old with new.
Still shots from Media Art Nexus, North Spine Plaza
The Silver River is an interactive generative digital art piece made entirely through the use of coding on Processing. It makes use of particles to create an abstract representation of the four mythical beasts in the Chinese cosmos.
Please refer to the OSS links below for more information on my methodology:
Ever since the last process post in week 7 there have been some pretty drastic changes to my MAN work so I thought I would just do a final update post!
In the previous post (here) I tried out adding lighting, shadow and texture to the spheres in Processing. However I still wasn’t happy with the appearance and the lack of movement. Referencing some codes which contained a movement algorithm which is derived from orbiting of planets in outer space, I also scrapped the galaxy background and added in a moving starfield background instead which was simpler and looked nicer. The result was the following:
I was happy with the way the planets orbited and the appearance of the background. I initially added in the gradient colour textures to the spheres to give it a more interesting look but it wasn’t working for me so I eventually reverted back to white. I also didn’t like how when I put it in the media art nexus dimensions, the spheres would get stretched out. And because I was doing the code with a 3D renderer with so many spheres, my code would run really slowly every time and it was a hassle for me to test it and record videos. So at the last minute, I decided to scrap it almost completely and came up with something that was still similar but was simpler and honestly to me was a lot nicer.
This was the final video! I was much happier with how it looks and it was more cohesive and easy to use as well. I kept the background from the previous versions and instead of the spheres in 3D renderer, I stuck with the normal 2D renderer on Processing instead and was able to make the particles smaller and make the whole code run more smoothly. Instead of using the gravitational orbit movement algorithm I switched it to an attraction/repulsion algorithm and I much preferred how it looks. I also used some codes which mimic the flocking patterns of migratory birds for some of the particles (pink) as the pink particles represents the Vermillion Phoenix and I thought it was quite fitting and added some interesting effects to the composition.
While I have exported it as video for the MAN wall, if I were to run it as a code on processing it is actually an interactive generative art piece as the movement of the particles is mouse-controlled by the audience! If given more time and opportunities I would like to see how it is possible to input Kinect for this interaction.
This week I tried out with adding a background to the composition as well as changing the look of the spheres and adding lighting and shadow. I also tested out adding textures and a glow to the stars but both requires more work as I don’t really like how they turned out and I want to try to improve their look a little bit.
For the background this is just an image which I took off the internet so I have been thinking of creating my own video (film) content to add to the background. Will work on it over the course of this week and during recess week.
Code wise I have been trying to correct small bugs in my code and make it more comprehensive so I will consult Corey/Isaac on that later on (:
One of the challenges which I knew I would face in this project is deciding which stars (out of hundreds of thousands in our known universe) I would be choosing to focus on. I decided to focus on the Twenty-Eight Lunar Mansions (二十八宿) which are highlighted in the above picture in orange.
Each of the “Lunar Mansions” represents one constellation in Chinese astronomy and has a Determinative Star which is the “main” star in the constellation. Since I was able to find the corresponding Western star to each of the determinative stars, I decided to start collecting data from there.
I arranged all the stars and their relevant data in the above excel sheet and used some mathematical formulas to calculate their Cartesian (x, y, z) coordinates. After some more tweaking of numbers I came up with the values in the last 3 columns above to input into Processing (:
These are the determinative stars plotted into Processing in 3D format (to take into account all 3 axes). So far I’m still figuring out how to navigate in the 3D space in the way I would like to, I recently discovered a Processing add-on called Peasycam which helps a bit! I’m able to interact with the spheres via my mouse but there is a lot more to consider in terms of adding textures, visual effects and interaction for the media art wall.
This moodboard encompasses a more traditional Chinese feel, and is based on actual star charts originating from ancient China.
The second moodboard has a more contemporary scientific feel, and I based it off interactive planetariums that I found on the internet as well as Google Sky. It can be done through Processing and has a more datascape-like feel.
Additionally, here are some video/tutorial resources I found which may potentially help in my execution:
I have been continuing with my research on Processing and while on Tumblr I stumbled across something called Generative Art/Creative Coding:
There is a lot of similar art especially on Tumblr where there is a whole community of “generative artists” who specifically make use of Processing to create GIFs and stills like these! This is a really exciting discovery for me because it’s something quite similar to what I’m going for in terms of visuals and software wise.
Discovering the genre of generative art has also helped me narrow down my research on technique and I found a tutorial online which shows you how to code the above constellation effect on Processing. This is a great help and definitely something I will refer to (: In terms of interactivity (should I choose to do it) this is something that I could go for.
After considering the project brief, I have decided to narrow down the focus on my project on Chinese history and culture because being Chinese myself it is the Asian culture I would feel most comfortable and apt at representing.
Idea 1: Silkworms
In 2640 B.C., Si-Ling-Chi, a Chinese Empress was walking through her garden when a cocoon of a Silkworm dropped into her tea. Upon picking it up, she found the cocoon begun to unravel, forming a beautiful string of what is now known as ‘Silk’. Historically, silk has been considered a Chinese treasure and is extremely significant to our culture, and even led to the creation of the Silk Road which is an ancient trading network that played a significant role in the development of the civilisations of China.
Traditionally, silk produced by silkworms is white and silk dyeing is a practice invented and carried out by the Chinese for centuries. In my research, I discovered that in recent years a new technique for silk dyeing has been in use which is that silkworms are being fed with coloured dyes which leads to the silk they produce being of the corresponding colour. Because of how concentrated the dyes are, the bodies silkworms themselves will also turn colour.
The silkworms being force fed with dyes felt metaphorical of the way Chinese culture is nowadays often caricaturised just to make it more palatable to an international audience, such as in logos and packaging seen above. This discovery gave me mixed feelings because on one hand it is a much more effective and cheaper way to dye silks (traditional silk dyeing is a tedious process) but at the same time I saw it as a perversion of a Chinese tradition steeped in history and ancient culture. I think a lot of young Chinese people today especially those living in foreign countries struggle to strike a balance between sharing our culture with peers in a way that is respectful to them and to our own roots.
For this particular idea, I planned to continue using silkworms to metaphorically represent the dilution of Chinese culture in modern times. Conceptually I was going for something tongue-in-cheek and satirical, based off the following videos:
I’m a sucker for stupid videos like this HAHA and I feel like as strange as they may be, there is a certain charm to them and a lot of people find themselves drawn to its wackiness. My intention was to create an animated sequence with silkworms similar to the ones above, with the possibility of audience interaction with the worms.
Idea 2: Chinese astrology
I was researching on the famous Chinese lantern festival when I came across the statement “During the Han Dynasty, the festival was connected to Ti Yin, the deity of the North Star.”. This intrigued me and led me to shift my research towards Chinese astronomy and I was pleasantly shocked at the amount of material available on Chinese astronomy! Apparently the Chinese were one of the first cultures to observe and map the stars and Chinese astronomy is a wide topic full of narratives and science and also has ties to Buddhism and Taoism.
The above is the first star map I came across of the Suzhou Planisphere. Visually I was very drawn to its appearance due to its unpolished look and its negative colours.
Another map I found is the Dunhuang Star Chart, which is the earliest man-made star chart to have been recorded anywhere in the world. There is a lot of history behind it which you can watch the video above to find out more but I really like how the stars were mapped in such a way that it follows a narrative. In the above image, the cluster of stars in the middle represents the emperor (天皇) and the two bracked-shaped strings of orange dots represent the walls of the Forbidden Palace. The stars were mapped in such a way that as the night progressed, a person viewing the stars according to this map would see the emperor as he left his palace and toured the royal city.
Visually while I prefer the appearance of the Suzhou planisphere map, I think that the Dunhuang chart does have a more traditional look to it due to the inks used and the colour/texture of the paper which makes it look more authentic to Chinese history. I will have to put more thought into it and consult Ina to make a decision. There are also other visuals that I can consider, such as going down a more modern route and making it look more like a modern day planetarium.
Further thoughts & considerations
I showed Ina these ideas in week 2 and after discussing with her, I decided that I would prefer to work on Idea 2. I do think that because we are supposed to represent a culture in this project, it’s important to be a little more aware and sensitive of what we are putting out especially if it is to be shown in a public space. This mindset was what led me to choose Idea 2 because I felt that Idea 1 could potentially look distasteful and not representative of Chinese culture. With that in mind, I continued to brainstorm specifically on how I could represent Chinese constellations on the media wall.
I discovered these online planetariums which maps the view in outer space from any place on Earth at any given point in time. The second one is a little more useful because it shows the connection between each star to form the constellations. For the first one, visually it is something that I would like to make my work similar to should I choose to do something more data-based and less inherently Chinese.
Also, because all the star maps available these days are of the modern Western sky and I would like to map the stars according to Chinese astronomy, I used the above 2 maps to compare the 2 systems (they are the same stars, just connected in different ways). This is still a work in progress because there are so many stars out there but I may possibly simplify it by focusing only on the main constellations!
Another thing I discussed with Ina and Corey about is the possibility of making this an interactive piece through the use of code through Processing. I currently have a few ideas on how to do this but as of now it requires more brainstorming and research.
I’m super excited to be working on this project! I don’t think anything like this has been done before and I’m learning a lot about my own culture through my research. Stay tuned to this space if you would like to see updates on my progress (: