Skip to main content

Over a year ago, I posted an initial version of a user-defined surface that models an idealized perfect lens satisfying the sine condition, see:

This is distinctly different than a paraxial lens surface that does not, in general, satisfy the sine condition.  As a result, a paraxial lens is a poor substitute for a well-corrected high-NA lens (e.g., a microscope objective, in which a paraxial version yields the wrong NA for a given EPD, and vice versa).

Since my initial posting, I have revised the model and published the details in Applied Optics.  The new model simulates both a perfect imaging lens and a perfect Fourier transform lens.  The paper, as well as the DLL and several example model files, are all freely available at:

Ray-tracing model of a perfect lens compliant with Fermat’s principle: the Cardinal Lens .

I’ve removed the older version of the DLL now that this new one is available.

Please feel free to try it out and provide feedback.

Regards,

Jeff

Great work @Jeff.Wilde, I’m looking forward to reading this paper.


This is great work Jeff! Thank you so much for writing this paper and giving your code.

It might be useful for Ansys Zemax to include this in the distribution, although I’d prefer it to be a built-in surface rather than a dll as (IMHO) users treat DLLs as second-best code. For years people hated that the Forbes surface was ‘just a dll’ and we added it into the code just to stop people saying it wasn’t there 😀

That said, we now have three ‘perfect’ surfaces: the paraxial, the ABCD, and now the Conjugate. The Conjugate has the same benefit as the ABCD in that it has a thickness so rays are not discontinuous at the surface (as the Conjugate lens displays when in ‘thin’ mode. It’s not possible to have a single ‘perfect’ surface act with all requirements simultaneously, so adding the thickness parameter is a good choice.

Maybe the Conjugate surface could be considered an upgrade to the existing Paraxial surface in that you now have an adjustable thickness parameter that allows for Fermat’s principle without introducing ray discontinuities.

  • Mark 

Thanks Mark, I appreciate your feedback.  It was a fun project that became more interesting as I got further into it.  I agree that it would be nice to have the Cardinal Lens, or some facsimile of it, available as a built-in surface.  In the meantime, I hope the DLL can be of some value.

Regards,

Jeff


Reply