Designing good lenses is hard, but designing fun lenses is easy! It helps to see how a lens design performs before getting your hands dirty with real objects.

Ray Tracing

Luckily, computers are good at simulating lenses. You can use any 3D modeling package with a ray tracing mode to test out your lens before you fabricate it.

There are many software packages out there that do ray tracing, including some free ones. I chose Rhino and Neon. It costs money, but its T-Splines plugin makes it dead simple to design smooth lens geometries. The 90-day trial is enough for most projects.

Any modeling software with ray tracing will do. You could use Fusion 360, Blender, Maya or whatever else the kids are using these days.

Getting Set Up

Read a tutorial for setting up a ray-traced glass material in your program. The steps may vary depending on what software you use. I found a Rhino blog post and used that.

The setup for your lenses will be the same as for glass except for one thing: the index of refraction. It turns out that plastic bends light differently than glass so you need to tweak this value.

You'll need to change the index of refraction on your material from 1.52 (glass) to something more appropriate for your lens. If you're following my milling tutorial, use 1.49 (acrylic). If you're 3D printing with Vero Clear, use 1.63.

Designing

Now that you're set up, start applying the material to different geometries and see the results. Put a familiar object like a face in the scene as a point of reference. Sometimes it helps to start with a simple shape and deform it using sculpting tools. I threw together a short tutorial of my process with T-splines in Rhino here.

If you're mathematically-oriented you can try applying different functions to deform surfaces, or read up on the mathematics of light. If you're not, try sculpting a lens to achieve a goal like making a person's eyes look close together.

When you're sculpting the deformations get weird pretty quick. I'd recommend making subtle deformations before going crazy.

Here is a video that outlines the process.