Ansys Zemax | 使用衍射光学器件模拟增强现实 (AR) 系统的出瞳扩展器 (EPE):第 3 部分

附件下载

联系工作人员获取附件

在 OpticStudio 中使用 RCWA 工具为增强现实(AR)系统设置出瞳扩展器(EPE)的示例中,首先解释了 k空间中光栅的规划,并详细讨论了设置每个光栅的步骤。

介绍

本文是四篇文章系列中的第三篇,详细展示了封装图的检查步骤以及出瞳扩展器(EPE)系统图像的模拟方法。最后,我们还探讨了EPE系统潜在的改进方案及其他值得考虑的因素。您想要了解更多详细信息的可以查看其他部分的链接。

如何在 OpticStudio 中使用衍射光学器件模拟增强现实 (AR) 系统的出瞳扩展器 (EPE):第 1 部分

如何在 OpticStudio 中使用衍射光学器件模拟增强现实 (AR) 系统的出瞳扩展器 (EPE):第 2 部分

检查占地面积

在设计 EPE 时,调查每个磁场的足迹是有用的。为了检查封装直径,需要添加一个探测器,结果可以在 Shaded Model 中观察到。相关示例已保存在附件 “step4_check footprint.zar” 中。

在检查此文件时,请注意以下要点:

1.检测器的Color和Scale参数已从默认值0进行了修改。这些调整主要是为了在Shaded Model中切换检测器的外观样式,而不涉及任何物理效果的改变。

2.为了确保在着色模型中能够清晰地观察到探测器,我们还需要调整所有光栅和波导物体的不透明度设置,具体如图1所示。在此示例中,波导的不透明度被设置为10%,而光栅的不透明度被设置为30%,请注意,这些设置完全可以根据用户的实际需求进行调整。

图片

图 1 通过在 Object Properties 中将 Opacity 设置为小于 100%,对象可以在 Shaded Model 中透明。

3. 然后可以通过打开 Shaded Model 来观察封装。在 Shaded Model 中,它设置为显示对象的隐藏线,并在最后一次分析运行时为检测器的像素着色,具体效果如图2所示,最终结果如图 3 所示。

图片

图 2 在“着色模型”中,显示对象的隐藏线,并通过最后分析为检测器的像素着色。

图片

图 3 添加了一个检测器,用于检测每个磁场的足迹。

图像模拟

为了模拟人眼观察图像时的视觉效果,我们需要一个虚拟图像源。同时,在出瞳位置,我们需要设置一个理想的镜头系统来模拟眼睛的光学特性,来检查图像的呈现效果。在随附的 “step5_image simulation.zar” 中演示了一个示例。

图片

