Yet another lampshade

Tags: #<Tag:0x00007fa4958a18d0> #<Tag:0x00007fa4958a1768>

Just finished reverse engineering this so called hypercube (not the 3d printer) lampshade.

Based on this one

I put the source code on github if anyone is interested.

Happy 2018!

4 Likes

Amazing work there Daniel! Thank you for sharing!

I have a question, would it be possible to put an arbitrary image file that you would like to project as the shadow and use the script to create the shape and deform geometry? For example could you feed it something like an Escher-esque tessellation image instead of a grid?

Thanks! I don’t know about images. Outlines probably. The way I worked it out was to create a blank:

Model the light

And subtract light from blank

that’s such a clever and interesting way of doing things! Let me have a think about how you’d go about with an image, and dig up a video from Computerphile or Numberphile, there was a guy explaining this exact technique. From being immersed in Unity and shader coding it actually should be a really straight forward process without modelling anything, you’d just need to write the right function that would deform the domain to give the correct geo. Gimme a day or two.

Check this out: https://youtu.be/eGEQ_UuQtYs

It’s not the video I’m after, but I’m struggling trying to find the right one on NP, I’m pretty sure it’s video with Professor Carlo Séquin, just struggling to find it rn.

And you are correct, I shouldn’t have said any arbitrary image, there would be restrictions, but the rules would be similar to how you prepare shapes to be laser cut, would need some interconnectivity at least. Grids patterns/tessellations would work, or outlines as you say.

EDIT: and this video: https://youtu.be/LOVzytir7bM and this: https://youtu.be/RhuaPhahHbU (it was a NP vid just not Carlo)

Meanwhile another two models for the road…




1 Like

Again amazing work, you’re getting some really interesting stuff going on there, great ideas!

I’m not familiar with OpenSCAD, but I’m wondering whether this sort of approach would work… https://www.thingiverse.com/thing:363298

the link is to texture mapping a sphere using processing/OpenScad, I’m gonna d/l and start messing around (no need to reinvent the wheel or more like sphere here!), I’m wondering what mapping function is used there, it’s probably not Stereographic projection, but should be (fools say) fairly straight forward to swap it out for: https://en.wikipedia.org/wiki/Stereographic_projection

EDIT: just for fun this is a lovely little shader: https://www.shadertoy.com/view/XdffRl

Boom, someone’s done it already, takes 75x75 images: https://www.thingiverse.com/thing:418129

1 Like

Thanks! And thanks for the heads up! I haven’t looked at the first thing yet. About the 75x75, if his script is preceded by

$fs = 0.01;

the pixelation goes and you would get this pattern:

so basically the pixelation is a side effect of having a low resolution sphere in OpenSCAD.

1 Like

PS Same output using a low resolution sphere:

1 Like

This is giving me quite a few ideas…

I really like this guy called David C Roy, that makes the most amazing Kinetic sculptures, I’ve ripped him off in the past and made some silly wind sculptures, here’s his work: http://www.woodthatworks.com/

What I’m wondering now is what if you had 2 spheres, nested inside each other, with slightly different patterns, and (if you could hook up a motor) when one of them moves you could create some sort of (almost) animation.

Apologies for the random thoughts!

Random thoughts are good! :smile:
I like the rotating nested spheres idea.
PS I spoke to the 75x75 guy, the pixelation is not a side effect, it is really an image projection - I am still getting my head around the code.

Counter rotating hypercubes - Celestial projection onto ceiling next? :wink:

1 Like

Doubling up - I know this is getting silly!

This is making me giddily laugh with joy! You’re a true bad ass!! Amazing work would be an understatement, interstellar work might have to do until I find an adequate description.