用optiland绘制光扇图
文章目录光扇图的基本概念测试RayFan光扇图的基本概念Ray Fan即光扇图是光学设计中用于分析一维截面上几何像差的核心工具。与点列图展示二维平面上的光斑分布不同Ray Fan 将三维的光线追迹结果降维通过二维曲线直观地展示横向像差Transverse Ray Aberration随入瞳坐标的变化关系。设入瞳归一化坐标为H HH范围是[ − 1 , 1 ] [-1,1][−1,1]光线在像面上的实际交点高度为y ′ yy′参考点的高度为y 0 ′ y_0y0′​则光扇图的纵坐标定义为ϵ y ( H ) y ′ ( H ) − y 0 ′ \epsilon_y(H)y(H)-y_0ϵy​(H)y′(H)−y0′​由于相差具有方向性光扇图通常分为两组曲线切向/子午光扇图其采样方向为入瞳的Y YY轴方向子午面内反映子午面内的光线聚焦情况。主要受球差、彗差、像散和场曲影响。弧矢光扇图采样方向入瞳的X XX轴方向垂直于子午面反映弧矢面内的光线聚焦情况。主要受像散和场曲影响通常不受彗差影响因为彗差在弧矢面上是对称的。测试下面以最简单的消色差胶合透镜为例其结构如下图中共针对三个物点进行成像不同颜色的光线代表不同的波长。这三个点的RayFan图如下图中可见位于光轴上的点比较理想随着光线逐渐偏离光轴光扇图的倾斜度越来越大表示离焦增强。绘图代码如下importmatplotlib.pyplotaspltfromoptiland.samplesimportCementedAchromat lensCementedAchromat()lens.draw()plt.show()fromoptiland.analysisimportRayFan rfRayFan(lens)rf.view()plt.show()光扇图并不是直线而是存在一定的弯曲这种过原点的三次曲线一般表示球差。下面创建一个更加质朴的单透镜可以看到明显的球差绘图代码如下importnumpyasnpfromoptilandimportoptic lensoptic.Optic()lens.surfaces.add(index0,thicknessnp.inf)lens.surfaces.add(index1,thickness7,radius20.0,is_stopTrue,materialN-SF11)lens.surfaces.add(index2,thickness23.0)lens.surfaces.add(index3)lens.set_aperture(aperture_typeEPD,value20)lens.fields.set_type(field_typeangle)lens.fields.add(y0)lens.wavelengths.add(value0.55,is_primaryTrue)lens.draw(num_rays10)plt.show()rfRayFan(lens)rf.view()plt.show()RayFan【RayFan】是optiland中的光扇图类在上面的示例中只输入了一个optic类型的参数这也是唯一必须输入的参数其他参数如下【fields】指定需要计算点列图的视场默认为’all’【wavelengths】指定参与光线追迹的波长默认为’all’【num_points】入瞳直径方向上的采样点数默认256决定了曲线的平滑度。256 个点足以精确描绘高阶像差如五级球差引起的微小波动。如果曲线出现锯齿状可适当增加此值。

相关新闻

如何去除 AI 输出文本中带 *、# 的小技巧,选用 AI 导出鸭优化文档导出,结合行业数据根除多余格式符号困扰

如何去除 AI 输出文本中带 *、# 的小技巧,选用 AI 导出鸭优化文档导出,结合行业数据根除多余格式符号困扰

摘要 AI生成内容时常附带星号、井号等markdown标记符号,手动清理耗费大量办公时间。本文围绕去除特殊符号的实用技巧展开,结合市面五种主流文档导出方案横向测评,引用行业白皮书实测数据与业内专家观点,搭配用户实测反馈与问答科普…

2026/7/5 15:17:44阅读更多 →
P1634 禽兽的传染病

P1634 禽兽的传染病

题目背景mxj 的启发。题目描述禽兽患传染病了。一个禽兽会每轮传染 x 个禽兽。试问 n 轮传染后有多少禽兽被传染?输入格式两个非负整数 x 和 n。输出格式一个整数,即被传染的禽兽数。输入输出样例输入 #1复制10 2输出 #1复制121说明/提示保证 x,n 以及答…

2026/7/5 15:17:44阅读更多 →
AsrTools终极指南:5分钟学会高效语音转文字技巧

AsrTools终极指南:5分钟学会高效语音转文字技巧

AsrTools终极指南:5分钟学会高效语音转文字技巧 【免费下载链接】AsrTools ✨ AsrTools: Smart Voice-to-Text Tool | Efficient Batch Processing | User-Friendly Interface | No GPU Required | Supports SRT/TXT Output | Turn your audio into accurate text i…

2026/7/5 15:12:37阅读更多 →
Open Interpreter本地模型API密钥问题的技术根源与架构级解决方案

Open Interpreter本地模型API密钥问题的技术根源与架构级解决方案

Open Interpreter本地模型API密钥问题的技术根源与架构级解决方案 【免费下载链接】openinterpreter A lightweight coding agent for open models like Deepseek, Kimi, and Qwen 项目地址: https://gitcode.com/GitHub_Trending/op/openinterpreter 在本地AI开发工具的…

2026/7/5 16:17:47阅读更多 →
5分钟上手Saber:跨平台手写笔记应用的终极使用指南

5分钟上手Saber:跨平台手写笔记应用的终极使用指南

