Archive for the ‘Processing’ Category

Eyeo: Post Conference

Friday, July 1st, 2011

I have been home from the fantastic Eyeo Festival for a full day and thought I should write up a few notes that I neglected to mention during my talk. I had intended to say this stuff out loud but as I ran out of time and since I had switched over to showing iPad content, I never went back to my presentation where I had a few extra notes and takeaways ready to go. So here they are.

Iterate

Your first attempt at anything is likely going to suck. Let’s face it, most of us are not phenoms. In fact, I cannot think of a single person I have met in my 38+ years who was able to excel at something shortly after trying it for the first time. We all need practice, and lots of it, for everything we try. From learning to talk and walk, to learning to play an instrument, to learning to drive, to learning how to be a social creature… it all takes practice.

Want to know how to get better at something? Do it over and over. And over and over and over.

However, it cannot just be mindless repetition. There are two additional factors that need to come into play. You need to also do the following.

1) Correct. You should work on fixing the things that didn’t go right with the previous iteration. Make a list of the things you want to address. Tackle the big items when you have a clear head and a nice block of time. Otherwise, pick off the smaller ones. However, don’t get overzealous with your corrections. If you happen to mutate your project into something interesting but unintended, save this mutation so you don’t overwrite it. I have lost some nice bug-made oddities because I was too concerned with fixing errors.

2) Improve. You should research the field to try and learn things to add to future iterations. This means looking at what people have already done and also what people are trying to do. Staying on top of advancements in your field of interest is definitely worth the effort. Unfortunately, this may mean you find yourself looking over SIGGRAPH white papers or University theses that are over your head. This is fine. Don’t get too caught up with not understanding what is written. Just look at the pictures if that is all you can manage. The important thing is to continually expose yourself to information about your interests.

Collaborate

I don’t know how many of you played D&D as a kid (or as an adult… no judgement here) but I will speak now as if all of you have. When you roll up a new character, unless you cheat it is highly unlikely you will create a demigod. You might have a 18 here or a 16 there, but you will never ever roll up a character with an 18 for every attribute. Ideally you will have one high attribute, perhaps an 18 strength. With an 18 strength, you would make a fantastic fighter. So off into battle you go.

But life, fantasy or not, is never easy. Your first run-in with a couple filthy thieves results in a gash across your chest and you drop half your hit points and suddenly you start to suffer the reality of the situation. You need healing abilities. So what do you do? Well, you don’t go running to the library to start a multi-year process to learn how to cast a healing spell. Instead, you find a cleric who has an 18 wisdom but happens to suck at fighting and you join forces. Now, you are much more powerful than the sum of your respective skills.

And the beauty of this setup is that nobody feels like they are being taken for granted. The fighter has an intense appreciation for the healing abilities of his new cleric friend, and the cleric is thrilled to have found someone that can fight off the horrible monsters that lurk out in the wilds. So if you are a fighter, find yourself a cleric friend. If you are a cleric, track down some muscle for hire. Because if you don’t, you will live a limited life and never get to see what is on the other side of the dark forests at the base of Mount Craggyspire. Or whatever.

I have spent much of my coding career learning how to manipulate particles and figuring out how to make OpenGL make things pretty. But I suck at many other aspects of coding. Which is why the projects involving collaboration ended up being the most successful. The visualizers I have made with Andrew Bell, and the Planetary iPad app which I am currently developing with Bloom… those projects have meant the most to me and I am damn certain I would not have been able to make them on my own.

Baby Steps

I went through a talk I gave in 2004 and saw a slide that, though a bit harsh, still represents the best advice I can give to young idealistic coders. It said, in bright red on white, TAKE TINY STEPS OR FAIL!!! and the FAIL!!! bit was flashing on and off for emphasis.

A problem I suffer (and hopefully it isn’t just me) is that I see something awesome someone else made and it gets my mind churning and I start thinking “I can totally do a 3D terrain simulation with physics, CLoD implementation, and realtime weather effects” so I dive right into XCode and start making my Globe class and the Weather class and on and on and before you know it, I feel extremely overwhelmed which usually has me running for the remote so I can watch science documentaries in an attempt to distract my bruised ego. Knowing exactly what you want to make can often be the largest barrier in your creative journey.

