Nov.29, 2014 | By Kira

If you've been searching for the perfect 3D printed holiday gift, look no further. Jenny, the software developer and blogger behind Caret Dash Caret, has created and released her script for creating personalized stereographic lampshades using the Blender API.

Stereographic projections are, essentially, a mapping function that projects a sphere onto a plane. Traditionally, this method has been used by geologists and cartographers, however with the aid of 3D printing, which allows for very precise modeling of shapes and patterns, designers can create stunning, customized light displays.

For her initial, seasonally-inspired design, Jenny created a scalable vector graphic (SVG) pattern of a public domain snowflake image, imported the SVG into Blender and then ran her script, which is available in full on Github.

Although inspired by an original post that created the model in MATLAB then rendered the lampshades in Blender, Jenny opted to use only the latter. " I feel like Blender on its own provides all the features necessary to create stereographic lampshades, so I set out to write a script to do just that," she wrote.

SVG pattern modified from a public domain snowflake vector

The script converted the SVG into a mesh and transformed each vertex according to the posts' instructions. After transforming each vertex, the resulting mesh was a non-manifold surface, which cannot be printed in 3D. However, using the extrude tool in Blender, she was able to scale the extruded faces proportionally to the thickness of the extrusion without distorting the image projected by the lampshade.

The formula for height used to reflect the interplay of the lampshade and the light source was modified from

where :
is the height of the vertex on the lampshade, computed from the point on the pattern,
is the radius of the spherical lampshade, and
is twice the angle from the light source (top of the sphere).
is the distance from the plane of the projection of the pattern to the center of the spherical lampshade.

distance to center of lampshade = 5; radius of lampshade = 5

This formula provides bowl-like lampshades, which allows the pattern to curve towards the light source, resulting in a stereographic projection.

By decreasing the distance between the center of the sphere and the plane of projection, the lampshade becomes more spherical, whereas increasing the distance makes the lampshade more flattened. This number could even be negative.

Examples of a higher distance between the center of the sphere and the plane of projection, versus a lower distance. In the top image: distance to center of lampshade = 0; radius of lampshade = 5; In the bottom image: distance to center of lampshade = 10; radius of lampshade = 5

Once Jenny was happy with the model she had created, it was then sent to a 3D printing service and delivered back to her. The final product measures approximately 4 inches across and 1.7 inches high and nicely displays the chosen snowflake shape when held against the light.

The final 3D printed lampshade

She notes that the physical light source could also be altered in order to distort the projection. A single light source creates a crisp projection of the image, whereas diffuse light sources result in a more fuzzy display.

This project is fully customizable, and designers could experiment with almost any shape and size in order to project interesting lightshows on their ceilings and walls, as demonstrated in the original post that inspired Jenny to create her model.

All of the instructions and the full script are available on Github, and the possibilities are endless. So why not give it a shot and create your own 3D printed stereographic lampshade?


Posted in 3D Printing Applications


Maybe you also like:


thecrazysquirrel wrote at 9/28/2015 8:29:43 PM:

GREAT! Absolutely love the idea and the realisation!

Leave a comment:

Your Name:


Subscribe us to Feeds twitter facebook   

About provides the latest news about 3D printing technology and 3D printers. We are now seven years old and have around 1.5 million unique visitors per month.

News Archive