5分钟上手Saber:跨平台手写笔记应用的终极使用指南 【免费下载链接】saber The cross-platform open-source app built for handwriting 项目地址: https://gitcode.com/GitHub_Trending/sab/saber Saber是一款专为手写笔记设计的开源应用,完美支…

2026/7/5 16:17:47阅读更多 →
如何快速批量获取网易云和QQ音乐的LRC歌词?163MusicLyrics终极解决方案

如何快速批量获取网易云和QQ音乐的LRC歌词?163MusicLyrics终极解决方案

如何快速批量获取网易云和QQ音乐的LRC歌词?163MusicLyrics终极解决方案 【免费下载链接】163MusicLyrics 云音乐歌词获取处理工具【网易云、QQ音乐】 项目地址: https://gitcode.com/GitHub_Trending/16/163MusicLyrics 还在为音乐播放器缺少歌词而烦恼吗&am…

2026/7/5 16:17:47阅读更多 →
从免费到盈利:ZLMediaKit开源流媒体框架的终极商业化路径探索

从免费到盈利:ZLMediaKit开源流媒体框架的终极商业化路径探索

从免费到盈利:ZLMediaKit开源流媒体框架的终极商业化路径探索 【免费下载链接】ZLMediaKit WebRTC/RTSP/RTMP/HTTP/HLS/HTTP-FLV/WebSocket-FLV/HTTP-TS/HTTP-fMP4/WebSocket-TS/WebSocket-fMP4/GB28181/SRT/STUN/TURN server and client framework based on C11 …

2026/7/5 16:17:47阅读更多 →
LiteLLM响应记忆层架构:构建智能计算复用引擎的技术范式

LiteLLM响应记忆层架构:构建智能计算复用引擎的技术范式

LiteLLM响应记忆层架构:构建智能计算复用引擎的技术范式 【免费下载链接】litellm Python SDK, Proxy Server (AI Gateway) to call 100 LLM APIs in OpenAI (or native) format, with cost tracking, guardrails, loadbalancing and logging. [Bedrock, Azure, Ope…

2026/7/5 16:17:47阅读更多 →
从技术迷宫到一键直达:OpCore-Simplify如何重构Hackintosh配置体验

从技术迷宫到一键直达:OpCore-Simplify如何重构Hackintosh配置体验

从技术迷宫到一键直达:OpCore-Simplify如何重构Hackintosh配置体验 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 在PC硬件上运行macOS曾…

2026/7/5 16:12:47阅读更多 →
从GitHub安全案例解析常见漏洞与防护实践

从GitHub安全案例解析常见漏洞与防护实践

1. 项目概述:从GitHub Trending看安全实战 最近在GitHub Trending上看到一个项目,叫 skills4/skills ,它因为一些安全漏洞案例被大家讨论。这其实是一个挺典型的场景:一个旨在展示或教授某种技能的仓库,本身却成了安…

2026/7/5 0:01:08阅读更多 →
MLT 2026启示:因果推理与概率建模驱动下一代LLM应用

MLT 2026启示:因果推理与概率建模驱动下一代LLM应用

# MLT 2026启示:因果推理与概率建模驱动下一代LLM应用## 一、背景与挑战:从“黑箱预测”到“可信推理”2026年6月,第7届机器学习与趋势国际会议(MLT 2026)将在悉尼召开。会议议程中,“因果与可解释机器学习…

2026/7/5 0:01:08阅读更多 →
通达OA SQL注入漏洞深度剖析:从手工注入到自动化利用与防御

通达OA SQL注入漏洞深度剖析:从手工注入到自动化利用与防御

1. 项目概述与漏洞背景最近在梳理一些历史OA系统的安全风险时,通达OA v11.6版本中的一个老漏洞又进入了我的视线。这个漏洞位于/general/bi_design/appcenter/report_bi.func.php文件中,是一个典型的SQL注入点。虽然这个漏洞的利用方式看起来并不复杂&am…

2026/7/5 0:01:08阅读更多 →
从GitHub安全案例解析常见漏洞与防护实践

从GitHub安全案例解析常见漏洞与防护实践

1. 项目概述:从GitHub Trending看安全实战 最近在GitHub Trending上看到一个项目,叫 skills4/skills ,它因为一些安全漏洞案例被大家讨论。这其实是一个挺典型的场景:一个旨在展示或教授某种技能的仓库,本身却成了安…

2026/7/5 0:01:08阅读更多 →
MLT 2026启示:因果推理与概率建模驱动下一代LLM应用

MLT 2026启示:因果推理与概率建模驱动下一代LLM应用

# MLT 2026启示:因果推理与概率建模驱动下一代LLM应用## 一、背景与挑战:从“黑箱预测”到“可信推理”2026年6月,第7届机器学习与趋势国际会议(MLT 2026)将在悉尼召开。会议议程中,“因果与可解释机器学习…

2026/7/5 0:01:08阅读更多 →
通达OA SQL注入漏洞深度剖析:从手工注入到自动化利用与防御

通达OA SQL注入漏洞深度剖析:从手工注入到自动化利用与防御

1. 项目概述与漏洞背景最近在梳理一些历史OA系统的安全风险时,通达OA v11.6版本中的一个老漏洞又进入了我的视线。这个漏洞位于/general/bi_design/appcenter/report_bi.func.php文件中,是一个典型的SQL注入点。虽然这个漏洞的利用方式看起来并不复杂&am…

2026/7/5 0:01:08阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/5 1:30:27阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/5 3:48:10阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/5 3:48:09阅读更多 →