My advice in this situation is to take some time to break the problem up into bite size pieces. Work on little prototypes. Explore each tiny concept and eventually, start to put them together. If you are too focused on the gap between what you envision and what you currently have, you will likely lose faith.

Plus, if you have a bunch of well-understood bite size pieces, it will make it much easier to combine them into bigger projects. But if you start in with building a big project, it is much more difficult to pull out the pieces you want to repurpose later.

Take a walk or a shower

This may not work for everyone but it has been very useful to me. If I am stuck, either creatively or programmatically, I go for a walk. Or if it is late in the evening, I will take a hot shower. Something about those two activities really helps me clear away the mental fog and helps me to focus on the issues at hand. I have cleared many a hurdle just by putting on my headphones, slipping on some shoes, and going for a walk through the neighborhoods of San Francisco. This doesn’t mean walking over to the neighborhood bar for a drink. Walk while mulling over the problem at hand and head home when you have an idea of what to try next.

I realize what I am writing here is nothing new. We have all heard these points made by many. They have reached rockstar cliché status. But this doesn’t mean it isn’t worthwhile to be reminded every now and again.

Ira Glass on creativity: http://www.youtube.com/watch?v=BI23U7U2aUY

Frequently asked Questions

Should I learn Processing, OpenFrameworks, or Cinder?

Depends. On many things. Your skill level, your dedication, and your interests. It is important to say that it is not a matter of which framework you choose. It is much more about how much effort you are willing to put into it. Learning something new can be hard and I sometimes worry that when I am asked this question, what I am really being asked is “Which is easiest?” Unfortunately, coding is difficult. And as I mentioned above, there is no substitute for practice.

That being said, I usually answer Processing. Not because Processing is easy, though it is definitely easier than trying to learn C++. I answer Processing because Ben and Casey have made it part of their mission to create a framework that would make it as easy as possible for those with a less technical background to enter the world of creative coding. The first thing you learn in C++ is usually something like how to write text into the console. The first thing you learn in Processing is how to draw a circle. Coming from a visual arts background, I was far more interested in drawing circles. I still am.

This doesn’t mean learning Processing over a C++ framework will limit your work. This is especially true if you plan on doing a lot of graphics work with OpenGL. Generally speaking, OpenGL is OpenGL regardless of whether you are getting there through Java or C++. And with all the advancements that are happening to Processing (look for Processing 2.0 soon) it is definitely a fantastic tool to become familiar with. So when I started to look for an alternative to using Flash for my code experimentation, the answer was a resounding Processing. But if you are a bit more computer-minded are are willing to put in the long hours reading C++ books and searching Stack Overflow for obscure Xcode error messages and trying to wrap your head around the difference between pointers and references and the reasons to use one over the other, something like OpenFrameworks or Cinder might be right for you.

What is the difference between OF and Cinder?

Honestly, that is not something I can speak to as I have only used OF a couple times. It was shortly after the Mac version came out and it was alpha and unstable. It has come a very long way since those early days. However, I am definitely a Cinder person and would be happy to talk about all the ways in which Cinder is awesome. I just can’t fairly speak to how it compares.

How should I get started?

The first half of the Hello, Cinder tutorial covers the creation of a simple particle engine and shows how to use it to do algorithmic stippling. The second half turns the particle engine into a flocking simulation. It does so using a three-rule system first described by Craig Reynolds here. During my Eyeo talk, I forgot to mention Craig Reynolds seminal contribution to the field of flocking simulation and only referenced Ian Couzin’s work (discussed here at a Radiolab webcast).

Also, take a peek at a post I wrote last year. Much of what is mentioned there is still relevant.

Hope this helps!

Form + Code

Monday, October 4th, 2010

