图像缩略图

Optometrika.

版本2.3.2.0(367 KB) 养牛
Optometrika Matlab Library使用Snell和Fresne实现分析和迭代射线跟踪近似到光学图像形成

9.7k下载

更新2021年3月09日

来自GitHub.

在github上查看许可证

Optometrika.
开发商:Yury Petrov

Optometrika库使用Snell和Fresnel的折射和反射法实现分析和迭代射线跟踪近似到光学图像形成。
目前,图书馆用散光,菲涅耳表面,锥体和气缸(椭圆形孔,平面,圆形和环形孔,矩形平板,球形屏幕和现实模型,实现折射和反射的一般表面容纳透镜和球形视网膜的人眼。有关一般(用户定义的形状)镜头,非球面镜片,菲涅耳透镜,棱镜,镜子和人眼的射线跟踪示例,请参见示例* .m文件。

图书馆横幅折射光线,包括在折射表面处的强度损失。反射光线目前追踪镜子,还追溯到单个内部反射或双重折射,如果发生这种情况。请注意,BENCH类对象不是真实的物理工作台,它只是一个有序的光学元件数组,您有责任以正确的顺序排列光学对象。特别是,如果需要多次跟踪通过相同对象的光线,则必须多次将对象添加到lead阵列中的序列遇到的光线遇到。例如,可以通过将表面两次加到工作台来计算圆柱形和圆锥形表面的双折射/反射。

图书馆非常紧凑,快速。它是使用Matlab类写的,并完全矢量化。通过外部镜头和3 GHz Intel Core I7桌面上的外部镜头和人眼(8个光学表面)追踪100,000射线需要大约2秒钟。由于通过描述镜片表面的菲涅耳锥体,菲​​涅耳透镜跟踪有点慢。通过用户定义的(常规)表面追踪由于与表面的光线交叉点迭代搜索,显着较慢。

感谢您下载Optometrika,享受它!

--------------------
列表示例:

example1.m:测试Optometrika库的基本功能
例2.m:演示了optometrika的人眼光学模型
实施例3.M:通过最小化视网膜图像来证明人眼的住宿
例4.m:用Coslens.m中定义的余弦表面轮廓测试铃声镜头
例5.M:测试平面镜
例6.m:测试平面和抛物面镜(牛顿折射器望远镜)
实施例7.m:测试菲涅耳透镜
例8:用多项式非球面术语测试镜头
例9:测试锥体镜
实施例留下:用双折射测试气缸和锥形表面
实施例11.M:演示了源于人眼内的光线的射线跟踪
实施例11.绘制镜头并确定其前表面,后表面和总高度。制作镜头的动画GIF和镜头的工程图。
实施例13.M:通过镜头边缘和后向光线折射测试折射(子光圈Maksutov-Cassegrain望远镜)
实施例11.M:通过具有像散的镜头的折射(不同的垂直和水平半径的曲率)的折射
实施例15.M:模拟一个六边形的球形微透镜阵列
实施例16.m:演示了各种镜头的STL导出

引用

养牛(2021)。Optometrika.(https://github.com/caiuspetronius/optometrika),github。检索到

Matlab释放兼容性
用R2018B创建
兼容任何释放
平台兼容性
视窗 苹果系统 Linux.
致谢

灵感来自:hist2.

启发:asphere参数

社区宝藏狩猎

找到Matlab Central中的宝藏,并发现社区如何帮助您!

开始狩猎!
在此GitHub附加组件中查看或报告问题,访问github存储库
在此GitHub附加组件中查看或报告问题,访问github存储库