Implementation of "Casting Curved Shadows on Curved Surfaces" by Lance Williams, 1978