Exploring a spherical pixel layout idea…
Biggest two things I learned (so far) are:
(1) those little pieces of PVC pipe are really important to keep all the light from just blurring together and turning the whole ball into one big messy pixel, and
(2) “XY” does not map trivially and uniformly to the surface of a sphere. As you may be able to see, there’s no coherent ‘spatial’ animation yet… so far it’s just every pixel for themselves. I have a few options to experiment with; this is still definitely an exploration, not anything like a finished piece.
I LIKE IT A LOT! You should def use an “XY” map, sure it wont be uniform, but it will look AMAZING
Looks fantastic so far! I love the idea of using small pipes to focus the light, I’m going to have to try that. I was able to bring the lights closer to the diffuser to improve the look, but I think your approach looks better.
@Leon_Yuhanov : Physically, i’s 50 pixels: 4 rows of 10, and two rows of 5:
o o o o o
o o o o o
o o o o o o o o o o
o o o o o o o o o o
o o o o o o o o o o
o o o o o o o o o o
Logically, I have it internally mapped out as if it’s actually six even rows of ten each, and I just smoosh pairs of virtual pixels together in the top two rows. So I can program it as an XY grid and get some results.
Then there’s the fact that each row connects back to itself… Clearly, this is going to take some thinking, but it’s definitely interesting to be exploring.
@Jason_Coon : I used (very cheap!) PVC pipe with a 1/2" inside diameter. I brought one pixel to The Home Depot with me, and poked it in various pipes until I found the one that fit best.
OH… and if you work with PVC pipe at all, get a PVC pipe cutter, e.g. http://www.homedepot.com/p/HDX-Ratcheting-PVC-Cutter-TMC0001J/204284860 It makes beautiful cuts, is super easy to use, and costs a whopping $12. If you’re going to be cutting 50 (or more) little tiny snippets of pipe, this thing is a game changer.
That looks really great. Love the size of that sphere.
Did you space the pixels by eye, or use anything to help sort out the spacing/placement?
@marmil : I planned the pixel placement first: two small latitude ‘rings’ of five pixels each, and then four latitude ‘rings’ of ten – and these relatively rigid choices were made mostly to keep me from going insane, and to simplify the coding/mapping. Once I had the plan, I eyeballed the placement, and put pencil marks around the inner foam sphere where I thought the pixels should go. There was a little adjusting here and there, but I wasn’t going for an exact grid.
At the equator, the spacing of the pixels is limited by the length of the wire between them. Higher and lower latitudes had some slack in the wire.
Also, I angled the pixels slightly ‘upward’ overall, since the outer shell isn’t a full sphere, and the inner ball sits toward the bottom of it.
Definitely an exploration-in-progress. I feel like there’s a lot we could do with the formula of “pixels + foam base + PVC pipe”. Oh, and hot glue. Lots of hot glue.
Looks like it could be really awesome once you get the mapping right. Interested to see what this turns into!
I envy anyone who has the spatial brain power to even consider mapping a sphere! Awesome start!
Very very nice start…
I’m a bit worried about trying to give any advice in this forum now (specially to one of the co-authors…
as my last reply caused a bit of a ‘tempest in a teapot’, but here goes…
When playing with my 8X8X8 cube, and struggling with some of the variables used in animations from Peter Chestna, Jason Coon pointed me to this site…
My most recent experience with something kinda similar was mapping my Xmas tree LEDs (332 of them) in the…
Cylindrical coordinate system - Wikipedia
My tree is actually organised in a more ‘organic’ matter and not so much equally spaced in either distance or angle, like that nice sphere of yours and forced me to painstakingly map each pixel into 1) radial distance, 2) angular coordinate and 3) height. I managed to get a few nice but simple 3D animations using these cylindrical coordinates before I got pushed in to making it a funky 2D tree this year.
You could similarly map your actual pixels manually, into the spherical coordinates and try that out…
I’m thinking that if you could somehow equally space your pixels such that they are at regular spacing either in distance and/or angle you could more easily use that system.
Last comment, and I’ll readily admit that one has a bit of a negative aura to it… you have plenty of room on that styro ball to add more LEDs… that ball is definitely missing quite a few pixels !!
Best regards, JP
@JP_Roy : Thanks for the links! I’ve been thinking about this for a while and I keep coming back to one central question: what do I want? what am I trying to do?
And I think the lack of a clear answer there is what makes this an “exploration” still-- I want to try all of the options, and see what ‘sparks joy’, you know?
@Daniel_Garcia and I both had the same thought about the same time last night: "Well, now we obviously need to get four-dimensional (3D + time) noise up and running!
In the meantime I think I’m going to try things like: various XY 2-D planes mapped onto the sphere, and then some rho/theta options.
I’ve been idly chewing on non-grid pixel layouts (especially cylinders and toroids). Mapping them into xy is ugly. Not really sure what I want.
Could go the route of associating each pixel with it’s neighbors, and doing some diffusion.
Could look at some of the larger pixel art projects, that have a bigger view of the space, and then the location of arbitrary pixels in it.
Neither is super satisfying though.
Hey @Seph_Aliquo … it’s a complicated topic! And the ultimate question is something like “Well, what do you want?” Answers might include:
- a notion of neighbors
- a way of mapping a 2-D imagine onto it
- knowing the XYZ coordinates for each pixel
- knowing the closest pixel (or “none”) for a given XYZ triple
And THESE questions then lead back to: well, what are you trying to do, visually and artistically? And THAT might be the actually difficult question to ponder!
Folks here have done some non-planar and non-rectilinear 2-D (and non-linear 1-D) work, and it’s always interesting. Please do share whatever thoughts and explorations you have!
One thing that can be fun is to have multiple coordinate layouts for the pixels - and using each layout for different things. For example, on one piece that I have - noise functions use the actual XY layout of the pixels for brightness, but different noise functions are using an entirely different mapping (still XY, but from a completely separate layout of leds
for color
I’m thinking of some linear algebra. For each pixel, note the inverse (or inverse square, or …) of the distance to every other pixel, then a simple inner product between the current pixel vector and the matrix could represent the spill from one state to the next, which might be used as a fader in an animation of a moving “object” that brightens a path of pixels.
Another idea is a connection graph (weighed by closeness measurements as above), which could be used to manage a random walk of objects that show on the pixels.
Doing both of these at once might look interesting.
This is awesome! I just assembled a 10" diameter sphere with 1000 leds on it. I have them all mapped and can display test patterns. Up next is getting them on a spherical coordinate system/distance functions.
Holy moo cow that’s got to look just incredible! Please post pictures and video when you can! (As well as any “lessons learned along the way”- I bet there are a few…)
Hi @Mark_Kriegsman ,
Discovered a 10" dia hollow sphere during my last visit to IKEA and I am now pondering using it for my next build, something similar to your own sphere.
That sphere of yours appears to be more than 10" diameter. Is it ? Where did you get it ?
Hi again Mark,
Sorry, a couple more questions for you…
What is the diameter of that bottom opening ?
What material is your sphere made of ?
Thanks, JP