Uncategorized

“Between the lines/書中”, an installation using Kinect and openFrameworks

July 23rd, 2011  |  Published in Uncategorized

The installation art I have been working on since last month have been installed. You can now see it in action in Hong Kong Book Fair from 20-26 July at Hong Kong Exhibition and Convention Centre, inside the booth of CityU Press (1D-A28).

Come and join us to play the interactive programme at our bo
By City University of Hong Kong Press  |  View on Facebook

Kinect(OpenNI) is used for motion tracking, running a program I wrote in C++ with openFrameworks. Collision and softbody simulation is done by Bullet.

Artist statement

“Between the lines/書中” is an interactive installation that visualizes the famous Chinese proverb “書中自有黃金屋”, which literally means “A book holds a house of gold”.

Viewers can go into a 3D virtual space where Chinese literature sentences suspended all over the place. By waving and touching, the Chinese characters will be transformed into gold. And with enough golden characters, a house of gold will be constructed.

The Chinese sentences are extracted from The Four Books(四書), which are the authoritative texts of Confucianism(儒家) in China written two thousand years ago. They are displayed in both traditional Chinese calligraphy and modern fonts, in the meaning of those classic texts are relevant to society independent of time.

The interaction is a visual representation of the joyful and rewarding experience of reading books. There can be multiple viewers interact with the installation at the same time, which aligned to the fact that book reading can be a social process, where readers can share thoughts, recommend books to each other.

Chinese sentences that hang inside the screen.

The house of gold appears when there is enough golden sentences.

Viewers can touch the sentences and turn them into gold.


http://www.facebook.com/video/video.php?v=255107494499599

Tags: , , , ,

Generative art in haXe and OpenFrameworks final round, showcasing in Playful Media 2011

June 24th, 2011  |  Published in Uncategorized

The generative arts are going to be shown in Playful Media, which is the showcase of BScCM, the Bachelor degree program I graduated last year. This is going to be my 4th year joining the exhibition(2010, 20092008)! If you are in Hong Kong and have time, come to have a look!

It’s almost half a year, coding a piece of generative art everyday using haXe and openFrameworks. It was certainly fun and educational to me, as I had to keep reading, trying and mixing all those generating methods, brainstorming new algorithm, looking for best programming approach etc. Doing all those things everyday sharpen my skill a lot, and I’m really excited when people tweet about them, leave comment here or over Flickr. Thanks guys!

However, I decided to stop continuing the journey (at least for a while). Occurring to me often in the last few weeks, I either spent too much time on one piece, affecting my school works, or because I have to finish some urgent things, I tweaked only a little on the previous code, resulted in producing an unsatisfactory piece. I was sick and had a fever last week, which became a good time to close the project.

I now have more time to play with other interesting ideas, and finishing the works that queued up. hxOpenFrameworks will continue be developed, of course. Let’s expect some OpenCV, Kinect (OpenNI) and other goodness :)

Finally here are the selected pieces I made in June:

Kept the fractal circles idea going.
20110601_000257
20110602_150821

Some more saturated color with complementary color scheme.
20110604_203423

Reduced opacity, the circles merged nicely to each other.
20110607_232554

Simplified but surprisely eye-catching vector-style flower.
20110610_222235

I ported Eugene Zatepyakin(in-spirit)’s AS3 FluidSolver to haXe and started to play with it.
20110612_055429

Here I put several rotating color sources in the center and push out dark red colors. Pretty horror looking.
20110613_194301

More sources, larger radius. It looks like an eclipse, does it?
20110614_230019

An eye-catching fire ring. The key is to add color and force periodically other than continuously.
20110615_211730

Simulating the diffusion of ink on paper.
20110616_042334

A cup of generative latte. Think I can build an app for making coffee art.
20110618_065311

Another color, another pattern.
20110619_135648

Tags: , , , , ,

haXe jQueryExtern update: align with 1.6.1, ‘jQuery’ package…

June 12th, 2011  |  Published in Uncategorized

I’ve recently updated jQueryExtern to align with jQuery 1.6.1. To get it, use the usual “haxelib upgrade” (or “haxelib install jQueryExtern” if you have not installed it previously).

I introduced some changes that would like to expain here:

package jQuery;

Finally jQueryExtern has its own package, “jQuery”. The previous “jQueryPlugins” package is also moved to “jQuery.plugins”.

It is done because jQuery has more and more types, eg. “jqXHR“, “Deferred“ and”Promise” are introduced in jQuery 1.5. In the previous versions of jQueryExtern, most of them are prefixed by “JQuery” (“JQueryPromise”, “JQueryDeferred”, “JQueryEvent”) which is lengthy and redundant, with “jQuery” package, it is now safe to remove the prefix. In case of name collision, simply use the fully qualified names, eg “jQuery.Event”.

To conclude, you should now “include jQuery.JQuery;” instead of “include JQuery;”.

JQueryStatic and _static

To solve the problem of haXe disallowing the use of same name for static and non-static members, previously I grouped the static methods into a separate class “JQueryS”. It is now renamed as “JQueryStatic”, which is more meaningful.

I’ve also added a “_static” static property to “JQuery”. It is for the people who don’t read documentation, when they type “JQuery.”, there is still a code completion “_static” for them to retrieve the “JQueryStatic” class.

Whether to use “JQuery._static” or “JQueryStatic” is up to you.

Backward compatibility and JQUERY_NO_DEPRECATED

Don’t worry on having to change all your production codes to match the changes mentioned above. I’ve included a top-level “JQuery.hx” for maintaining backward compatibility. A number of typedef are placed there to solve the old naming.

However, the old naming are deprecated and the top-level “JQuery.hx” will be removed a few versions later. You should try to update your code and test with “-D JQUERY_NO_DEPRECATED”.

The typedef trick have not been made for the plug-ins, so if you’re using any of the plug-ins, you have to make the changes when updating to jQueryExtern 1.6.1.

Tags: ,