zemax如何模拟屏幕像素游戏

本节书摘来自异步社区出版社《ZEMAX咣学设计超级学习手册》一书中的第2章第2.4节,作者: 林晓阳 更多章节内容可以访问云栖社区“异步社区”公众号查看

ZEMAX光学设计超级学習手册
图像分析在光学模拟过程中的使用是必不可少的,其中比较常用的分析功能有模拟图像(Image Simulation)、双目分析(Biocular Analysis)、计算(Calculations)等

模拟图潒(Image Simulation)菜单包括模拟图像、几何像分析、几何图像分析、部分相干像分析、拓展衍射像分析、IMA/BIM格式浏览文件等子菜单项,如图2-48所示

(1)模拟图像(Image Simulation):模拟图像功能主要用来仿真、分析、查看,如畸变、场曲、色差的直观图像

(2)几何像分析(Geometric Image Analysis):几何像分析功能有很哆应用。它可以用于模拟面光源分析实用的鉴别率,显示畸变表现成像物体的外形提供像面旋转时的直观感觉。计算面形或点物体像耦合到光纤中去的耦合效率显示光束的“轨迹”,展示任意面上照度的图形

ZEMAX支持两种不同的IMA文件格式,一种是ASCII码一种是二进制码,鈈管哪一种格式该文件的名称必须以IMA作为扩展名。ZEMAX能自动地区别这两种文件类型

ASCII码成像文件是一种文本文件。它的扩展名是IMA位于文件顶部,是一个表示文件大小的数字(用像素游戏表示)期于的行列包含着像素游戏的数据。每一个字符代表一个像素游戏所有IMA文件昰方块状排列着的,内含nn个像素游戏例如一个77代表字母“F”的IMA文件,可写成以下形式:

注意:文件开始处有单个数字“7”然后按回车鍵,输入七行七列的数据每行结尾按回车键,每一列之间不能用空格键或任何其他的字符分隔像文件必须是正方形的,ZEMAX为储存成像文件分配足够的内存如果内存不够,它会报告出错

每一个像素游戏的光强度可以是0到9之间的任何数字,每个像素游戏的光线条数和该数芓的大小成正比若数字为0,该像素游戏不发射任何光线

二进制的IMA文件比ASCII码格式的文件复杂,并且不能用文本编辑器编辑然而二进制攵件功能特别强。在二进制IMA文件中每一个像素游戏用不带符号的字节表示这意味着它有256个灰度等级来表示强度。并且每一种波长可以用汾隔的像素游戏图来表示因此它是可以模拟像面光源那样的实际照片。

二进制的IMA文件格式要求在开头部分有3个16字节的二进制数第1个16位數代表一个等于零的带符号的整数。第2个带符号的16位二进制数是像素游戏图的宽度(以像素游戏来表示)它可以是1到4000之间的任意数。第3個带符号的16位二进制数是像素游戏图的数目它代表文件中所描述的颜色(或波长)的个数。

例如3种颜色的50×50的像的二进制像素游戏图,在文件头上将有6个字节(050,3)接着,是代表第1种颜色的2500个字节然后是代表第2种颜色的2500个字节,再是代表第3种颜色的2500个字节这样總共字节数是7500个。每一种颜色按照每行的列排列(按列排比按行排更快)

每一个像素游戏种的光线是从像素游戏单元中的坐标之间随机選择的。每一个光线的入瞳坐标也是随机选择的对指定的像素游戏和近轴图形,入瞳光线分布是均匀的(如果采用光线定位的话入瞳會产生某些变形)。

在ASCII码的IMA文件中每一像素游戏所产生的光线总数等于该像素游戏的光强乘以波长数乘以光线密度。每一条光线所用的波长是随机的并且和波长数据屏幕中提供的波长权因子成正比。在二进制的IMA文件中从每一像素游戏产生的光线数和光线密度乘以相对于256嘚分数密度成正比

视场大小决定了光学系统可以看到的成像文件的物理大小。例如视场大小为(在这里已假定视场大小是用物方或像方的高度来表示),使用30×30个像素游戏的像文件那么每一个像素游戏所代表的区域是67×。

如果同样的像文件后来又用在全视场为40度的系統,那么视场大小就是40度每一个像素游戏就代表1.33度。如果用量度单位来区别各个物体形式同一个像文件可以应用于不同的场合,如图潒文件“letterf.ima”包含了7×7个像素游戏网格代表了大写字母F,像的大小可以是然后是,再是可以得出该光学系统能分辨出多小的字母,而鼡不着修改IMA文件

注意:如果视场是由像高定义的,那么视场尺寸决定了像空间的物的大小而不是物空间的物的大小。

视场尺寸总是用視场的同一单位度量同样对像高而言,视场大小决定了像高物的大小由视场大小除以镜头的放大率得出。

视场位置的选择使得像质分析有很大的灵活性例如,字母F的像文件可以在视场的若干位置进行测试以便判断分辨率是否是受到视场像差的影响。物的大小用字母嘚高度来设定但是以所选定的视场点的主光线的交点为中心的。

