0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

两个用来模拟梯形和阶梯光栅的DLL

LD18688690737 来源:光电资讯 作者:光电资讯 2022-10-31 16:53 次阅读

表面浮雕光栅(SRG)广泛应用于各种传统光学系统,如光谱仪、分束器、三维扫描系统、衍射透镜和脉冲放大系统等。近年来,表面浮雕光栅在平视显示器(HUD)、增强现实(AR)、虚拟现实(VR)头戴显示器(HMD)等现代设备中得到广泛应用。它们能够以任意角度衍射光线,综合其波长和角度选择性,使得光学系统比传统设计更紧凑、更轻,而传统设计通常需要使用棱镜和自由曲面来达到同样的性能,会导致系统更复杂,体积更庞大。 OpticStudio一直可以模拟光栅,但没有考虑衍射效率。为了准确地反映衍射光线的衍射效率和偏振态,就必须在模拟时考虑光栅的微观结构等特性。 本文将讨论两个用来模拟梯形和阶梯光栅的DLL。承接上周的内容,下篇将包含DLL参数等。

DLL 参数

在OpticStudio 20.3中,共有5个RCWA DL用于模拟不同形状的1D光栅:

srg_trapezoid_RCWA.dll

srg_step_RCWA.dll

srg_blaze_RCWA.dll

srg_GridWirePolarizer_RCWA.dll

srg_user_defined_RCWA.dll

本节描述了这些DLL的参数,从所有DLL相同的参数开始,然后解释每个DLL的特定参数。

相同的参数

以下参数在所有 RCWA DLL 中具有相同的含义。 +周期/频率(µm)和深度(µm) 这些凹槽周期单位为µm,光栅的剖面深度单位为µm。

当“+周期/-频率(µm)”是正值,它对应于凹槽周期(µm);

当它是负值,对应于凹槽频率(1 /µm)。周期和频率是互为倒数的。图10显示了光栅的凹槽周期和深度。

24ad6828-57ed-11ed-a3b6-dac502259ad0.png

图10. 梯形和阶梯光栅的槽深和凹槽周期。 建议周期不要太大,例如波长的100 倍。这意味着所需的?ZUI大级次非常大,以至于不能有一个准确的结果。有关ZUI大级次初始值的建议,请参阅"谐波(级次)的概念"部分。 ZUI大级次 请参阅"谐波(级次)的概念"部分。 这目前限制为10(共 21 个谐波)。当数字大于10时,在DLL中将其修改为 10。联系支持团队以增加限制。 旋转光栅(°) 此参数允许用户旋转光栅线的方向。

当它设置为零时,光栅线沿着Y方向,这意味着光线在X方向弯曲。

当它设置为非零时,正值则光栅线以逆时针方向旋转(+X +Y),负值则顺时针向旋转。请注意,此处描述的X和Y方向基于对象的本地坐标系统。

24cd6ede-57ed-11ed-a3b6-dac502259ad0.png

图11. 光栅旋转 135 度。 使用镀膜文件 此参数是一个标志。如果是非零正整数,则表示分散数据(指数与波长)在文本文件中定义。文本文件必须保存在 {Zemax}CoatingsCOATING_xx.dat中,其中 xx 是"使用涂料文件"参数中指定的正整数。 例如,如果将"使用涂层文件"设置为 7,则将COATING_7.dat读取分散数据。 在COATING_xx.dat文件中,散射数据的定义可用参考“The Libraries Tab > Coatings Group > Defining Coatings > The MATE Data Section"下的帮助文件。材料名称应始终从RCWAxx开始,其中xx是两位数的整数。所有文本依次排布。 例如,我们可以定义RCWA01TIO2。DLL将读取 RCWA 材料1,并将忽略随后的TIO2文本。图12显示了一个涂层文件与几个材料散射数据的例子。

2520c84a-57ed-11ed-a3b6-dac502259ad0.png

图12. 如何在COATING_xx.dat中定义分散数据的示例。 材料编号可以指定光栅折射率(R)、环境折射率(R)或膜层折射率(R)。使用等于材料数乘以-1的负整数。 例如,如果我们要将RCWA02设置为Grate区域的索引数据,则只需将光栅折射率(R)设置为 -2。 查看”光栅折射率(R)、光栅折射率(I)、环境折射率(R)、环境折射率(I)“和”膜层折射率(R)、膜层折射率(I)、膜层顶部厚度(µm)、膜层侧面厚度(µm)“小节获取更多信息 插值 这个参数需是一个整数。

