nudibranch experiment

Audio by Daft Punk (“Recognizer” from Tron Legacy [SoundTrack]).

Nudibranch is an experiment inspired by the motions of a spanish dancer, a type of sea slug commonly found on coral reefs. They oscillate their fins symmetrically as well as rhythmically to travel through open water. This experiment is an abstraction of that motion.

In my previous experiment, I was writing code natively in Processing IDE. I’ve had some luck working with the FDT4 IDE for work related projects so I figured it was about time to plunge into the Eclipse framework. It was definitely a challenge getting everything setup but once it was, working in Eclipse was a breeze.

The first step was to create a simple following motion in 3d space using code I found while browsing through the processing forums. I implemented it to a simple chain script that I converted from 2d to 3d. While the mouse follow was technically working, the range I was receiving leaned towards the extreme causing weird jumps in animation. I instead opted for a simple motion that followed a osculating track.

In the balloon experiment, I was exposing much of the math calculations which overcomplicated the code. In this experiment, I used the toxiclibs libraries which handled much of the complex mathematics and saved me quite a bit of time and headaches along the way. The purple dots represent a scaffold for me to visualize the flapping motion. To quickly go over the construction, I’m building the nudibranch in terms of segments, like slices of a banana. Each slice points towards as well as follows it’s parent. I first parse and store all the points of all the segments and then draw those points later.

The next step was to create a simple oscillating line that protrudes from the center of each segment aka the fins. Using sinusoidal motion that’s offset by the segment id, I’m able to get the motion and cause a ripple effect that travels from the head to the tail of the nudibranch.

I added another scale and offset to each segment to make the flapping of the fins less rigid. I also started playing with the visuals creating line segments for better viewing.

I added the mesh fills soon after and proceeded to fine tune the parameters I created to mimic the look and feel of a nudibranch. I had quite a bit of fun modifying the parameters via the controlP5 sliders so I exposed it to the viewer and added quite a bit more which included motions related to audio, as well as the ability to randomize and animate across all parameters.

This was the basis for the nudibranch video which randomly changed form and shape over time. It may not look like a nudibranch any more but the essence is still there. Feel free to download the latest mac and pc desktop apps to view the ful experience.


6 Comments so far. Leave a comment below.
  1. reverse professional,

    Could I ask you that can this be built with Flash 8?
    If not, what about ActionScript 3.0?

  2. I don’t think this can easily be built with flash 8 or as3 at this time. The app is using OPENGL, a 3d library that can render tens of thousands of triangles quickly. There are some legacy 3d libraries in flash but none of them are capable of drawing that many triangles on a screen without significant lag. So until molehill (new version of flash that has proper OPENGL support) comes out it would be difficult to create.

  3. Very nice the 3d graphic and the music. Anyone Know the programs and library to do that?

  4. Physics3D Class in AS3 isn’t doing anything good. I guess it is better to use P5 to do this sort of graphics, or just COM in C++.


One Trackback

Add Your Comments

Your email is never published nor shared.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <ol> <ul> <li> <strong>