Inverse Fourier Transform of Swarm Data September 24th, 2009
Patrick Stein

Inspired by Neil Baylis‘s Blob Thing program that I talked about previously, I made some Fourier Transform art of my own.

Take a leader-bee in five-dimensional space. Give him a place to go in five-dimensional space. When he gets close to his destination, move his target spot. Have ten follower-bees try to follow him. The follower-bees can fly faster than the leader bee. They are also super eager. They always accelerate at their maximum possible acceleration.

Now, for each follower-bee, consider how far away it is along each axis from the leader-bee. Interpret those deltas as an amplitude, a horizontal frequency, a vertical frequency, a horizontal phase angle, and a vertical phase angle. Compute the inverse 2-D Fourier transform of those components from the follower-bees.

Color code the output by the height. Add in some specular highlights. Animate through time.

Fourier Swarm from Patrick Stein on Vimeo.

I have used a similar technique in the past to generate ambient music. There, I made twenty follower-bees in thirty-two dimensions and used the average distances along each axis to the leader-bee as the volume of the note (each axis had a different pitch). Here, the results are visual instead of aural. I also cannot generate them in realtime except for very tiny sizes. *shrug*

Here is the Lisp source code. It depends on Zach’s ZPNG library for output.

9 Responses to “Inverse Fourier Transform of Swarm Data”

  1. 2009-09-24 @ 10:18 PM

    Hah! Very cool.

    • pat
      2009-09-24 @ 10:43 PM

      Doh, I had meant to mention that I was inspired by your Blob Thing. I forgot to throw that in in the rush to get this out the door before my volleyball game tonight. I have now added an opening paragraph about that inspiration.

  2. […] added a heads-up display to the code from the previous article. This display shows you the coordinates of each of the […]

  3. 2009-09-25 @ 8:06 PM

    […] Inverse Fourier Transform of Swarm Data :: nklein software (tags: visualization swarm art generative) […]

  4. 2009-09-26 @ 12:41 AM

    I Totally want this as my screensaver, or an iTunes plug-in.

    • pat
      2009-09-26 @ 8:19 AM

      At the moment, it takes about 2-seconds per frame, so it’s not so useful in real-time. *shrug*

  5. 2010-04-27 @ 9:38 PM

    That’s brilliant, thank you very much. Do love visualising the higher dimensions

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <br> <cite> <code> <dd> <del datetime=""> <dl> <dt> <em> <i> <img alt="" height="" longdesc="" src="" width=""> <ins datetime="" cite=""> <li> <ol> <p> <q cite=""> <s> <strike> <strong> <sub> <sup> <u> <ul>

l