Ansys Zemax|如何模拟复杂的菲涅尔透镜

news2025/1/10 20:43:46

附件下载

联系工作人员获取附件

概述

这篇文章介绍了如何模拟每个菲涅尔环都由不同数据定义的复杂菲涅尔透镜。这种方法也可以用于定义复杂物体。

介绍

菲涅尔透镜与普通透镜有所区别,它是将普通透镜连续、光滑的表面分成一系列同心圆环,这些同心圆环被称为菲涅尔环带 (Fresnel zones)

图片

菲涅尔透镜比等效的普通球面透镜质量更轻,占用的体积更小,且可被用于灯塔投影、背投电视以及太阳能聚光器等多种应用设备中。

绝大多数菲涅尔透镜都可以使用非序列模式物体类型中的菲涅尔1 (Fresnel 1) 来进行建模。在此模型中,不仅可以很好地控制菲涅尔透镜的光学性能,还能控制倾角 (pitch angle) 、端盖 (end caps) 等加工制造参数。倾角是指“非活动”面(名义上与局部z轴平行的面)相对Z轴的角度。无论倾角是正还是负,齿距倾斜总是沿径向向外的。在菲涅尔透镜模具中加入几度的倾角可以使零件加工更加容易。

用户数据文件夹<...\Zemax\Samples\Non-sequential\Faceted objects>中的示例文件 Fresnel lens radial structure.zmx 是一个很好的例子。我们可以清楚地看到由非活动表面的全内反射引起的杂散光,如下图所示:

图片

图片

有时候,我们需要构建更复杂的菲涅尔物体,如TIR透镜以及在其它一些复杂成像系统中应用的元件。

图片

例如上方展示的菲涅尔透镜,可以通过利用环形非球面透镜 (Annular Aspheric Lens) 对每一个菲涅尔环带建模来轻松构建。

环形非球面透镜

对于需要在每一个环带的基础上精确控制菲涅尔透镜的情况下,最理想的方式就是利用环形非球面透镜物体建模,如下图所示:

图片

该物体两个表面均为偶次非球面表面,我们可以通过控制它的曲率半径、圆锥系数、上限为r^16的偶次多项式非球面系数、以及用户定义的最大孔径、最小孔径和厚度等参数,来较为理想地对菲涅尔透镜进行建模。

下图为一个复杂菲涅尔透镜的实例,其前表面是简单偶次非球面,后表面是五个圆环组成的非球面表面。

图片

我们可以用五个环形非球面透镜物体来实现建模,如下图所示:

图片

您可以联系工作人员下载附件,找到该示例文件,有关该文件的说明如下:

  • 第二到第五圆环材料 (Material) 栏的求解类型设置为拾取第一个圆环的材料,这样可以保证所有圆环的材料都与第一圆环保持一致。

  • 第二圆环的最大后孔径 (Maximum Back Aper)  同样设置为拾取求解类型,拾取第一个圆环的最小后孔径 (Minimum Front Aper),其余圆环的孔径设置也以此类推。这样在调整某个圆环的径向高度时,其它圆环会自动根据你的调整发生相应变化,而不会在圆环间产生重叠或空隙。

  • 对于前表面来说,第二到第五圆环的前半径(前表面的曲率半径,Front Radius)、前圆锥系数 (Front Conic)、前偶次非球面系数 (Front r^2…) 均分别与第一圆环的各参数相同,以此来形成一个光滑连续的非球面。进行该操作大约需要设置40个拾取求解类型,所以我们编写了简单的宏来快速地达到这一目的。

  • 每一个圆环后半径(后表面的曲率半径,Rear Radius)、后圆锥系数 (Rear Conic)、厚度 (Thickness) 以及后偶次非球面系数 (Rear r^2… ) 都是单独设置的,用以构成菲涅尔凹槽。

由于使用了拾取求解来将物体锁定在一起,所以只需要输入那些圆环之间不同的参数即可。第一圆环(物体1)被其它圆环当作参考物体,所以,当第一圆环移动时,其他圆环也会自动移动,以保持与第一圆环相对位置不变。因此,只需要移动第一圆环就可以将所有圆环作为一个整体来移动。

这个例子表明了OpticStudio用户接口的一个关键优势:用户可以通过组合简单物体的方式来构建复杂物体。并且,拾取求解类型和相对物体参考等设置,能使我们像操纵单个物体那样操纵最终形成的复杂物体。

构建出来的物体可以进行快速光线追迹、优化和公差分析。如果你需要将其导出为CAD文件包,可以使用原生布尔物体将它们合并成一个物体,然后执行导出。在本例中,将所有的环形非球面透镜物体组合在一起,再减去一个矩形体,所得到物体的横截面视图如下所示:

