Curious if the irregular matrix generator will work for my needs. I’ve got a 300 pixel strip on my tree and I was thinking about how I could fake a matrix on it (fatrix?) by specifying specific lengths as rows in the matrix.
When I loaded up the generator it just looked as if the matrix assumes an always square matrix, minus the pixels I click, but my strip is effectively 40 on the bottom row and tapers up to 5 or so on the top row and I only want to include what I deem “front facing” pixels.
I’ve mapped everything out ( I think), but the output of the matrix generator doesn’t seem to reflect the correct pixels to the corresponding rows, unless I’m just using it wrong. Is there another way to do it but creating individual row arrays and saying “hey, these are the pixels, these are the rows they belong in and this makes the matrix”?
How are you doing the mapping? I think you’ll not only have a large matrix size with a lot of blank/off/disabled pixels, but I would think you’d also have to go in an manually correct the numbering/order of the remaining on pixels. Maybe try taking a photo of the tree from the side you want to view it from and then overlay a grid over it to help figure out what the matrix size will be and what your numbering pattern will be.
Unless you’ve sort of arranged your light string on your tree on sort of a 2D plane, and not wrapped around and around, mapping is going to be rather manual I think.
I spent about an hour figuring out which pixels work out to be “the front”, so I have those numbers, and I’ve got no issue with a manual mapping, I guess my question is, how do I define it so then I can use the matrix XY functions to run noise patterns and such over.
Your XY matrix will only be all your front facing pixels, correct? Would you have to remap those to a new continuous number sequence (0 to whatever), and then place those numbers into your XY matrix?
Something like that. Bottom row: 14-40. Next up: 57-75. Next: 90-115. etc…etc…etc.
Another option might be to say, okay, pixel 0- 50 is row one, 51-89 is row two, 90-145 is three, etc… kind of like a wrapped, gradually shrinking cylinder.
I recently did this and it was like the method Christopher just described. I decided to index a rough column of lights running up the back of the tree: 0, 24,46,68,87,… I made myself a little helper routine, so that I could move the lead LED up and down along the strand and then make note of the index number when I found the best placement. This is controlled with a TV remote, so that I could use the up/down buttons to make this easy. These index numbers allowed me to define a number of “rings” that ascend the tree.
I adapted some of the other FastLED animations to map using the rings. The fire animation looks pretty good like this and the Pride animation is really cool. I’ll post up a video when I have a chance.
Then I took these numbers and used the irregular matrix tool to create a triangle shaped matrix which wraps around the tree along the rings. It’s not perfect, but the effect is what I wanted. The Noise animation makes the tree look like a groovy lava lamp and is mapped with the XY matrix code. Twinkles also uses the XY, but I’ll bet that one looks pretty much the same no matter which way you map it.
Here is a video I threw together this morning. Please excuse the lousy edit job, but I was doing it from my mobile phone. I need to create a GIT repo or the like to post my code. Any time you see the colors jump to a new palette instead of blending was because I was switching them with the remote control. When I have time I will tweak that so it blends from one to the other instead of abruptly switching.