Swimming Pools & Light
I stumbled upon a tweet from Matt Ferraro sharing a magic window he had created which was optically transparent but he had manipulated the curvature of one of the faces so that light would converge on a focal plane a short distance away. His much more scientific write up is here -> https://mattferraro.dev/posts/caustics-engineering.
It reminded me of lithophanes that I FDM printed for my family a few years ago so I downloaded his git repo and dove into his Julia code base. Lithophanes vary the thickness or optical density of a medium (white PLA for me) so that more light shines through thin areas and less shines through thicker areas. This gives all the shades of gray from white to black that your 3D printer can resolve which is typically the resolution of your stepper motors along its X or Y-axis, commonly 0.01 mm or smaller. The Z-axis is avoided because that is a fixed value commonly 0.15 or 0.20 mm for my prints and because retraction settings simply wouldn’t yield a good continuous surface if oriented that way.
I am familiar with lenses and Snell’s Law from school. I even knew that the beautiful light patterns projected onto the floor of my pool were from light bending as it transferred mediums from air to water and then converged on the floor. But I had never seen someone define the specific curvature of a surface with the purpose of forming an image on a plane. Matt showed distorted patterns of his cat’s face as he progressed through the necessary mathematic manipulations but I am not a fan of cats. I couldn’t appreciate the subtle changes. So I tried with a human face instead. Hopefully my dear mother never finds this page but hers was the face I decided to make. The first attempt at using my CNC to remove material from a random acrylic plate I ordered from McMaster-Carr turned out awful. My mom’s features are distorted and when I compare the original RGB image to the “magic window” image I couldn’t help but burst out laughing. It reminded me of a Yao Ming meme but with a touch of Benjamin Franklin roundness. I’m sorry mom. I did this in the name of science. After some dry sanding and wet sanding to smooth rough edges I clearly saw her face projected through the acrylic plate onto my wife’s pink office wall. I’m sure that with a 2nd attempt I could smooth out more of the roughness on the surface and make it even more magical in appearance. A lot of the opaque white that is blocking transmission of the light is actually a cross-hatch pattern from the tip of the bullnose end mill that is in a little valley on the surface so my manual sanding couldn’t smooth away those features without also lowering the height of the walls of the valley which would have distorted the image even further.
This was a fun project. You should try to build it. Enjoy the video below.