There are few things in life more exciting and romantic than a marriage proposal. It is the act of asking someone to spend the rest of their life by your side and that is a very special thing. Such an occasional calls for either decadence or creativity — whatever will mean the most to the lucky the person. Ben Bartlett took the latter approach and wrote a program to generate a 3D-printable mirror array that let him project the sun's rays into a proposal in the sand.
At first glance, this looks like a mundane piece of wall art made up of many hexagonal mirrors. But if you look closely, you'll see that every individual mirror is tilted to a unique angle. Those angles are not arbitrary. Each mirror reflects a single "pixel" of a image when the mirror array is at the correct angle relative to the sun and a flat surface. In this case, that flat surface was the sand on a beach and the pixels formed a message spelling out "MARRY ME?" Bartlett took his soon-to-be fiancé to the beach at the right time of day and had them hold the mirror array to reveal the message.
The answer was "yes" of course and we would have featured this project for the great story alone, but Bartlett was nice enough to share his code and methodology so that you can design your own mirror arrays. Bartlett explains the underlying math, but it relies on trigonometry that is beyond this writer's understanding. Suffice it to say that the code creates mirror mounts at the correct angles to project each pixel, with the rays traveling as parallel as possible. It requires a target pixel array, an angle for the sun, and a distance and angle for the projection surface. Because the rays are mostly parallel, there is a lot of leeway for the focal length to the projection surface.
After generating the mirror mounts model, users can divide the model into 3D-printable sections. Those can then print on any FFF (Fused Filament Fabrication) 3D printer. It is a lovely project and we applaud Bartlett's creativity and wish the best for the happy couple.