如果为零,DLL 将不使用插值模式。

如果设置为非零值,DLL将在插值模式下工作,这意味着DLL在计算时将在RAM中缓存RCWA数据。然后,这些数据用于插值以进行进一步的光线追迹。这可以显著提高系统中许多光线追迹的速度,例如,跟踪超过一百万条光线。

当插值设置为1时,将使用201*201采样网格。

当它大于1时,它代表采样网格的大小。换句话说,用户可以通过将插值设置为大于1的数字来定义采样网格的大小。但请注意,ZUI低采样网格大小为21。

当插值设置为负整数时,DLL将采取绝对值来查找采样网格,但会使用不同的方法进行插值。这种插值方法更准确,但速度较慢。

设置插值参数是为了速度和精度之间的正确平衡。

2546928c-57ed-11ed-a3b6-dac502259ad0.png

图13. 当参数插值为非零整数时,插值模式将打开。当它是负数的时,使用不同的插值方法。这种方法较慢,但更准确。 插值模式(Interpolation Mode)是如何工作的? 首先,在LM空间中定义一个采样网格。当光线入射到光栅上时,光线的方向可以用单位矢量(L,M,N)表示。LMN也被称为光线的方向余弦。当光线击中光栅时,它在x和y方向上的方向余弦L和M被映射到LM空间。然后检查ZUI近的四个采样点,如果在这四个点中没有任何一个点已经计算出RCWA数据,则计算这些点的数据并将其保存在RAM中。然后用这四个点对入射光的RCWA数据进行线性插值。注意,插值不仅是为了提高衍射效率,也是为了实现电场。换句话说,在缓存数据和插值的过程中,要充分考虑相位、偏振态和振幅的变化。 如果光栅数据或光的波长发生变化,DLL将创建另一个采样网格来保存RCWA数据。因此,将光栅参数或波长设置为变量时,用户不应在优化过程中打开插值功能。这意味着追踪许多光线(>1000)时,插值会起到加速优化的作用。但是,如果在优化过程中仅通过光栅跟踪几条光线(如<10),建议关闭插值。 关于进一步的讨论,请参阅“优化(Optimization)”一节。

259c45c4-57ed-11ed-a3b6-dac502259ad0.png

图14. 在插值模式下,衍射数据的计算如图所示。 仅这些级次(Only these order) 当参数"仅这些级次"为0或负时,DLL将照常工作。所有级次都将追踪。当该参数为正整数时,允许用户指定用户想要跟踪的传输和反射中的衍射级次。 "仅这些级次"只是一个整数,所以下表是它的定义。下表将级次映射为唯一的正整数。

25c6b714-57ed-11ed-a3b6-dac502259ad0.png

"仅这些级次"是2的幂级数的总和。 举个例子,如果用户想要追迹0级反射光线(R0)和+1级透射光线(T+1)。”仅这些级次“参数应该被设置为2^0 + 2^5 = 1 + 32 = 33。

25de4d2a-57ed-11ed-a3b6-dac502259ad0.png

25f4d86a-57ed-11ed-a3b6-dac502259ad0.png

图.15 ”仅这些级次“ 允许用户指定用户想要跟踪的传输和反射中的衍射级次 注意在使用这个参数的时候,开始级次和结束级次需要包含指定的追迹级次。 此参数也可以使用可视化工具设置。这是一种更容易的方法,因为不需要计算。

2616daf0-57ed-11ed-a3b6-dac502259ad0.png

图.16 可视化工具中可用直接设置该参数。 随机模式

这也可以称为蒙特卡罗方法或者概率分裂

当参数设置为0时,DLL正常工作

当设置为1,2或3时,随机模式将会生效。当随机模式工作时,DLL会让光线随机衍射,如图17所示。跟踪每个衍射级次的概率基于衍射级次之间的能量比。

263bbb68-57ed-11ed-a3b6-dac502259ad0.png

图17. 随机模式下,任意入射光线会随机衍射,产生衍射的级次的概率取决于每个级次的能量比。这张图片显示了只有1条光线随机衍射的情况。

