{ "cells": [ { "cell_type": "markdown", "id": "f121bc1b", "metadata": {}, "source": [ "# Cylindrical Lens" ] }, { "cell_type": "code", "execution_count": null, "id": "1a89af47", "metadata": {}, "outputs": [], "source": [ "import optiland.backend as be\n", "from optiland.optic import Optic" ] }, { "cell_type": "code", "execution_count": 2, "id": "8a09ac1a", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "cylindrical_lens = Optic()\n", "\n", "# add surfaces\n", "cylindrical_lens.surfaces.add(index=0, radius=be.inf, thickness=be.inf)\n", "cylindrical_lens.surfaces.add(\n", " index=1,\n", " thickness=7,\n", " radius_x=30, # <- radius: x radius of rotation.\n", " radius_y=40,\n", " is_stop=True,\n", " material=\"N-BK7\",\n", " surface_type=\"toroidal\",\n", " conic=0.0,\n", " toroidal_coeffs_poly_y=[],\n", ") # <-- aspheric terms are possible\n", "cylindrical_lens.surfaces.add(index=2, thickness=65)\n", "cylindrical_lens.surfaces.add(index=3)\n", "\n", "# add aperture\n", "cylindrical_lens.set_aperture(aperture_type=\"EPD\", value=20.0)\n", "\n", "# add field\n", "cylindrical_lens.fields.set_type(field_type=\"angle\")\n", "cylindrical_lens.fields.add(y=0)\n", "\n", "# add wavelength\n", "cylindrical_lens.wavelengths.add(value=0.587, is_primary=True)\n", "\n", "# draw lens\n", "cylindrical_lens.draw(num_rays=10)" ] }, { "cell_type": "code", "execution_count": 32, "id": "bc1ebe27", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from optiland.analysis import SpotDiagram\n", "\n", "sd = SpotDiagram(cylindrical_lens)\n", "sd.view()" ] } ], "metadata": { "kernelspec": { "display_name": ".sci-1", "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.13.1" } }, "nbformat": 4, "nbformat_minor": 5 }