The awesomely talented UCLA duo of Casey Reas (1/2 of Processing and come on, he has a 4 letter .com url. This guy is on the ball!), Chandler McWilliams (of The Barbarian Group and general art/philosophy brilliance), and the design/interactive shop LUST have teamed up to create a beautiful and expansive compendium of computational aesthetics. The book, entitled ‘Form + Code’, published by the Princeton Architectural Press, features an impressive collection of work. It is a must have for anyone finding themselves at the crossroads of art and technology. Not only is the book beautifully designed, but it is equally beautifully curated.

The book begins with a brief history of code and then showcases specific examples through the categories of repetition, transformation, parameterization, visualization and stimulation. You will likely see many examples that you recognize and hopefully, just as many which are new to you. I was happy to see ‘The Visual Thesaurus’ because it was the first website which made me see the artistic potential of code despite it being more of a reference site than an art site.

The Form + Code website is a good place to start. You can see some spreads from the book, list of contributors, and a bunch of code examples (written in Processing)… pretty much everything you need to get inspired. Also, check out the more thorough review by Rhizome.org.

The book is available from Amazon.com.

Hello, Cinder

Thursday, May 13th, 2010

As most of you know by now, I have been using a C++ framework called Cinder. It was created by Andrew Bell and The Barbarian Group. Last week, it was released to the public as an open source project.

With some help from Mike Creighton and Andrew Bell, I wrote a welcome to Cinder tutorial. It is a five chapter guide for getting started with Cinder. It highlights some of Cinder’s features and walks the reader through how to create the stippling project I posted a couple months back.

Source Code!

Included with the Cinder download are a bunch of sample projects to get you started. I haven’t been that good about releasing source code so hopefully I can make up for it now. The source for the following three projects are included in the samples folder.

Flint Ball (In the samples folder, it is called HodginParticlesRedux)

Earthquake!

Reaction Diffusion (using GLSL shaders) inspired by Toxi’s amazing work with RD

Fluid

Also, Andrew just finished porting Memo Akten’s MSAFluid library which is a rather lovely 2D fluid simulator. I used it to create a couple videos which use MSAFluid and a particle engine. Particles are deposited into the fluid and cause the fluid to move. The moving fluid then influences the movement of the particles creating a feedback loop. It ended up creating some nice examples of self-sustaining turbulence.

So there you have it. I am really excited to see Cinder out in the world. Check out the features and browse the projects in the gallery. If you have any questions or issues or compliments or suggestions, you can voice them in the forum. Happy coding!

Origins

Tuesday, April 6th, 2010

In 1998, I found my self on the verge of a frightening reality. I was about to graduate with a near 6-figure debt and a piece of paper certifying me as a ‘Sculptor’. And that is why I started working with computers.

I was slowly teaching myself Photoshop and Flash 3. I found the textbooks for learning these programs to be horribly boring. I recall very vividly one of the chapters in the Photoshop book directing me to draw a fuzzy selection around the fisherman in the image they provided. It was a misty vignette for a River-Runs-Through-It-inspired sentimentality, and I was bored.

Not surprisingly, I found that I was more driven and interested by the prospect of swapping heads in photos of people I knew. Eventually, swapping heads turned into adding penises. I was inspired by a friend’s personal art project. He would take a GAP or J-Crew catalogue and for a single one of the models, he would paste in a photo of the tip of a penis just peeking out the top of some smart khakis. He would then return these modified catalogues to the store and leave them in the stack for others to take.