对于每条入射光线,可能有任意数量的出射光。要衍射的光线数量由计算决定(截至级次-初始级次+1)。换句话说,用户可以设置参数"初始级次"和"截至级次"来定义出射的光线数量。同样,在光线追迹过程中,随机决定每一条光线的衍射级次。每个出射光线都携带Pi/n的功率,其中Pi是入射光线功率,n是出射线的数量。

265d3e32-57ed-11ed-a3b6-dac502259ad0.png

图18. 在随机模式下,一条入射光线可用对应多条衍射出射光线。 注意,如果”仅这些级次“不为零,则随机模式按照如下规则运行。

当随机模式为1时,”仅这些级次“被忽略。

当随机模式为2时,随机模式先于”仅这些级次“生效,一条光线可能由随机模式随机化,但被"仅限这些命令"设置的规则阻止。

当随机模式为3时,”仅这些级次“先于随机模式生效,光栅仍然以随机方式衍射光线,但衍射光线始终在"仅这些级次"指定的一组级次中随机化。

错误日志 如果这个参数不为0,则会生成一个报告计算错误的txt文件。该日志文件会保存在{Zemax}DLLDiffractive中,并且与指定的衍射DLL同名。这一参数通常应该设置为0,除非出现了未知的错误。 查看”几何错误“小节获取更多相关信息。

