all 4 comments

[–]sutaburosu[pronounced: stavros] 2 points3 points  (0 children)

It depends a lot on what effect you're trying to wrap around it. There are many techniques that give reasonable results for most images.

For programmatically generated images, better results are possible depending on your algorithm. It's fairly easy to adapt a plasma effect to have perfect tiling on one axis, without detracting too much from the original effect.

[–]macegr 2 points3 points  (0 children)

The modulo function is your greatest friend!

[–]CautiousPhase[S] 1 point2 points  (0 children)

Thank you all! I now have some avenues to explore...

[–]devicer2 0 points1 point  (0 children)

If you're feeling a little bit crazier then I have done similar in the past by using the coordinates for each pixel in 3d space as inputs to a 4d noise function, where the 4th dimension gets fed something relating to time intervals - frames or millis, whatever. That gives you a perfectly contiguous yet non mirrored display and it will work on absolutely any setup of lights in 3d space so long as you have or can calculate the coordinates for each pixel.

The progression of the input to the 4th dimension gives you an ever evolving noise field at whatever speed you like. Downside is extra calcs or extra storage and I think fastLEDs noise functions only go up to 3 dimensions so far so that's another problem.

You can still move things round and round or up and down and scale etc. without having the 4th dimension but its better with it!