diff --git a/docs/api/api_geometries.rst b/docs/api/api_geometries.rst index 3fd05ef7..2d54fa8e 100644 --- a/docs/api/api_geometries.rst +++ b/docs/api/api_geometries.rst @@ -14,6 +14,7 @@ that require a numerical solution to find the intersection point with a ray. geometries.base geometries.chebyshev geometries.even_asphere + geometries.odd_asphere geometries.newton_raphson geometries.plane geometries.polynomial diff --git a/docs/developers_guide/geometry_overview.rst b/docs/developers_guide/geometry_overview.rst index 6a2d4cef..9a3b278a 100644 --- a/docs/developers_guide/geometry_overview.rst +++ b/docs/developers_guide/geometry_overview.rst @@ -50,6 +50,7 @@ Optiland includes a wide range of built-in geometries: - **Planes**: Flat surfaces with infinite or finite extent. - **Spheres and Conics**: Defined by radius of curvature and conic constant. - **Even Aspheres**: Described by polynomial terms for deviations from a sphere. +- **Odd Aspheres**: Similar to even aspheres but with additional terms for odd powers. - **Polynomial XY and Chebyshev Surfaces**: Useful for advanced freeform optical systems. - **Custom Geometries**: Users can easily extend the framework by subclassing the `BaseGeometry` (analytical geometries) or `NewtonRaphsonGeometry` (iterative geometries) classes. diff --git a/docs/gallery/specialized_lenses.rst b/docs/gallery/specialized_lenses.rst index 3aa4aa20..18b00e24 100644 --- a/docs/gallery/specialized_lenses.rst +++ b/docs/gallery/specialized_lenses.rst @@ -10,6 +10,7 @@ While these lenses are perhaps more complex, they are built using the same basic specialized_lenses/objective specialized_lenses/f_theta_lens specialized_lenses/f_theta_with_fold_mirror + specialized_lenses/odd_asphere specialized_lenses/microscope specialized_lenses/catadioptric specialized_lenses/endoscope diff --git a/docs/gallery/specialized_lenses/odd_asphere.ipynb b/docs/gallery/specialized_lenses/odd_asphere.ipynb new file mode 100644 index 00000000..5d2b2379 --- /dev/null +++ b/docs/gallery/specialized_lenses/odd_asphere.ipynb @@ -0,0 +1,103 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Odd Asphere" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "from optiland import optic, analysis" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "lens = optic.Optic()\n", + "\n", + "# add surfaces\n", + "lens.add_surface(index=0, thickness=np.inf)\n", + "lens.add_surface(index=1, thickness=7, radius=56.128, material='N-SF11', is_stop=True,\n", + " surface_type='odd_asphere', coefficients=[-3.142e-3, 3.867e-3, -1.602e-4])\n", + "lens.add_surface(index=2, thickness=30, radius=-58.697)\n", + "lens.add_surface(index=3)\n", + "\n", + "# set aperture\n", + "lens.set_aperture(aperture_type='EPD', value=15)\n", + "\n", + "# add field\n", + "lens.set_field_type(field_type='angle')\n", + "lens.add_field(y=0)\n", + "\n", + "# add wavelength\n", + "lens.add_wavelength(value=0.55, is_primary=True)\n", + "\n", + "# draw lens\n", + "lens.draw(num_rays=10)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "spot = analysis.SpotDiagram(lens)\n", + "spot.view()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": ".venv", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.1" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +}