Date started: September 2019
Leads: Judy Holdener
The human brain is remarkable in its ability to fill in missing information as it works to make sense of the data it receives from the surrounding world. In this project I illustrate this phenomenon in the context of the visual system using Hilbert’s famous space-filling curve. Varying the thickness of the sixth iterate of the curve as it traverses the plane, I 3D printed a portrait of David Hilbert. Using Python script within the modeling program Rhino, my code reads in an image and uses pixel data to generate a rectangular piping along the curve. The width of the rectangular profile of the piping at a point depends on the intensity of the pixel at that point; it is wider when the intensity of the pixel is lower (where the image is darker) and thinner when the intensity of the pixel is higher (where the image is brighter).
I created Hilbert’s portrait using the sixth iterate of the Hilbert curve, which I constructed in pieces — printing off 16 “subsquares” of the curve on an Ultimaker 3. Each subsquare is approximately 5 inches in width and was generated using the fourth iterate of the Hilbert curve.
The height of the piping remains fixed throughout the entirety of the curve for this project, but in future work I intend to vary the height as well as the width. I also intend to make use of other varieties of space-filling curves to render other images.
Acknowledgments: I want to thank Henry Segerman for leading a terrific introductory workshop on Rhino and David Dumas and Laura Taalman for teaching me almost everything I know about 3D printing.
- Hilbert’s portrait was generated from the (cropped) Wikimedia Commons image “File:Hilbert.jpg” https://commons.wikimedia.org/wiki/File:Hilbert.jpg