Code Monkey home page Code Monkey logo

bi-aspheric-singlet-lens-generator's Introduction

This translates the Mathematica code in "General formula for bi-aspheric singlet lens design free of spherical aberration." [1] to Python using SymPy. The intention was to reproduce the surfaces presented in the paper, and then use OpenSCAD (via SolidPython) to model the lenses in 3D.

Note this repo is in an unfinished, WIP state. The basic equations have been converted and appear to work for the cases in the paper, but the OpenSCAD implementation is incomplete.

The equations also do not appear to work quite correctly for the lenses presented in "Single Lens Telescope" [2]. This might be an artifact of incorrect translation of the original Mathematica code. The lenses in [2] assume tₐ and tᵦ are infinite (collimated beams), so the code may also need to be adjusted using the equations in Figure 10 of [1] (e.g. calculating the limit when tₐ → −∞ for fᵢ , rᵢ , zᵢ )

Lenses from Table 1, González-Acuña et al. (2018)

First Surface Plot
Table 1 Reference
Flat
Spherical
Parabolic
Cosine

Lenses from Figure 4, González-Acuña et al. (2018)

Figure 4

Figure 4.D Figure 4.D


References

[1] González-Acuña, Rafael G., and Héctor A. Chaparro-Romo. "General formula for bi-aspheric singlet lens design free of spherical aberration." Applied optics 57.31 (2018): 9341-9345. (PDF)

[2] González-Acuña, Rafael Guillermo, Héctor Alejandro Chaparro-Romo, and Julio Cesar Gutíerrez-Vega. "Single lens telescope." arXiv preprint arXiv:1903.11129 (2019). (PDF)

bi-aspheric-singlet-lens-generator's People

Contributors

polyfractal avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.