My two bosses got married to each other this summer. (Weird, right?) My coworker and I decided to make a really awesome wedding gift for them and spent a long time dreaming up crazy ideas. Eventually we settled on something inspired by the shapes Henry Segerman was making on ShapeWays and Thingiverse: a stereographic projection lamp. (Funny story, he happens to have also made some CC spheres for my mathematician friend.)
Stereographic projection is a function that maps a sphere to a plane. Our idea was to make a lamp (more of a glowing orb) that projected a silhouette of their faces to either side. The concept is that we cut a particular shape into the sphere, mount a bright LED to the top of the sphere pointing downwards, and have the light shining through the cutouts make the shape of their faces on the surface below.
First step was making the CAD model. I made some feeble attempts to use RhinoCAD and python scripting like I did with the CC spheres, but my coworker found a very simple way to do it with OpenSCAD. What’s interesting about this is that the math behind stereographic projection is somewhat tricky but the CAD was surprisingly easy. He could just loft from the shape of the faces on the flat surface to the point where the LED would be. Shortly after figuring it out in OpenSCAD we started using OnShape and were able to easily recreate it in OnShape. Next step was finding good profile images of them (from Facebook) and tracing them out in Adobe Illustrator to get them into a .dxf format that could be imported into OnShape.
Importing .dxfs with the minimum number of points (and as close to the desired size as possible) turned out to be very important for processing time. The first .dxf I imported slowed the CAD almost to a complete halt, so much so that I essentially could not re-size them.
We had discussed for a long time the power situation: originally we wanted to use a battery that could be charged with micro USB and when we realized that given the power draw of the LED it could only be on for an hour or so before any reasonable sized battery drain we still hung onto the idea of using a micro USB cable for power. (This might be because we have what feels like an infinite supply of micro USB cables in our office.) This was still not an ideal option: the LED drew a lot of power, we’d have to get a special breakout board for the port, and micro USB cables are generally not that long. My coworker happened to have an LED power brick hanging around, one that took AC wall power and converted it to 3.3V DC and we settled on that as the most simple solution. From there, we made a cavity in the base for the power block and were able to print version 1 on our MakerBot Replicator.
I had two concerns: one was that the cavities cut into the sphere looked abstract enough before you know what they were, but once you realized they were projecting face profiles you noticed that the noses were HUGE. The projected profiles were proportioned correctly, but given the mapping from sphere to surface, since the noses were closer to the projection plane they had to be bigger. This freaked me out for a while but there was nothing to do about it. The other concern was the surface finish of the MakerBot’ed part. Even on high resolution the light accentuated the layers and any imperfection. Luckily we recently got access to a FormLabs SLA 3D printer which has a much nicer surface finish.