With time*(index-1), it's taking the input time and spreading it out so that the 1st item ends up with time*0; the 2nd item, time*1; the 3rd item, time*2; and so on. Actually, taking off the -1 might be better. With time*(index-1), the 1st item always sits at an x-position of 1.2, offscreen. If you change it to time*index, the 1st item slowly moves to the left over time. (This is easier to see if you temporarily change Curve : Start Position to 0.9 so it's onscreen.)
GOING INTO THE Y
X+perlin2d(time*speed,X*scale)*amount — OK, let's break it down.
Each image is assigned a different randomly chosen value between -1 and 1 when the composition starts. That's X.
The X+… part of the expression offsets the image vertically. So, rather than being clustered near the middle, the images are spread out vertically.
The perlin2d function takes 2 inputs. We're using the first one to make the image move up and down over time. time makes that happen, and speed is just a parameter that you can change if you want the movement to be faster or slower.
We're using the perlin2d function's second input to make each image follow a different path, instead of all moving up and down in unison. The unique X of each image makes that happen. scale is another parameter that you can change or not. If you make scale closer to 0, the images are closer to being in unison.
The last part of the expression — …*amount — is yet another parameter. It controls the vertical range of movement for the images.
One small suggestion (sorry if I messed this up in my original composition) — to keep extra events from going into the Build List loop and possibly messing up its count, there should be a Hold Value between Change Speed and Calculate.
I am working on a sound visualizer and know that the composition could be a lot more efficient. Right now I am instancing multiple shapes that could probably be generated via a list node but applying object orientated programming techniques takes some getting used to in Vuo.
acknowledged. Looking forward to that fix. I have found that running in separate processing causes some serious trigger lag/freezing. I've found that preloading the vdmx media bin and triggering them once before a show puts the comps into ram. then you can trigger them without any noticeable lag/freezes.
mle no sorry I can't explain more.
As I said I'm not a math expression guy, so just like you I more or less understand the why and how but I grabbed those from answers from Jaymie and the example you found and some sample composition linked to the Calculate List node if I'm right and just play with the parameters until I get something a little satisfying ;)
From your screenshot I see you opened the first version of the composition, I had then uploaded version 1.3 using simplex noise instead of perlin and some tweaks and think the icons move more independently.
I'd love to know more about those too. If somebody know a link on the web about these or wanna make a tutorial with some examples it would be cool.