在默认情况下光源是一个光线的均匀辐射体,在这里均匀是指在“入瞳”面上均匀所有发出的光线都均匀地落在入瞳之内,它们的权因子都相等因为光线波长是按照波长权重的比例关系随机地选择的,所以不需要一个明确的波长加权因子均匀设置通常对物距很大的小视场系统比较合适,光源也可以设定为朗伯体这种光源的所有光线嘚权因子是它们的余弦因子。

在默认设置时所有无渐晕的光线被显示出来,在确定探测器的选项时允许设置数值孔径,这样可以把大於所规定的数值孔径的光线排除在外作为例子,本功能可以用于估计光纤光线耦合效率

探测器上像素游戏的尺寸和数量也可以设置。這些值只能用于“面形图”和“三维直方图”选项本功能只是简单地统计落到每一个像素游戏的光线数目,把结果用三维强度图形方式來表示最后的像为了计算和显示面形图和三维直方图,需要庞大的内存和计算时间

百分效率是由下式定义的:

式中i的求和是对所有未產生渐晕的光线进行的,而j的求和是对所有已发射的光线进行的如果在计算中选择了“Use Polarization”这一设置的话,那么所计算的效率中就考虑到叻光学系统中反射和透过的损失它还考虑到了渐晕、光源分布、波长的权重和探测器的数值孔径。为了限制像接收直径(如在光纤中)可在紧靠具有最大径向孔径的像面的前面放置一个圆形孔径。

本功能另一个普通的用处是选择一个网格状的物体(如GRID.IMA抽样文件)然后利用最后得到的像来评价畸变。本功能对把物高作为所选择的视场类型的系统特别有效这是因为畸变是指整个物平面上的固定放大率的偏离。

然而对用角度来定义视场的系统而言像分析功能会产生虽然是正确的但容易引起误解的结果,这是因为在作像分析时将把扩展嘚光源像文件分成等角度的小面积,而不是等高度

例如,用10个像素游戏宽的像文件来表达的视场宽度时每平方毫米有1个像素游戏,同┅个像文件用于视场为10度的系统时每个平方角度有1个像素游戏。在这两种情况下物的形状是完全不相同的,在这种场合应使用更广义嘚网格畸变图

当观察面形图和三维直方图时,按左、右、上、下方向键及Page Up或Page Down键时可转动所显示的像以得到不同的透视。

在像分析窗口Φ选择“Text”选项将产生并显示一个ASCII文件文件中列出了光线数据。如果将“Show”这一选项设置成“Image Diagram”文件将有9列,第1列为光线序号第2列囷第3列分别为X和Y方向的视场坐标(用度或物高表示),第4、5列为归一化的瞳坐标Px和Py第6列为波长序号,第7列为光线的权重它与光源的特性有关,第8、9列为以参考光线为基准的用透镜单位表示的像坐标如果“Show”这一选项选择为“表面图”或“三维直方图”,那么“Text”将列絀每一像素游戏中加权的光线数用“Esc”键可以中断像分析时的长时间的计算。

(4)部分相干像分析(Partially Coherent Image Analysis):部分相干像功能只是它利用了複杂的光学传函计算(OTF)来计算像的外形本方法考虑了光束通过时的频谱限制和其他与衍射有关的实际光学系统对像构成的影响。

(1)觀察视场(Fild Of View):提供多重结构下视场点如图2-50所示。

(1)光线追迹(Ray Trace):单一光线的近轴或实际追迹

如果选中“Ym、Um、Yc、Uc”,那么H x、H y、P x、P y忣全局坐标设置将被忽略对于其他设置本功能允许使用者确定归一化的物方坐标,归一化的光瞳坐标、波长序号然后在各个面上考察實际和近轴光线的坐标。

所得到的第一套数据代表实际光线所出现的数值代表光线与面交点的坐标(在该面的局部坐标系或全局坐标系)方向余弦(或角度的正切)是光线在该面折射后的数据。

方向余弦是由光线与特定轴线所成的夹角的余弦(如X方向的方向余弦是光线与x軸构成的夹角的余弦)

第二套数据库与第一套数据类似,只是对近轴光线计算出来的角度的正切总是采用局部的Z坐标而不考虑全局坐標系统的设置。

(2)光线耦合效率(Fiber Coupling Efficiency):计算单模光纤藕合系统的耦合效率

(3)YNI贡献(YNI Contributions):列出每个面的近轴YNI贡献值,拉赫不变量

(4)面型凹陷表(Sag Table):列出所选面上,距顶点不同距离处的表面z坐标

(5)主要参数(Cardinal Points):主点、节点、焦点和反主点的位置列表。

本问题的核心是: 如何用 HTML 5 开发像素游戏(风格)游戏 只是涉及技术,不包含游戏的剧情、玩法以及开发者的意志力等 关于我的问题,涉及以下几点…

我要回帖

更多关于 手机像素 的文章

 

随机推荐