新闻详情

新闻详情

首页 / 资讯中心 / 详情

Optiland近轴光学

发布时间:2026/9/26 3:01:04来源:尧图网络
Optiland近轴光学
文章目录光轴对象光轴方法可视化光轴对象【Paraxial】是optiland中的光轴类不能单独存在必须绑定到一个具体的Optic光学系统上。以optiland示例的Petzval镜头为例可直接调取其光轴成员importmatplotlib.pyplotasplt plt.rcParams[font.sans-serif]Times New Romanfromoptiland.samples.objectivesimportPetzvalLens lensPetzvalLens()lens.draw()plt.show()type(lens.paraxial)# class optiland.paraxial.Paraxial光轴方法【Paraxial】类的本质作用就是在代码层面实现高斯光学的数学模型因此其内置了许多方法包括方法计算内容f1()前焦距Front Focal Length即物方主点到物方焦点的距离。f2()后焦距Back Focal Length也叫有效焦距(EFL)即像方主点到像方焦点的距离。F1()/F2()物方/像方焦点在系统中的位置。P1()物方主平面的位置这个位置通常是相对于系统的第一面Surface 1定义的。P2()像方主平面后主面 的位置。注意这个位置通常是相对于像面Image Surface定义的。N1() / N2()物方节点和像方节点的位置。在物像空间折射率相同如都在空气中的情况下节点与主点重合。EPD()入瞳直径Entrance Pupil Diameter。EPL()入瞳位置Entrance Pupil Location。XPL()出瞳位置Exit Pupil Location相对于像面。XPD()出瞳直径Exit Pupil Diameter。FNO()像方 F 数Image-space F-number如果系统定义了直接 F 数则直接返回。magnification()系统的横向放大率Transverse Magnification。invariant()拉格朗日不变量Lagrange Invariant可视化下面将近轴光学中部分重要参数在图像中绘制出来代码如下fig,axlens.draw(num_rays3)# 获取paraxial属性plens.paraxial# 获取表面位置z1lens.surfaces.positions[1,0]# 第一表面位置zImglens.surfaces.positions[-1,0]# 像面位置F1_globalz1p.F1()# 物方焦点F2_globalzImgp.F2()# 像方焦点P1_globalz1p.P1()# 物方主面P2_globalzImgp.P2()# 像方主面EPL_globalz1p.EPL()# 入瞳位置XPL_globalzImgp.XPL()# 出瞳位置ax.axvline(F1_global,colorred,linestyle--,linewidth1.5,labelF1 (Object Focus))ax.axvline(F2_global,colorblue,linestyle--,linewidth1.5,labelF2 (Image Focus))ax.axvline(P1_global,colorred,linestyle:,linewidth2,labelP1 (Object Principal))ax.axvline(P2_global,colorblue,linestyle:,linewidth2,labelP2 (Image Principal))ax.axvline(EPL_global,colorgreen,linestyle-.,linewidth1.5,labelfEP (Entrance Pupil))ax.axvline(XPL_global,colorgreen,linestyle-.,linewidth1.5,labelfXP (Exit Pupil))# 添加图例和标题ax.legend(locupper left)plt.tight_layout()plt.show()
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

虚拟仿真赋能安宁照护护理教学:场景设计与课程建设实践 2026/9/26 3:45:17

虚拟仿真赋能安宁照护护理教学:场景设计与课程建设实践

虚拟仿真这个词在教育口已经不算新鲜,但真正把它落到安宁照护这类高情感负荷、高伦理敏感度的课程里,和传统护理技能训练完全是两码事。我这两年带着团队从需求调研一路做到课程上线,踩过不少坑,也摸到一些门道。这篇就当是项目复…

阅读更多 →
Lottery 抽奖系统实践:设计滑动库存编号分布式锁,处理活动秒杀场景 2026/9/26 3:45:17

Lottery 抽奖系统实践:设计滑动库存编号分布式锁,处理活动秒杀场景

文档教程后端 【免费下载链接】CodeGuide :books: 本代码库是作者小傅哥多年从事一线互联网 Java 开发的学习历程技术汇总,旨在为大家提供一个清晰详细的学习教程,侧重点更倾向编写Java核心内容。如果本仓库能为您提供帮助,请给予支持(关注、…

阅读更多 →
变电站屏幕检测实战:700张VOC数据集训练YOLO模型全流程 2026/9/26 3:45:17

变电站屏幕检测实战:700张VOC数据集训练YOLO模型全流程

简介:一份面向变电站继电保护控制柜屏幕检测的计算机视觉数据集,包含七百张屏幕图像,配套VOC格式标注文件,适用于电力智能化、工业视觉方向的研究人员与开发者,可用于训练卷积神经网络、YOLO系列等目标检测模型&#x…

阅读更多 →
给AI Agent写项目文档:PROJECT.md实战指南 2026/9/26 3:45:17

给AI Agent写项目文档:PROJECT.md实战指南

1. 从一次科研翻车说起:为什么我开始给 AI Agent 写项目文档去年冬天,我在做一个材料计算方向的文献复现项目。当时手头同时开着三个 AI Agent 会话:一个用 Codex 帮我重构数据清洗脚本,一个用 Claude Code 帮我梳理实验流程&…

阅读更多 →
YOLOv8火焰烟雾检测实战:从数据集、训练到边缘部署的避坑指南 2026/9/26 3:45:10

YOLOv8火焰烟雾检测实战:从数据集、训练到边缘部署的避坑指南

简介:本资源面向计算机视觉初学者与火焰烟雾检测方向的开发者,提供一套可直接复用的YOLOv8训练成果,包含已训练好的检测模型以及配套标注数据集,标签为txt格式,类别涵盖fire与smoke两类,基于PyTorch框架与P…

阅读更多 →
浏览器插件开发实战:弄清manifest与content script,快速做出网页提取工具 2026/9/26 3:45:10

浏览器插件开发实战:弄清manifest与content script,快速做出网页提取工具

上周有个做前端的朋友问我:写浏览器插件是不是得学一整门新语言?我看别人做的下载助手、划词翻译、网页内容提取工具,每一个都挺唬人。我反问他:你平时写的 defer 脚本,和插件里的 content script 在页面上做的事&…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