梯形光栅参数(Trapezoid parameters

以下是梯形光栅 (srg_trapezoid_RCWA.dll) 的参数: 深度,Alpha (度),Beta (度)和填充因子。 这四个参数按照如下规则控制光栅的形状:

深度决定了光栅的高度,如图19所示。

从-z旋转到+x方向时,Alpha和Beta是正的,从+x旋转到-z方向时,Alpha和Beta是负的。例如,在图19中Alpha是正的,Beta是负的。

填充因子是0到1之间的数字,表示底面与凹槽周期的比值。

26c649c2-57ed-11ed-a3b6-dac502259ad0.png

图19. 梯形光栅的4个参数定义了光栅形状。 膜层折射率(R)、膜层折射率(I)、膜层顶部厚度(µm)、膜层侧面厚度(µm) 这4个参数用于模拟光栅的膜层。DLL可以使用户定义顶部厚度(膜层顶部厚度(µm))和侧面厚度(膜层侧面厚度(µm))。 注意,膜层的厚度不包括在深度参数中。例如,如果深度是5 µm,膜层顶部厚度为200 nm,则光栅的总厚度为5.2µm。

271e49d8-57ed-11ed-a3b6-dac502259ad0.png

图11. 梯形光栅膜层的顶部厚度。 由于膜层材料可以是金属,DLL提供了另外两个参数来定义膜层材料的复折射率;实部为膜层折射率(R),虚部为膜层折射率(I)。在OpticStudio中,对于吸收材料来说,折射率的虚部通常是负的。例如,铝的复折射率为0.7-7.0i。 膜层折射率(R)不能为零,但可以是负整数。当它是负整数时,意味着它由文本文件中的数据单独定义。有关详细信息,请参阅"使用镀膜文件"部分。 光栅折射率(R)、光栅折射率(I)、环境折射率(R)、环境折射率(I) 光栅结构可分为两个部分,如图 21所示:由”Grate”和“Env“指示的2个不同区域,表示光栅及其环境。光栅被外部区域(Outside)和基板区域(Substrate)包围。基板和外部区域的折射率由光学系统定义。光栅和环境的折射率由DLL中的参数定义。 DLL中包含了4个参数来定义光栅和环境的折射率。

光栅和环境的折射率均由复数定义。

对于光栅区域,折射率的实数部分和虚数部分由光栅折射率(R)和光栅折射率(I)指定。

对于环境区域,折射率的实数部分和虚数部分由环境折射率(R)和环境折射率(I)指定。

当光栅和环境的折射率的实数部分被设为0时,有一项特殊的定义。如果光栅折射率设为0,则表示光栅的折射率与基板的折射率一致。基板折射率由光学系统定义。同样的,如果环境折射率设为0,则表示环境的折射率和外部区域的折射率一致。

光栅和环境的折射率的实数部分(R)可以是负数,意味着它由文本文件中的数据单独定义

有关详细信息,请参阅"使用镀膜文件"部分。

273a03da-57ed-11ed-a3b6-dac502259ad0.png

图21. 梯形光栅可用分为两个区域,光栅(Grate)和环境(Env)。两个区域的折射率可用分别定义。

层数

这个参数是用来建模梯形形状的层数。有关更多信息,请查看“层的概念”一节。

锯齿光栅参数(Blaze parameters)

锯齿光栅的参数 (“srg_blze_RCWA.dll”) 与梯形光栅的参数(“srg_trapezoid_RCWA.dll”)一致,除了”深度“。 对于锯齿光栅,深度可以由给定的Alpha和Beta参数计算得来,如图22所示。

27625a88-57ed-11ed-a3b6-dac502259ad0.png

图22. 锯齿光栅的形状由三个参数定义:Alpha,Beta和填充因子。

阶梯光栅参数(Step parameters)

以下参数用于定义阶梯光栅(“srg_step_RCWA.dll”)。 深度,阶梯数和Alpha (度)。

深度决定了光栅的高度或厚度,如图23所示。

阶梯数定义了每个周期中阶梯形状的数量,如图23所示。实际上,这通常与制造过程有关。请注意,光栅的形状正在"向下"朝+x方向移动,如下图所示。要反转方向,用户应将光栅绕z轴旋转180度。

277c4b5a-57ed-11ed-a3b6-dac502259ad0.png

图23.参数 “阶梯数”定义了每个周期中阶梯形状的数量。

参数Alpha定义另一侧的斜角,如下图所示。当从+z旋转到-x时,Alpha的符号是正的。图24显示了 Alpha为正的示例.

27931aa6-57ed-11ed-a3b6-dac502259ad0.png

图24. 参数 Alpha 定义了另一侧的斜角。 每阶梯层数(Layers per step) 这个参数定义了每个阶梯中的层数,此参数只能在参数 Alpha 不为零的情况下使用。否则就是无效的,因为计算结果不会改变。下图显示了该参数如何影响斜面的采样。

27a823a6-57ed-11ed-a3b6-dac502259ad0.png

图25. 参数Lays of 1 stp定义了每个阶梯中的层数。 膜层折射率(R)、膜层折射率(I)、膜层顶部厚度(µm)、膜层侧面厚度(µm) 这四个参数的定义与梯形光栅一致。参照梯形光栅中的解释。

27c42fec-57ed-11ed-a3b6-dac502259ad0.png

图26. 阶梯光栅膜层的顶部和侧面的厚度。 光栅折射率(R)、光栅折射率(I)、环境折射率(R)、环境折射率(I) 这四个参数的定义与梯形光栅一致。参照梯形光栅中的解释。

27d7ff9a-57ed-11ed-a3b6-dac502259ad0.png

图21. 阶梯型光栅可用分为两个区域,光栅(Grate)和环境(Env)。两个区域的折射率可用分别定义。

网格偏振线栅参数(Grid Wire Polarizer parameters)

以下是网格偏振线栅参数(“srg_GridWirePolarizer_RCWA.dll”)的参数。 这种光栅基本上是二进制光栅。此DLL可用于建模网格线偏振器。 深度 (µm) 和填充因数

深度时光栅的高度。

填充因子是0到1之间的数字,表示栅格区域的宽度与周期的比值。如图28所示。

折射率(R)和折射率(I) 与梯形光栅,锯齿光栅和阶梯光栅类似,网格偏振线栅可以分为四个区域,这两个参数用于定义光栅区域的折射率,如图28所示。 环境区域的折射率不能在DLL中定义,因为它总是与外部区域的数值保持一致。外部区域和基板区域的折射率都在OpticStudio中定义,它们不能在DLL中更改。

2807b0aa-57ed-11ed-a3b6-dac502259ad0.png

图28. 网格偏振线栅可以分为四个区域:外部区域,光栅区域,环境区域和基板区域。光栅形状由深度和填充因子决定。

用户自定义光栅参数(User Defined Grating parameters)

用户自定义光栅(“srg_user_defined_RCWA.dll”)只有一个参数。 文件编号 该参数必须是1-99内的正整数。DLL会从位于DocumentsemaxDLLDiffractive的名为“user_grating_data_xx.txt”的txt文件内读取光栅数据,其中xx就是”文件编号“参数。 DLL将仅读取用户自定义的光栅文本一次,并将数据保存在内存中。如果文本被修改并且需要重新载入,则将"文件编号"参数设置为负数。确保通过系统中的光栅跟踪至少一条光线以触发重新加载:更新布局图或使用射线跟踪控制运行射线跟踪。更新形状数据后,请记住将"文件编号"参数设置为正值,让DLL不会一直重新加载文本文件以更新光栅数据。

282137a0-57ed-11ed-a3b6-dac502259ad0.png

图29. 用户自定义的光栅数据写在文本文件"user_grating_data_xx.txt"中,其中 xx 是正整数,可以通过使用 DLL"srg_user_defined_RCWA.dll"进行读取。 用户自定义光栅的文件格式 光栅形状由多个层定义。每层由背景材料定义,并可选包含其他材料的几个部分。有关层的更多信息,请参阅"层的概念"部分。 用户定义的光栅文本文件包含3个关键字:"层数"、"层"和"节"。当 DLL 读取文件时,它会逐行扫描文本以查找这些关键字。找到关键字后,它会读取下一行上的数据。关键字行和以下行必须遵循下面所述的文件格式。其他部分可以添加任何文本使阅读更加方便。 层数 "层数"关键字下的行应包含一个表示文本中定义的层数的整数。 层 "层"关键字下的行包括 4 个数字:

本节中要添加的节数

层的厚度(微米)

折射率的实数部分

折射率的虚数部分。

这里的折射率是"背景材料折射率"。 节 "节"关键字下的行包括4个数字:

该节的移位量

该节的宽度

折射率的实数部分

折射率的虚数部分

请注意,移位和宽度都没有单位。它们表示与该光栅周期的比率。折射率是覆盖背景材料折射率的"节折射率"。位移参数定义了相对于单个周期框左边缘的中心位置。如图30的例子中,位移量=0.5,宽度=0.5,它们定义了一个从0.25开始到0.75结束的节。 用户自定义光栅数据的例子 图30展示了一个由用户自定义光栅文件定义的光栅,右侧是数据文件,左侧是光栅示意图。在这个例子中,所有的层都只有一个节,但是每一层可以包含0个或多个节。同时也请注意,同一层中包含两种不同材料时,其中一种需要被定义为”背景材料参数“,另一种则被定为节参数。哪一个作为背景材料取决于用户自身。

2853b950-57ed-11ed-a3b6-dac502259ad0.png

图30. 用户自定义光栅的一个例子。移位量相对于单个周期框的左边缘。宽度以位移量所定义的位置为中心。 编辑用户自定义光栅的工具 虽然用户定义的光栅数据可以在文本编辑器(如记事本)中直接编辑,但也可以在可视化工具中进行编辑,如图31所示。用户需要设置一个带有"srg_user_defined_RCWA.dll"DLL的虚拟系统来读取此文本文件。可视化工具还可以读取其他RCWA DLL定义的光栅数据。 当然,在编辑后,数据只能输出为用户自定义光栅数据。

28a844ca-57ed-11ed-a3b6-dac502259ad0.png

图31. 可视化工具可以读取,编辑保存用户自定义光栅数据。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 显示器
    +关注

    关注

    21

    文章

    4738

    浏览量

    137877
  • vr
    vr
    +关注

    关注

    34

    文章

    9556

    浏览量

    148815
  • HMD
    HMD
    +关注

    关注

    0

    文章

    96

    浏览量

    20889

原文标题:ZEMAX软件技术应用专题:利用RCWA方法模拟表面浮雕光栅的衍射效率(下)

文章出处:【微信号:光电资讯,微信公众号:光电资讯】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    两个LDO分别做数字模拟电源的隔离,LDO的输出端接电压会对其输入端有影响吗?

    两个LDO分别做数字模拟电源的隔离,我在输入端(VBAT)不接电源,在模拟输出端接3.3V电源,结果数字输出端会有相同的电压,请问LDO的输出端接电压会对其输入端有影响吗?如果数字端电压有波动
    发表于 04-10 07:10

    STM32MP157两个A7核能跑两个系统吗?

    请问STM32MP157的两个A7核,能像其它双核CPU一样运行AMP模式:一核跑Linux、一核跑RTOS(或禅机)吗?虽然有一M4核可以跑RTOS,但计算能力有点弱,不能满足
    发表于 03-21 06:50

    反射DLL注入的工作原理和实现流程

    DLL 模块,可以通过一些 I/O 操作将所需的代码写入目标进程,但这大量的 I/O 操作对病毒引擎来说过于敏感,还有一个思路就是编写一段引导程序,这段引导程序用来模拟 Windows 映像加载程序的功能
    的头像 发表于 01-20 10:04 732次阅读
    反射<b class='flag-5'>DLL</b>注入的工作原理和实现流程

    关于AD9269两个通道互相影响的问题求解

    通道不受2通道影响,两个通道各自工作也都正常。其他3片AD9269也都没有问题,系统是用来采样卫星信号,故障表现在监控软件显示2通道在接通1通道时,卫星信号变差或者丢掉卫星信号,断开1通道后,2通道信号就正常了。
    发表于 12-21 07:08

    DLL/PI的原理简述

    如果有准频率,但相位不准的时钟,那么常用DLL(delay loop lock)来锁定时钟的相位,而PI(phase interpolation)是DLL最重要的部分。
    的头像 发表于 12-15 15:14 331次阅读
    <b class='flag-5'>DLL</b>/PI的原理简述

    AD9269在AD两个通道的入口输入峰值相同的差分信号,为什么AD两个通道的输出不同?

    在AD两个通道的入口输入峰值相同的差分信号,为什么AD两个通道的输出不同,最高位的符号位为什么不同
    发表于 12-12 06:55

    怎么实现两个单片机模拟串口通信?

    怎么实现两个单片机模拟串口通信,用I/O口和外部中断,时序编程求代码
    发表于 11-03 07:34

    如何连接两个单片机实现IO口模拟数据的接受发送?

    如何连接两个51单片机,实现IO口模拟数据的接受发送
    发表于 11-03 06:56

    怎么设计一个阶梯阶梯波发生器

    大三上学期很多同学都会学习“模拟电子线路EDA”,最后一个实验是设计一个阶梯阶梯波发生器,通过老师的讲稿和学长们的实验报告,我们很容易就设计出属于“自己”的阶梯波。
    的头像 发表于 09-06 15:16 1978次阅读
    怎么设计一个<b class='flag-5'>阶梯</b><b class='flag-5'>阶梯</b>波发生器

    为高级通用模拟器接口实现µVision DLL

    模拟外围设备行为所必需的功能以及显示外围设备对话框的功能。 为了简化用户定义外围设备的开发,在两个示例项目中提供了AGSI和配置框架。 只有µVision版本2.21或更高版本支持本文档中描述的所有
    发表于 09-04 08:14

    C++生成Dll与回调函数测试

    描述了VS环境下,通过C++生成dll的方法,测试回调函数
    的头像 发表于 08-29 16:05 643次阅读
    C++生成<b class='flag-5'>Dll</b>与回调函数测试

    刻划光栅和全息光栅的区别

      由于刻划光栅和全息光栅的制造工艺之间的区别,每种类型的光栅相对于另一种都有优点和缺点,本文将对其进行简单描述。 光栅效率的差异 刻划光栅
    的头像 发表于 08-10 06:45 585次阅读
    刻划<b class='flag-5'>光栅</b>和全息<b class='flag-5'>光栅</b>的区别

    刻划光栅和全息光栅的区别在哪?

    由于刻划光栅和全息光栅的制造工艺之间的区别,每种类型的光栅相对于另一种都有优点和缺点,本文将对其进行简单描述。
    的头像 发表于 08-01 16:15 725次阅读
    刻划<b class='flag-5'>光栅</b>和全息<b class='flag-5'>光栅</b>的区别在哪?

    什么是刻线衍射光栅 刻线衍射光栅的作用

    刻线衍射光栅生产中最重要的部件是被称为刻线设备,在该设备上对母光栅进行刻线。这些设备中的每一个都产生具有非常低的罗兰重影、高分辨率和高效率均匀性的光栅
    的头像 发表于 07-20 11:49 833次阅读

    DLL简介

    DLL 劫持 DLL 简介 在 Windows 中,许多应用程序并不是一个完整的可执行文件,它们被分割成一些相对独立的动态链接库,即 DLL 文件,放置于系统中。当我们执行某一个程序时,相应
    的头像 发表于 05-22 15:51 876次阅读
    <b class='flag-5'>DLL</b>简介