Optometrika
Optometrika MATLAB library implements analytical and iterative ray tracing approximation to optical image formation using Snell’s and Fresne
You are now following this Submission
- You will see updates in your followed content feed
- You may receive emails, depending on your communication preferences
Cite As
Yury (2026). Optometrika (https://github.com/caiuspetronius/Optometrika), GitHub. Retrieved .
Acknowledgements
Inspired by: hist2
General Information
- Version 2.3.2 (382 KB)
-
View License on GitHub
MATLAB Release Compatibility
- Compatible with any release
Platform Compatibility
- Windows
- macOS
- Linux
| Version | Published | Release Notes | Action |
|---|---|---|---|
| 2.3.2 | Fixed a bug in Aperture.m incorrectly displaying rectangular aperture orientation on the bench |
||
| 1.31.0 | Changed export_stl() function to work correctly with the stlwrite() function bulid into Matlab 2018b. |
||
| 1.30.0 | Updated the export_stl() function to export GeneralLens class surfaces. |
||
| 1.29.0 | Added export_stl() function for lens surface export in STL format. See example16.
|
||
| 1.28.0 | Various bug fixes |
||
| 1.27.0 | Added several new materials
|
||
| 1.26.0 | Added STL and DXF export of a lens's 3D shape and 2D profile respectively to the draw_lens_engineering() function. Install stlwrite() and DXFLib to use this functionality. |
||
| 1.25.0 | Minor bug fixes. |
||
| 1.24.0 | Added engineering drawing of Fresnel lenses to draw_lens_engineering(). See example7 for an example.
|
||
| 1.23.0 | Added rectangular apertures. See example4.
|
||
| 1.22.0 | Implemented astigmatic lens surfaces: use a 2x1 vector for the radius of curvature (see example14).
|
||
| 1.21.0 | Implemented ray tracing for backward-propagating rays (example13)
|
||
| 1.20.0 | Bug fixes |
||
| 1.19.0 | Added flange option to the draw_lens_engineering() function. |
||
| 1.18.0 | Various bug fixes. |
||
| 1.17.0 | Added draw_lens_engineering() function to automatically generate engineering drawing for lens manufacturers. Currently only lenses without holes are implemented. See example12 for a demo. |
||
| 1.16.0 | Example12 illustrates the use of lens_dims() function to draw a lens (full surface) and calculate its sags and volume.
|
||
| 1.15.0 | For a new way to display rays, see example11.
|
||
| 1.14.0 | Total internal reflection enabled. Various bug fixes related to multiple refraction/reflexion. |
||
| 1.13.0 | Added cylindrical surfaces, including double refraction on such surfaces (example 10). Fixed some bugs. |
||
| 1.12.0 | Added a cone-shaped surface ConeLens()
|
||
| 1.11.0 | Added AsphericLens class describing strongly aspheric surfaces (conic + even polynomial terms, example8).
|
||
| 1.10.0 | Added a Fresnel lens implementation. Added operations on a bench, such as bench rotation, element prepending and removal. |
||
| 1.9.0 | Replaced the missing Bench.m file. |
||
| 1.8.0 | Various bug fixes and improvements. Spheroidal screens are implemented now by the Retina object. |
||
| 1.7.0 | Some bug fixes and improvements, added spheroidal screens implemented by the Retina class. |
||
| 1.6.0 | Added basic documentation to the classes. |
||
| 1.5.0 | Added: (i) appending ray bundles to an existing bundle, (ii) mirror elements (general, conic, planar). To specify a surface as a mirror use 'mirror' glass specifier (see example5.m and example6.m). |
||
| 1.4.0 | Small bug fixes. |
||
| 1.3.0 | Added tracing through general (user-defined) surfaces (see example4.m). |
||
| 1.2.0 | Fixed a bug affecting ray tracing through strongly hyperbolic surfaces. |
||
| 1.1.0 | Fixed a bug which affected ray tracing through extremely hyperbolic surfaces. |
||
| 1.0.0 |