图片

构建物体的剖面或构建非常规物体时,也可以使用同样的方法。文章开篇的链接中给出了文章中用到的所有文件。

总结

在OpticStudio的非序列模式下,可以很容易地构建菲涅尔透镜。首选就是使用文件中已有的物体类型—菲涅尔1 (Fresnel 1) ,来构建所需的透镜。如果需要以菲涅尔圆环为单位来进行更为精准地设置,可以利用环形非球面透镜 (Annular Aspheric Lens) 物体类型来实现。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

手机高清录屏,快速学会的2种绝妙方法!

在移动互联时代&#xff0c;手机不仅仅是通讯工具&#xff0c;更是我们记录生活、分享经验、创作内容的得力助手。而手机高清录屏功能&#xff0c;则为我们捕捉手机屏幕上的每一帧精彩提供了便捷的方式。无论是游戏直播、教学演示&#xff0c;还是视频制作&#xff0c;手机高清…

创建自己的 Omnigraph (python篇)

Omnigraph 是 Nvidia Omniverse 中一个强大的视觉化脚本工具&#xff0c;它让开发者能够以直观和灵活的方式创建复杂的行为和交互性。通过结合 Action Graphs 和 Push Graphs&#xff0c;以及利用丰富的节点库&#xff0c;用户可以在 Omniverse 平台上构建出令人惊叹的虚拟世界…

Ubuntu虚拟机扩容笔记(各种方法都不行版)

1.背景介绍 最近需要对ubuntu的虚拟机下面的挂载根目录上的文件系统对应的硬盘进行扩容&#xff0c;在虚拟机管理平台对磁盘进行扩容后&#xff0c;在图形界面上尝试扩容&#xff1a; 尝试教程主要采用下面教程的第三种方法&#xff1a; Ubuntu22.04 Linux磁盘扩容/硬盘扩展…

【C++】学习笔记——C++11_1

文章目录 十九、C111. 统一的列表初始化{}初始化std::initializer_list 2. 声明autodecltypenullptr 4. 范围for5. STL中的一些变化新容器新方法 6. 右值引用和移动语句左值引用和右值引用 未完待续 十九、C11 1. 统一的列表初始化 {}初始化 在C98中&#xff0c;标准允许使用…

C++ map/set 函数用法解析

一 . set 1.1 set 是什么、关联/非关联式容器 se是一种关联式容器&#xff0c;主要用进行查找的工作。采用了key模型&#xff0c;判断数据在不在。不支持修改的操作。 序列式容器&#xff08;线性表&#xff09;&#xff1a;vector / list /deque&#xff08;单纯存储数据&am…

top命令从入门到精通

top命令从入门到精通 linux平台上一个可以用于性能监控、排查的神器。 响应参数 up&#xff1a;运行时长users&#xff1a;当前登陆了几个用户load average&#xff1a;运行负载 sleeping&#xff1a;休眠进程stopped&#xff1a;终止进程zombie&#xff1a;僵尸进程 us&…

Neutralinojs教程项目实战初体验(踩坑指南),干翻 electron

Neutralinojs 项目实战初体验&#xff08;踩坑指南&#xff09;&#xff0c;干翻 electron Neutralinojs 官方文档 卧槽卧槽&#xff0c;&#xff01;这个年轻人居然用浏览器把电脑关机了_哔哩哔哩_bilibili正是在下 本教程搭建的是纯原生项目&#xff0c;没有和其它前端框架…

【C++BFS】959. 由斜杠划分区域

本文涉及知识点 CBFS算法 LeetCode959. 由斜杠划分区域 在由 1 x 1 方格组成的 n x n 网格 grid 中&#xff0c;每个 1 x 1 方块由 ‘/’、‘’ 或空格构成。这些字符会将方块划分为一些共边的区域。 给定网格 grid 表示为一个字符串数组&#xff0c;返回 区域的数量 。 请注…

整理压缩JavaScript文件

你是不是会担心有专业人员通过你写的JavaScript语法来判断你的接口数据&#xff0c;今天就介绍一种可以封装你写的JavaScript的工具 环境&#xff1a;Windows10、node20.11.1、Vue/cli 5.0.8 uglify-js 是一个流行的 JavaScript 压缩工具&#xff0c;用于减少 JavaScript 文件…

angular入门基础教程(二)第一个angular组件