After a few dozen heads and a few hundred penises, I decided I should start working on portfolio pieces. The work I had been doing wasn’t quite appropriate. I needed something else. I decided on creating a fake corporation and I would do some logo options and create different styles for business cards and potential websites. I played around with some fake pharmaceutical product names like “Pill-ex” and “Labrosine” and “Engorgetech”. Nothing quite felt right. Until shift-9. The ‘(’ character of the Zapf Dingbats font. The airplane icon.

The airplane changed everything. This little four-engine wonder was perfect. It would be the seed from which my fake company would grow but I still needed a name. Something related to airplanes and the internet and perhaps it should have a number in the name and hmm… What should it be?

I had always loved flying. It might be related to my father being a navigator for the U.S.Air Force and us growing up next to an Army/Air Force base. Flying was this strange thing that made my insides feel funny and my ears pop and I could finally see what the tops of clouds looked like and then we would land and I would be someplace new and exciting. Flying was fun. Until I grew to be 6′5″. Then it stopped being fun but that is a gripe for another day.

My fake company would be an airline. It would be both an airline and a specific flight, or maybe just a store that sells flight-related stuff. I recall my first logo attempts looked a lot like this.

Never content to blindly follow a fad, I chose to tweak the Helvetica ultra-light meets Helvetica black logotype formula with the addition of some Din Mittelschrift digits and the super awesome Dingbats airplane. And drop shadow! I never thought far enough ahead to understand why I had chosen ‘404′, aside from the fact that it was a number associated with a file not being found. I think the number was just in my mind so I went with it.

Skip a couple years ahead to the summer of 2001. I was thinking about making version 5 of my Flash experiments portfolio site. All of the previous versions were related to the airline theme somehow. The first couple versions of my portfolio showcased some movement experiments that were based on the visuals seen on the control tower radar screens. By the third version, I had switched to a navigation structure that was based on the seating arrangement on commercial jets. Each new project was represented by a taken seat, which unfortunately made it seem like I had nothing to show because there were a couple hundred empty seats and only a small handful of taken ones. After version 4 had been online for a long while, I decided I wanted things to take a slightly darker turn.

It was around that time I started to become fascinated by the idea of dying in a plane crash. Not to say I wanted to experience it personally. I was interested in death by flying because unlike gunshot wounds or car crashes or cancer or AIDS, the time that elapses between finding out you are likely about to die and actually dying is sickeningly long and horrifically short at the same time. Assuming the plane doesn’t run blindly into a mountainside, you are looking at a couple minutes of having to ponder just how much fire you will have to endure before the sweet release.

With a gunshot or car crash, the worst part is over before you even have a chance to think about how horrible it might be. I am generalizing of course. This little musing doesn’t take into account someone who is being held at gunpoint, or more topically, someone in a Prius. ZING!

With a degenerative disease, you have a prolonged misery but even with a worst case scenarios, you usually have at least a few days to be able to mend some relationships and say your goodbyes. In the plane about to to crash into the Pacific, you don’t even have the luxury of being able to make a phone-call. Maybe a few might get through on their cell phones but most will die with full awareness of how horrible it is going to be for relatives and loved ones to not be able to hear some final words. On a side note, I think planes should come with personal recorders in each seat so in the event of an impending crash, the passengers have a chance to save their parting message into the black box.

By the time I got around to thinking about version 5, I decided to take down version 4 and leave nothing at flight404.com until I could figure out the next steps. By now, I had established a minor reputation for doing some interesting things with Macromedia’s Flash. Upon finding a 404:file not found page at my site, numerous people asked via email what had happened to the site. “Where has flight404 gone?” and “What happened to flight404?”.

That is when I decided to base my next site on the idea of a plane catastrophe. Flight404 was going to disappear and a lot of people were going to die. The story was this:

Flight404, carrying 218 passengers and crew, has experienced what seems to be a supernatural event. At approximately 4:48 pm EST on September 6, while on route from Boston’s Logan Airport to Gatwick Airport outside London, Flight404 vanished into a clear blue sky approximately 40 miles off the coast of Newfoundland.

At a press conference held at Logan Airport, a visibly shaken member of the NTSB offered the following statement.

“As far as we can determine, the entirety of the Boeing 777, along with the seats, luggage, clothing on the passengers… basically, anything not biological, disappeared at around 27,000 feet, dropping the passengers and crew into the Atlantic.”

This new version of Flight404 was going to be a narrative. I would still post Flash experiments, but it would be intertwined with my personal search to try and find out why and how this event transpired. I began to research. I looked on eBay for people that were selling flight data recorders. Surprisingly, there were several. I ended up buying one from an ex pilot for American Airlines. He was very nice and gave me a bunch of airport maps. I asked him very odd questions like, “So… if a plane were to disappear over the Atlantic, how would Flight Control find out about it and what protocol do they follow to deal with this event,” and “If you were flying a plane nearby a plane that suddenly disappears, would you be required to divert your course and investigate?”. He didn’t give me very good answers.

Flight Recorder with water-activated sonar beacon.

Maps and approach vectors for most major airports around the world.

I had the first few bits of the story written. I would say that I was contacted by some of the family of people lost on Flight404 asking that I look into the events and try to find out what happened and if there was a government coverup. I created a few Flash sketches to add to the portfolio section of the site. These projects were also navigated to using an airplane floor-plan. I also had projects to represent the position of the pilot and first officer. I gave everyone names. I even wrote out the transcript for the cockpit voice recorder for when the black box would eventually be found, oddly not at the bottom of the Atlantic but in a field 10 miles north of Boston.

I had the homepage animation all set. After everything loaded, white dots would begin to fell from the top of the screen and when they hit the bottom of the screen, they would turn into gravestone markers. I had the first bit of the narrative written. I had a handful of projects in the portfolio section. I was ready to launch but there was a bug in my navigation that I could not figure out. I had some weird sorting issue for the projects so if I clicked on project 15D, 14D would try to load but I just couldn’t find this simple indexing error. I decided to postpone the launch. I would go to sleep and figure out the bug the next day. That was September 10th, 2001.

Two weeks later, President Bush raised the White House flag back to full mast so I decided to launch the site. I put a lot of work into this site and I wasn’t going to scrap it just because some terrorists decided to crash some planes. I put a notice on the home page indicating my feelings on the subject. I explained that I had been working on the site concept for over three months and that I had intended to launch on the 10th. I didn’t want to throw away all that hard work and start from scratch. I wanted to get on with my life.

Fairly quickly, the site made the rounds on the usual Flash forums and the comments were somewhat scathing. I was told that I was sick and that I was trying to profit from an act of terrorism. I was accused of taking advantage of an American tragedy. I was eventually interviewed by the New York Times. I got a $3000 server bill in the first month and eventually my site was shut down until I could pay off the debt.

It lasted for a few months. The storyline got more and more convoluted and I wrote myself into a decent sized hole. I quit updating after cops escorted me off a parking garage roof in downtown Boston. I had been shooting video of the planes taking off from Logan airport, which is a couple miles away. Some people on the upper floor of a nearby hotel saw me and decided I looked suspicious enough to warrant calling the police. I got annoyed. Version 6 arrived soon after.

GAFFTA: Transpose

Tuesday, February 23rd, 2010

I just posted some information that shows I haven’t been sitting on my ass doing nothing and not posting. I have been busy, I swear!

Here are the fruits of my last two month’s labors.

http://roberthodgin.com/gaffta-transpose/

RobertHodgin.com

Monday, January 11th, 2010

I have launched a portfolio site.

roberthodgin.com

Cymatic Ferrofluid

Wednesday, December 9th, 2009


Picture by munkt0n

This black oil is the reason I code. Not literally but it has had a profound impact on what I find myself coding. In 2002, I bought a small amount of ferrofluid off the internet. It was around the time when I started to learn Processing. I began asking for advice on the Processing forum on how to translate the formulas for magnetism into code. I received a great deal of help and after a couple days, I had a working 2D prototype. I have been using some version of this prototype ever since. You can see the prototype here but it was written for a pre-beta Processing so the code is pretty old. If you are looking for source code, I recommend Shiffman’s tutorial on forces.

The reason the black oil appealed to me was that it allows you to visualize the invisible field surrounding magnets. Its like a three dimensional execution of the iron filings test but much more mesmerizing. I instantly wanted to know more about them. Why do they behave the way they do? Why are they spaced out just so? What insane amount of math is going on behind the scenes?

I recently came across a similar looking phenomenon when looking for late night distraction on YouTube. Cymatics is described by wikipedia as being “the study of visible sound and vibration”. Below is an image of how vibrations from audio can create non-newtonian structures in a cornstarch and water solution.

If I wanted to create a similar looking structure, I would fill a space with magnetic particles (which would all push away from each other) and corral them with a central gravitational force (which would pull them all towards the center). It would look like this:

It is not a bad solution, but it doesn’t really have any personality. It just looks like the result of a circle-packing exercise. Not only that, it isn’t descriptive of the process I am trying to model. With the ferrofluid, there was no central gravitational force tying everything together.

Recently, I revisited the magnetism code. Somewhere in a flurry of ‘what if‘ guesses, I tied the mass/charge ratio to the particle’s distance from the origin. It ended up working surprisingly well.

As a particle moves towards the center, it would gain mass. If it moves towards the edge of the threshold, it loses mass. I added a hint of Perlin noise to break up the circular boundary. It is mesmerizing to watch the particles fall into place. Something about it feels right.

The next step was to disguise these particles. I added them to the multitouch project I have been working on (which I will talk about in my next post). In addition to the goo being distorted by touch, it can now be distorted by the magnetic particles. Every particle tells the mesh at the corresponding location to distort itself by an amount equal to the mass of the particle. Additionally, each particle creates large but shallow surface ripples. Again, the larger the mass, the larger the ripple. This creates a lens distortion which keeps the mesh surface dynamic.

This project also uses webcam input as a simple environmental reflection. I realized I could get a simplified subtle global illumination effect by having the webcam pull in color and brightness directly from the output, creating a highly decaying feedback loop. In short, I draped a piece of white paper over the laptop webcam so that the camera only saw light coming off the monitor.

Here are a couple short renders. They reflect realtime performance. I hope to have videos with audio soon.

Cymatic Fluid from flight404 on Vimeo.

Cymatic ferrofluid, lighting test from flight404 on Vimeo.

Cymatic ferrofluid from flight404 on Vimeo.

Next up, I will talk about the process I used for creating the goo itself. Perhaps eventually, I will be able to code my own cornstarch monsters. Stranger things have happened.

Homage to Radiolab

Thursday, November 12th, 2009

As I mentioned in a previous entry, I am working on an application to be presented at the V&A Decode exhibition opening in December. I was asked to rework the Solar piece so that it could be audio responsive in real-time.

During the development, I realized my usual habit of listening to music was not going to serve me well. As far as I know, the gallery will not be blasting The Knife throughout the space. I switched off the music and started making beep boop blah blah blah noises into the microphone but this got old, fast.

I put out a call on Twitter for podcast recommendations. A couple people were strongly in favor of WNYC’s Radiolab. I decided to give it a go and man… it is all I have listened to for the last three weeks. Im completely addicted.

I took a snippet from the episode entitled “Musical Language” which features a beautiful soundscape created by Jonah Lehrer. In the episode, Jonah and Robert Krulwich are analyzing the notion that sound is “touch, at a distance”.

Solar rework from flight404 on Vimeo.

Many thanks to Jad Abumrad and Robert Krulwich and the excellent Radiolab team for giving me so many hours of intelligent distraction.

Find out more about the podcast at: http://www.wnyc.org/shows/radiolab/

Hopefully, you will be entertained enough to support: http://www.wnyc.org/support/

The Classics Presents: Le Petit Dummy

Tuesday, November 3rd, 2009

Reposted from The Classics Presents site.

Three months ago, Bill and I decided to create an iPhone app. We had an idea in mind and though the idea was most definitely low-brow, we thought the challenge worthy of our efforts. So down into the gutter we climbed to begin working on the app that would become Le Petit Dummy.

Everything was going as planned. We were making great progress. Then it happened. Something entirely unanticipated. The more time we put into developing the app, the more it became respectable. Lo, our gutter-born brainchild was maturing! It sprouted wings of respectability and soared. The depths whence it came were now but a speck. It defied our intent and expectations and blossomed into something magical.

So, what does it do? What DOESN’T it do!

How many times have you longed to see the famous neo-classicist Jacques Louis David sing a scat rendition of Mouret’s Rondeau? If you are anything like me, the answer to that question is easily in the thousands. Well, my friends, long no more…

Too highfalutin? Okay. How about this? You could combine two disparate memes to create something greater than the sum of its parts.

Must go faster indeed! Perhaps you and TiVo want to collaborate to mock someone you saw on a Chevy commercial.

Not your thing, you say? You’d rather poke Kanye in the mouth as he tries to vocalize his innermost thoughts, you say? Be our guest.

Maybe a talking hotdog is more your thing. There’s an app for that!

Got a pet monkey? Does it often misbehave? Wish it could vocalize self-pity? Your wish is granted.

So many possibilities! Le Petit Dummy does it all! Well, it doesn’t do GPS turn-by-turn navigation but maybe we can work that into a 2.0 release.

Le Petit Dummy is available from the app store now. Enjoy, and don’t forget to tweet your new Twitter avatars.

Long time no see

Tuesday, November 3rd, 2009

One would think that me being technically unemployed would mean that I would technically have more time to post to this blog but one would technically be mistaken. I have been even busier in the last two months than I was in the several months prior. Doing my own thing has definitely revitalized my artistic efforts. In December, I am showing work at V&A (London), Wing Luke (Seattle), and GAFFTA (San Francisco). I thought I would write a bit about each.

Victoria and Albert Museum

I was contacted a couple months ago about contributing to the Decode exhibition. I will definitely be in good company. Among the contributors are Aaron Koblin, Jonathan Harris and Sep Kamvar, Golan Levin, Daniel Brown, Daniel Rozin, and many others. According to the site, Decode “will show the latest developments in digital and interactive design, from small screen based graphics to large-scale installations.”

They asked me if I could make a real-time audio reactive version of Solar. I created Solar two years ago. It originally came about because I was working on a demo for a talk I was to give at UCLA. It quickly became one of my more popular works. It features a magnetism and gravity sandbox where particles react to the intensity of the audio. Creating a compelling real-time version is definitely a challenge. The original Solar render probably ran at about 0.5 to 1.0 frames per second. Getting that up to between 30 and 60 fps is not going to happen easily.

Thanks to some great advice from Andrew Bell, I was able to create a robust version that still had a nice visual density but would still run at a good clip. It involved using instances of the parent sphere and child particles instead of calculating a set of particle positions for each sphere. Since I was definitely CPU bound (the magnetic repulsion calculations can get really heavy really quickly), this turned out to be a great way to still show tens of thousands of particles but only need to do repulsion calculations on a set of a few hundred.

Decode 01

Decode 02

Gray Area Foundation for the Arts

Im still not 100% certain what I will be showing at GAFFTA but it will likely be a series of prints based on modifications of the Solar engine I worked on for V&A. I created a tangent project called Moment of Fission. For this project, I place a few hundred charged particles in an extremely small space and then run the simulation. The particles don’t want to be that close so they instantly start moving away from the centroid. I trigger a render shortly after the particles start their rush to expand into unoccupied space. Below are a couple images from the series. More images can be seen in my Fission flickr set.

GAFFTA 01

GAFFTA 02

Wing Luke Asian Museum

The Wing Luke is having a show called Cultural Transcendence. I chose to try and recreate a memory I have of my time in Japan. My father met my Japanese mother when he was stationed at Okinawa for the Air Force.I lived there for only two years, between the ages of 3 and 5. I recall little of that time. My only strong memory is of a trip my family took to Mount Fuji. I remember climbing the gentle slope at the base of the mountain. It was very foggy and the path we took meandered through dense bamboo. There was an old man selling walking sticks from a wooden shack. My father bought one. I cherish that memory fondly.

A couple years ago, I asked my mother about the time we spent there. She laughed and said we had never gone to Mount Fuji. The memory I had was totally fabricated. We were actually in a public park just outside Tokyo. Mount Fuji was visible in the distance. It was not foggy. There was no bamboo. I had apparently made the whole thing up.

Fuji 05

In this piece, Mount Fuji always remains far away but looms over the landscape. It is always partially obstructed by bamboo and mist and other weather effects. Sometimes you can only see it because it is silhouetted by the passing full moon. It is a moody piece running in black and white.

Here is some test footage I shot off the monitor. Okay, the wind speed is cranked up too high but it should give you a decent idea of how the final piece will look.

Fuji test footage from flight404 on Vimeo.

Busy busy! I will post better documentation after the pieces are shipped and in place. Im excited for all of them. I am particularly excited for Fuji because I have been working on it for a few months. It is starting to feel right.