Forum Rule: Always post complete source code & details to reproduce any issue!
Results 1 to 7 of 7

Thread: Video: FastLED simplex noise modulated by itself

  1. #1

    Video: FastLED simplex noise modulated by itself

    Hello everybody,

    I just wanted to show you an animation I created today.

    It´s basically only one 16x16 layer of noise data. I used several points in that array to manipulate the x, y, z coordinates and the x & y scaling of the calculated noise space. Another point is used to control the colorshift within a predefined color palette (the orange - blueish one). The palette itself could be controlled by noise data also, but I decided to keep the basic colors within a given range.

    To make the colormapping a bit more interesting I added a second layer from the HSV spectrum based on the very same noise data with an inverted brightness mask.

    The result is a vivid and ever-changing animation that fully controls itself. No external parameter, no random values, not even millis() is used. The only predefined influence is an increment of 1 of the 32 bit z value for every frame. I did this to make sure, that the animation never gets stuck in an infinite loop or a still frame in case all control points happen to become 0 at the same time. You never know.

    Math is beautiful!

    Hardware: Teensy 3.2 + 256 APA102s driven at 24 MHz. Runs at 280 fps @96 Mhz.

    Greetings, Stefan
    Last edited by StefanPetrick; 06-22-2017 at 03:18 PM. Reason: hunted typos

  2. #2
    Senior Member
    Join Date
    Jun 2013
    Torrance CA
    This looks great! Is your code posted anywhere?

  3. #3
    The interesting part I showed here.

    In case there is any interest I could publish a complete "standalone" program as well. Right now it´s part of a bigger piece of code.

  4. #4
    Here the complete code, so far only tested on a 16x16 but it should work with any matrix size. Feedback is welcome.

    edit: Confirmed to work even on a 8x4 matrix.
    Last edited by StefanPetrick; 06-24-2017 at 07:09 AM.

  5. #5
    Senior Member
    Join Date
    Jun 2013
    Torrance CA
    Thanks! I will play with this as soon as possible.

  6. #6
    I got the particularly erratic movements smoother now by averaging every control point over 4 neighbor noise values.
    I also added a noise influence causing the colormapping to become slightly desaturated controlled by the noise. That adds a bit more "breathing" to the animation. What do you think? Improving the effect or over the top?

  7. #7
    Just a short report what I´m doing at my second day with the Teensy 3.6: 3 independant noise/RGB layers with slighly different 12-bit long color palettes. I added the layers at the end without any scaling in order to don´t lose color resolution. Float32 based noise now, in the videos before I used FastLEDs int16 version.

    If you watch the video - please give it at least a minute before you judge. All the movements are very slow by purpose - so you can see the critical edges (where the colors are close to black) better. Still 3x8-bit APA102s. At the end of the video I lift the diffusor.

    Résumé: The 3.6 has an amount of calculation power that allows animations with a quality and precision that was unthinkable before.
    Still >400 fps.

    Last edited by StefanPetrick; 06-29-2017 at 08:18 PM.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts