尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

optiland绘制光学系统的点列图

optiland绘制光学系统的点列图
📅 发布时间:2026/7/4 4:56:52

文章目录

    • 基本概念
    • 测试
    • 评估指标
    • SpotDiagram

基本概念

点列图是光学系统对物点发出光束在像面上截痕的几何投影,就数学意义来说,是入瞳坐标到像面坐标的非线性映射。设入瞳平面坐标为( x p , y p ) (x_p, y_p)(xp​,yp​),经光学系统的光线追迹后,光线在像面上的交点坐标为( x i , y i ) (x_i, y_i)(xi​,yi​),点列图即为该映射函数在离散入瞳采样点上的集合

S = { ( x i ( k ) , y i ( k ) ) ∣ ( x p ( k ) , y p ( k ) ) ∈ Pupil , k = 1 , 2 , ⋯ , N } S=\left\{\left(x_i^{(k)},y_i^{(k)}\right)\bigg\vert \left(x_p^{(k)},y_p^{(k)}\right)\in \text{Pupil}, k=1,2,\cdots,N \right\}S={(xi(k)​,yi(k)​)​(xp(k)​,yp(k)​)∈Pupil,k=1,2,⋯,N}

其中N NN为追迹光线的总数。点列图的形态直接反映了映射函数的非线性畸变程度,即系统的几何像差。

测试

下面以最简单的消色差胶合透镜为例,其结构如下

图中共针对三个物点进行成像,不同颜色的光线代表不同的波长。这三个点的点列图如下

图中可见,位于光轴上的点偏差很小,几乎在微米量级,随着光线逐渐偏离光轴,点列图就越分散。绘图代码如下。

importmatplotlib.pyplotaspltfromoptiland.samplesimportCementedAchromat lens=CementedAchromat()lens.draw()plt.show()fromoptiland.analysisimportSpotDiagram spot=SpotDiagram(lens)spot.view()plt.show()

评估指标

Optiland 在生成点列图时,会计算两个关键的统计指标来量化成像质量,即均方根半径(RMS Radiius)和几何半径(GEO Radius),二者定义为

R r m s = 1 N ∑ k = 1 N [ ( x i ( k ) − x c ) 2 + ( y i ( k ) − y c ) 2 ] R g e o = max ⁡ k ( x i ( k ) − x c ) 2 + ( y i ( k ) − y c ) 2 \begin{aligned} R_{rms}&=\sqrt{\frac{1}{N}\sum^N_{k=1}\left[ \left(x^{(k)}_i-x_c \right)^2+ \left(y^{(k)}_i-y_c\right)^2 \right]}\\ R_{geo}&=\max_k\sqrt{\left(x^{(k)}_i-x_c \right)^2+ \left(y^{(k)}_i-y_c\right)^2} \end{aligned}Rrms​Rgeo​​=N1​k=1∑N​[(xi(k)​−xc​)2+(yi(k)​−yc​)2]​=kmax​(xi(k)​−xc​)2+(yi(k)​−yc​)2​​

式中x c , y c x_c, y_cxc​,yc​为所有光线交点坐标的算术平均值,代表光斑能量的几何中心

x c = 1 N ∑ k = 1 N x i ( k ) , y c = 1 N ∑ k = 1 N y i ( k ) x_c=\frac{1}{N}\sum^N_{k=1}x^{(k)}_i,\quad y_c=\frac{1}{N}\sum^N_{k=1}y^{(k)}_ixc​=N1​k=1∑N​xi(k)​,yc​=N1​k=1∑N​yi(k)​

spot.rms_spot_radius()''' [[np.float64(0.0007160560338966489), np.float64(0.00030044346069136213), np.float64(0.0009093546785235328)], [np.float64(0.0062009419004590465), np.float64(0.006478127436073068), np.float64(0.005863964781384811)], [np.float64(0.013193574022352729), np.float64(0.013478204609735837), np.float64(0.012854624142347826)]] '''spot.geometric_spot_radius()''' [[np.float64(0.0012658074102686746), np.float64(0.0005373629890794854), np.float64(0.0012884677713641153)], [np.float64(0.011884205191984965), np.float64(0.012174297091610109), np.float64(0.011247689194430421)], [np.float64(0.024474576587270702), np.float64(0.02457540430166505), np.float64(0.02356916788532737)]] '''

SpotDiagram

【SpotDiagram】即为optiland中的点列图类,在上面的示例中,只输入了一个optic类型的参数,这也是唯一必须输入的参数,其他参数如下

  • 【fields】指定需要计算点列图的视场,默认为’all’
  • 【wavelengths】指定参与光线追迹的波长,默认为’all’
  • 【num_rings】定义入瞳采样的环数,默认为6,上面的点列图中,边缘处可以很清晰地看到,内外共六圈
  • 【distribution】定义光线在入瞳内的空间分布拓扑,'hexapolar’为六角形极坐标网格,能均匀覆盖圆形入瞳,避免矩形网格在角落的无效采样;'uniform’为均匀笛卡尔网格;‘random’: 随机分布,适用于蒙特卡洛公差分析。
  • 【coordinates】定义点列图坐标系的参考框架,默认’local’,以该视场的主光线或质心为原点;如果选’global’,则以像面的全局坐标系原点为参考点。
  • 【reference】定义计算 RMS 和 GEO 半径时的中心点,默认’chief_ray’,表示以主光线与像面的交点为中心;也可以选’centroid’,表示以光斑的能量质心为中心。

相关新闻

  • 项目看板同步_agent-project-board-sync
  • 从GitHub Copilot到企业级审查中枢:构建可审计、可回溯、可问责的AI审查流水线
  • 从 PHP 到 AI + Golang,程序员自救转型手记(二十):前端点选验证码组件实现

最新新闻

  • Video2X终极指南:如何用免费AI工具实现4K视频超分辨率和智能插帧
  • cookies-next高级技巧:如何避免Next.js应用中的Cookie水合错误
  • Steam Deck终极游戏平台整合指南:如何轻松管理所有非Steam启动器
  • 20个CSS片段:打造你的专属Obsidian知识库
  • 【2027最新】基于SpringBoot+Vue的一款BS美食网站管理系统源码+MyBatis+MySQL
  • QtAutoUpdater企业级应用:大规模部署和版本管理策略

日新闻

  • STM32F745VG与MC6470 IMU的高性能姿态控制系统设计
  • 机器不消费,人何以生存
  • AI项目操作手册编写规范与最佳实践

周新闻

  • Windows字体自定义终极方案:No!! MeiryoUI完全指南
  • Deepin Boot Maker:告别命令行,3分钟制作Linux启动盘的智能解决方案
  • Plain Craft Launcher 2:重新定义你的Minecraft游戏体验

月新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号