图 4 为了模拟使用此波导系统的图像外观,添加了 6 个对象。前 3 个对象(#10 到 #12)是一个理想的投影系统,它在图像源上准直点源并将光束发送到耦合光栅。最后 3 个物体(#13 到 #15)是一个成像系统,它将外耦合光束聚焦到其焦平面上的探测器。

检查此文件时需要了解的要点:

1. 对象 #10 到 #12 一起代表一个理想的投影系统,它将图像源投影到无限远(无焦)。投影系统的出瞳位于耦合光栅上,这是 EPE 系统的入射瞳孔。

2. 对象 10 是使用带有 Lambertian_Overfill.DLL 的 Source DLL 对象构建的矩形 Lambertian 光源。参数 Target Diameter 和 Target Distance 被指定给耦合内光栅。这使得模拟效率很高,因为只有能够击中耦合光栅的光线才会发射。

3. 对象 11 是一个 Slide 对象,可以使用位图作为蒙版。它的位置应与对象 10 略微偏移。与 对象 10 结合使用,可以构建朗伯图像源。在此示例中,位图是要测试的 QR 码。

4. 对象 12 是一个近轴镜头,其焦距等于对象 12 和对象 10 和 11 之间的距离。换句话说,图像源正好位于这个理想镜头的焦平面上。

5. 图像源为矩形,宽度为 5 mm,系统焦距为 10 mm。这意味着该 AR 系统在 X 和 Y 方向上的 FOV 为 ±14 度,在对角线上为 20 度。

6. 对象 #13 到 #15 代表模拟人眼观察的理想成像系统。对象 13 是一个近轴透镜,可以将无限共轭图像聚焦到其焦平面。对象 15 是焦平面上的探测器,用于检测近轴透镜聚焦的图像。

7. 对象 14 是一个可以吸收光的环状物。使用此对象有两个原因。第一个是因为物体 13,即近轴透镜,是矩形的,而人类的瞳孔是圆形的。另一个原因是外径较大的环形可以阻挡不通过近轴透镜而是直接打在探测器上的光线。环的内半径为 3 毫米,代表人眼的瞳孔大小为 6 毫米。

8. 请注意,各个对象之间不能发生重叠。因此,在对象 13 和 14 的Z位置处都设置了一个较小的值。这样,光线会首先击中出瞳探测器(对象 8 ),然后经过近轴透镜(对象 13 ),最后被环状物体(对象 14 )所过滤。

讨论

此处的示例仅用于演示。本文不详细考虑以下几点,但这些方面或许能为设计此类系统的工程师提供灵感与启发。

1. 车削格栅的位置和形状可以重新布置,以充分利用空间。如图 5 所示,车削光栅可以尽可能靠近耦合光栅。所需的最小形状可以根据耦合光栅的尺寸和系统所需的 FOV 来确定。从 FOV 中,很容易知道由耦合式光栅的光传播形成的“扇角”。

2. 为了提高出瞳处的均匀性,可以将光栅分成几个具有不同光栅参数的区域。

3. 在图像模拟的演示中,眼瞳仅放在外耦合光栅的中心。检查当眼瞳孔移动时眼睛如何接收图像也很重要。当瞳孔较小时检查图像质量也很重要。

4. 在本演示中,投影系统是使用近轴透镜理想化的,而近轴透镜实际上是单独设计的透镜系统。使用真实镜头会引入像差,但也可以为系统带来一些灵活性。例如,通过适当的渐晕设计,可以控制不同视场点的 F/# 以补偿波导和光栅的性能。

图片

图 5 车削光栅形状的规划主要需要考虑第一耦合光栅的尺寸和系统的视场角。系统使用的 FOV 决定了 “Fan angle”(扇形角度)。

上一篇文章:Ansys Zemax | 使用衍射光学器件模拟增强现实 (AR) 系统的出瞳扩展器 (EPE):第 1 部分

Ansys Zemax | 使用衍射光学器件模拟增强现实 (AR) 系统的出瞳扩展器 (EPE):第 2 部分

在第四部分中我们将演示如何检查封装图、模拟出瞳扩展器系统的图像、讨论 EPE 系统的可能改进和其他考虑因素,请大家持续关注。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/26144.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Acwing 哞叫时间II

6134. 哞叫时间II - AcWing题库 题目大意:统计数组中子序列abb的数量: 做法:从右往左枚举倒数第二个b,查前面出现过多少次a,查的方法(开一个数组left[x]来统计当前及前面出现过多少次x,cnt记录不同x的数量…

PyCharm中通过命令行执行`pip`命令下载到哪里了:虚拟环境目录下

PyCharm中通过命令行执行pip命令下载到哪里了:虚拟环境目录下 在PyCharm中通过命令行执行pip命令安装工具包,包的下载位置取决于多种因素 虚拟环境 如果项目使用了虚拟环境(通常是推荐的做法): Windows:虚拟环境通常位于项目目录下的.venv文件夹(默认情况)或你指定…

基于 Ray 构建的机器学习平台

在当今的人工智能和机器学习领域,构建一个高效、可扩展且易于管理的机器学习平台是许多企业和研究机构面临的重大挑战。随着数据量的不断增长和模型复杂度的提高,传统的机器学习平台往往难以满足现代 AI 应用的需求。Ray,作为一个强大的分布式计算框架,为解决这些问题提供了…

C++ ++++++++++

初始C 注释 变量 常量 关键字 标识符命名规则 数据类型 C规定在创建一个变量或者常量时,必须要指定出相应的数据类型,否则无法给变量分配内存 整型 sizeof关键字 浮点型(实型) 有效位数保留七位,带小数点。 这个是保…

梯度下降法(Gradient Descent) -- 现代机器学习的血液

梯度下降法(Gradient Descent) – 现代机器学习的血液 梯度下降法是现代机器学习最核心的优化引擎。本文从数学原理、算法变种、应用场景到实践技巧,用三维可视化案例和代码实现揭示其内在逻辑,为你构建完整的认知体系。 优化算法 一、梯度下降法的定义…

VS Code 如何搭建CC++开发环境

VS Code 如何搭建C/C开发环境 文章目录 VS Code 如何搭建C/C开发环境1. VS Code是什么2. VS Code的下载和安装2.1 下载和安装2.2 环境的介绍 3. VS Code配置C/C开发环境3.1 下载和配置MinGW-w64编译器套件3.2 安装C/C插件3.3 重启VS Code 4. 在VS Code上编写C语言代码并编译成功…

DeepSeek 助力 Vue3 开发:打造丝滑的悬浮按钮(Floating Action Button)

前言:哈喽,大家好,今天给大家分享一篇文章!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏关注哦 💕 目录 Deep…

Python正则

1.正则表达式 1.1含义:记录文本规则的代码,字符串处理工具 注意:需要导入re模块 1.2特点: 1.语法比较负杂,可读性较差 2.通用性很强,适用于多种编程语言 1.3步骤: 1.导入re模块 import…

网络安全虚拟化组成

网络安全虚拟化组成是指利用虚拟技术对网络安全功能进行集成、管理和提供的过程。在当今数字化时代,网络安全已经成为企业以及个人信息安全的重要组成部分。而华为作为一家全球知名的通信技术解决方案提供商,在网络安全领域拥有着丰富的经验和技术积累。…

【异地访问本地DeepSeek】Flask+内网穿透,轻松实现本地DeepSeek的远程访问

写在前面:本博客仅作记录学习之用,部分图片来自网络,如需引用请注明出处,同时如有侵犯您的权益,请联系删除! 文章目录 前言依赖Flask构建本地网页访问LM Studio 开启网址访问DeepSeek 调用模板Flask 访问本…

【AVL树】—— 我与C++的不解之缘(二十三)

什么是AVL树? AVL树发明者是G. M. Adelson-Velsky和E. M. Landis两个前苏联科学家,他们在1962年论文《An algorithm for the organization of information》中发表了AVL树。AVL树是最先发明的自平衡二叉搜索树,说白了就是能够自己控制平衡结构…

使用C#控制台调用本地部署的DeepSeek

1、背景 春节期间大火的deepseek,在医疗圈也是火的不要不要的。北京这边的医院也都在搞“deepseek竞赛”。友谊、北医三院等都已经上了,真是迅速啊! C#也是可以进行对接,并且非常简单。 2、具体实现 1、使用Ollama部署DeepSeek…

Java AQS(AbstractQueuedSynchronizer):深入剖析

🧑 博主简介:CSDN博客专家,历代文学网(PC端可以访问:https://literature.sinhy.com/#/literature?__c1000,移动端可微信小程序搜索“历代文学”)总架构师,15年工作经验,…

蓝桥备赛(七)- 函数与递归(上)

一、函数是什么 数学中 , 我们其实就见过函数的概念 , 比如 : 一次函数 y kx b , k 和 b 都是常数 , 给一个任意的x 就得到一个 y 值。 其实C/C语言中就引入了函数(function)的概念 , 有些翻译成&#…

【java】@Transactional导致@DS注解切换数据源失效

最近业务中出现了多商户多租户的逻辑,所以需要分库,项目框架使用了mybatisplus所以我们自然而然的选择了同是baomidou开发的dynamic.datasource来实现多数据源的切换。在使用初期程序运行都很好,但之后发现在调用com.baomidou.mybatisplus.ex…

DeepSeek 助力 Vue3 开发:打造丝滑的网格布局(Grid Layout)

前言:哈喽,大家好,今天给大家分享一篇文章!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏关注哦 💕 目录 Deep…

Ragflow与Dify之我见:AI应用开发领域的开源框架对比分析

本文详细介绍了两个在AI应用开发领域备受关注的开源框架:Ragflow和Dify。Ragflow专注于构建基于检索增强生成(RAG)的工作流,强调模块化和轻量化,适合处理复杂文档格式和需要高精度检索的场景。Dify则旨在降低大型语言模…

形式化数学编程在AI医疗中的探索路径分析

一、引言 1.1 研究背景与意义 在数字化时代,形式化数学编程和 AI 形式化医疗作为前沿领域,正逐渐改变着我们的生活和医疗模式。形式化数学编程是一种运用数学逻辑和严格的形式化语言来描述和验证程序的技术,它通过数学的精确性和逻辑性,确保程序的正确性和可靠性。在软件…

JVM线程分析详解

java线程状态: 初始(NEW):新创建了一个线程对象,但还没有调用start()方法。运行(RUNNABLE):Java线程中将就绪(ready)和运行中(running)两种状态笼统的称为“运行”。 线程对象创建…

deepseek+mermaid【自动生成流程图】

成果: 第一步打开deepseek官网(或百度版(更快一点)): 百度AI搜索 - 办公学习一站解决 第二步,生成对应的Mermaid流程图: 丢给deepseek代码,或题目要求 生成mermaid代码 第三步将代码复制到me…