ng中的语法跟vue中是一样的插值语法&#xff0c;其实也是早期vue抄的ng的思路&#xff0c;使用{{variable}}形式&#xff0c;vue借鉴了ng和react&#xff0c;这个我们就不多了。 新建一个子组件 在项目根目录下面&#xff0c;执行 ng g component ./components/UserList这样…

Transformer——逐步详解架构和完整代码搭建

好久没更新博客&#xff0c;后面更新会勤一些。今天想聊一下Transformer&#xff0c;Transformer在NLP和CV领域都有着重要的价值&#xff0c;甚至可以看作是一个基础模型&#xff0c;这篇博客将通过详细代码深入解析Transformer模型总体架构图各个部分的的作用和搭建:论文链接&…

angular入门基础教程(九)依赖注入(DI)

依赖注入 Angular 中的依赖注入&#xff08;DI&#xff09;是框架最强大的特性之一。可以将依赖注入视为 Angular 在运行时为你的应用 提供所需资源的能力。依赖项可以是服务或其他资源。 使用服务的一种方式是作为与数据和 API 交互的方式。为了使服务可重用&#xff0c;应该…

晋升有望,5本易录用的计算机三四区潜力刊,通过率>50%,2个月超速接收,好发

今天模术狮给大家整理了5本让你晋升有望&#xff01;易录用的计算机三区四区潜力刊&#xff0c;通过率&#xff1e;50%&#xff0c;2个月超速接收&#xff0c;好发&#xff01; 1 DATA MINING AND KNOWLEDGE DISCOVERY 期刊简介&#xff1a;数据收集、存储和分发方面的进步产生…

Qt系统机制

Qt系统 Qt文件概述输入输出设备类QFileQFileInfoQt多线程Qt多线程常用API使用Qt多线程 线程安全互斥锁读写锁条件变量信号量 Qt网络QUdpSocketQNetworkDatagram设计一个UDP回显服务器QTcpServerQTcpSocketTcp版本的回显服务器HttpClient核心API Qt 音频Qt视频 Qt文件概述 ⽂件操…

阿里云服务器系统盘扩容后,宝塔面板不显示新容量的问题

1. 安装 growpart 扩展 yum install -y cloud-utils-growpart 2. 运行fdisk -l命令查看磁盘实际大小。 fdisk -l 用于:查看磁盘实际大小 说明:磁盘(/dev/vda)实际大小为:250 G。 3. 运行df -h命令查看磁盘分配大小。 df -h 用于:查看磁盘分配大小 4. 自适应分区扩容 g…

2024 Navicat Premium最新版简体中文版破解激活永久图文详细教程(亲测可用)

1.官网下载&#xff1a;下载地址 2.百度网盘下载&#xff1a;下载地址 3.未安装过的用户可直接跳过该步骤&#xff0c;如果已安装Navicat&#xff0c;记得先卸载干净&#xff0c;防止破解失效&#xff0c;卸载完成后执行补丁压缩包中的Navicat.bat脚本&#xff08;一闪而过表示…

热门景区精准客流统计也能如此简单做到了

在热门景区&#xff0c;游客如织&#xff0c;如何实现精准的客流统计成为了景区管理者关注的重点。令人欣喜的是&#xff0c;如今这一难题已经有了简单而有效的解决方案。 一、景区应用客流统计的原因 首先&#xff0c;热门景区承载着巨大的游客流量&#xff0c;为了确保游客的…

如何使用git拉取gitee上面的项目/代码?(超简单)

一、下载git软件 下载地址&#xff1a;git官网地址 1.点击右边小电脑上的按钮下载 2.选择自己电脑对应的系统 3.基本都是默认&#xff0c;这里需要勾一下就ok 4.正在安装 2.使用git软件 1.如何打开git 找到你想要操作的文件夹&#xff0c;右击open git bash here就可以…

云计算实训16——关于web,http协议,https协议,apache,nginx的学习与认知

一、web基本概念和常识 1.Web Web 服务是动态的、可交互的、跨平台的和图形化的为⽤户提供的⼀种在互联⽹上浏览信息的服务。 2.web服务器&#xff08;web server&#xff09; 也称HTTP服务器&#xff08;HTTP server&#xff09;&#xff0c;主要有 Nginx、Apache、Tomcat 等。…

【参会邀请】第四届区块链技术与信息安全国际会议(ICBCTIS 2024)诚邀相聚江城!

我们诚挚地邀请您参与第四届区块链技术与信息安全国际会议&#xff08;ICBCTIS 2024&#xff09;。本届会议将于2024年8月17日~19日在中国武汉召开。会议将围绕区块链技术与信息安全等相关研究领域&#xff0c;特邀国内外数位在此领域学术卓越的学者专家做相关致辞与报告&#…