I came across an interesting blog post describing how to create lampshades using backward stereographic projection from 2D input images. Following the detailed instructions given by the blog author, I had a few hours of fun math programming exercise in Matlab to reproduce the same visual result. As an input 2D image I chose a variation of a Japanese traditional line art pattern called Seigaiha (青海波), here created using Freestyle in Blender.
The input image underwent a series of raster/vector image processing including black/white component labeling, contour simplification, and 2D mesh generation to obtain 3D mesh data of a spherical lampshade as a result of backward stereographic projection described in the reference document. The 3D geometry data was then imported to Blender and rendered with Cycles. The screen capture below shows a view port render of the imported mesh data (with the Solidify modifier applied to give physical thickness).
A top-view render below with a stronger point lamp shows a clear shadow pattern of the lampshade that nicely matches the input Seigaiha texture image.