基于matlab模拟Gabor-Beynon波带片

简介: 基于matlab模拟Gabor-Beynon波带片

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。

🍎个人主页:Matlab科研工作室

🍊个人信条:格物致知。

更多Matlab仿真内容点击👇

智能优化算法       神经网络预测       雷达通信      无线传感器        电力系统

信号处理              图像处理               路径规划       元胞自动机        无人机

⛄ 内容介绍

Gabor波带片是一种理想的单级聚焦光学元件,但制备困难.本文采用聚焦离子束直写技术成功制备出30环,20扇区的二值化Beynon-Gabor波带片,其有效面积半径为700μm,第一环半径90μm.

⛄ 完整代码

%% Beynon zone plate

% OPTICS LETTERS / Vol. 17, No. 7 / April 1, 1992

%

% This file generates the Beynon zone plate, which behaves exactly like

% Gabor zone plate with a single focus. In contrast to Gabor plate,

% the Beynon plate has binary transmittance function,

% this makes it attractive for practical applications where continuous

% analog functions are difficult to use.

%


close all;

% clear all;

clc;


N = 40;                     % number of angular Sectors (technically you can input small numbers, but for your own responsibility)

lambda = .6328;             % light wavelength [um]

f = 5000;                   % focal length [um]

D = 500;                   % zone plate diameter [um] (aperture)


%% Some precalculations


R = D/2;                    % zone plate outer radius [um]

r = sqrt(lambda*f);         % fist zone radius

rhores = R*10;              % radial resolution

phires = 3600;            % angular resolution

halfalpha = pi/N;           % half-angle of sector

rho = linspace(0,R,rhores);         % polar coordinates (radial)

phi = linspace(0,2*pi,phires);      % polar coordinates (angular)

theta = halfalpha * sin(pi*(rho/r).^2/2).^2; % transmittance function in polar coordinates

theta(rhores) = 0;          % by this string last value forced to zero, that required for polymesh generation (small negligible error occur)

X=rho.*cos(theta);          % return to Cartesian coordinates

Y=rho.*sin(theta);          % return to Cartesian coordinates

                 

%% Drawing of the Beynon zone plate with aperture 2*R, N-number of angular sectors and with f-foci distance


figure('name','Beynon','color','white');clf;

pgon1 = polyshape(X,Y);         % upper halfsector

pgon2 = polyshape(X,-Y);        % lower halfsector

sector = union(pgon1,pgon2);    % one complite sector

alpha =360/N;                   % angle in degrees between conjugated sectors

for n1=1:(N+1)*2

sector = rotate(sector,alpha);

plot(sector,'FaceColor','k','FaceAlpha',1,'LineStyle','none');

axis equal;

hold on

end

grid('off');

axis('off');

title('Beynon zone plate');

% exportgraphics(gcf,'Beynon.tiff','Resolution',600);

% saveas(gcf,'Beynon.png')

⛄ 运行结果

⛄ 参考文献

[1]李兆国, 孟令彪, 周民杰,等. 自支撑二值化Beynon-Gabor波带片的制备及其单级聚焦特性[J]. 物理学报, 2016(12):7.

❤️部分理论引用网络文献,若有侵权联系博主删除
❤️ 关注我领取海量matlab电子书和数学建模资料


相关文章
|
1月前
|
自然语言处理 JavaScript 前端开发
全面解析 i18n:从概念到实践,再到底层原理
本文系统讲解国际化(i18n)的核心概念与实现原理,涵盖多语言文本、日期、数字、复数等处理方式,结合 i18next 与 Vue I18n 实战案例,深入剖析资源分离、环境识别与动态替换三大机制,并分享插值、格式化、CI/CD 集成等最佳实践,助力构建可扩展的全球化应用。
351 15
|
运维 资源调度 Kubernetes
阿里巴巴超大规模Kubernetes基础设施运维体系揭秘
在过去近三年时间,Kubernetes架构在阿里巴巴集团经历了飞速发展:既支持了集团统一调度超大规模场景,又支持了大批云上云产品用户,还在支持OXS区容器化。经过这些年的发展,我们也逐渐锤炼出了K8S Serverless全托管稳定性运维体系。这些运维和稳定性能力不是K8S原生就具备的,而是在大量实践和失败过程中的沉淀出来的系统稳定性加固能力。
阿里巴巴超大规模Kubernetes基础设施运维体系揭秘
|
3月前
|
人工智能 监控 搜索推荐
从0到1搭建销售流程:CRM销售管理落地实践大公开
在创业或转型期,销售常依赖明星销售,“黑匣子”式成单难复制。本文教你用珍客CRM从0到1搭建标准化销售流程,提升可预测性、可复制性与协同效率,实现销售流程科学化、数据化、自动化,助力规模化增长。
|
10月前
|
前端开发 JavaScript 程序员
HarmonyOS NEXT开发-ArkTS五
本文介绍了ArkTS中的联合类型和枚举类型,讲解了定义与使用方法,并详细阐述了模块的导出与导入(包括静态导入、动态导入及HarmonyOS SDK的开放能力导入),帮助开发者更好地理解和应用这些特性。君志所向,一往无前!
221 0
HarmonyOS NEXT开发-ArkTS五
|
人工智能 云计算 数据中心
加码香港!连续市场第一,启动新计划
加码香港!连续市场第一,启动新计划
374 4
|
人工智能 自然语言处理 开发者
Langchain 与 Elasticsearch:创新数据检索的融合实战
Langchain 与 Elasticsearch:创新数据检索的融合实战
|
数据可视化 Java BI
商业开源MES+源码+送可拖拽式数据大屏
这是一个商业开源的JAVA MES系统,包含源码和本地部署教程。基于Springboot、Vue3和MySQL8,适用于开发学习。功能包括车间数据建模、生产物料控制、计划管理、过程控制、质量管理、库存管理、看板管理、报表分析和基础管理。需JDK11、Tomcat及Maven环境,源码付费获取。
399 0
|
机器学习/深度学习 算法 决策智能
计算机视觉实战(十二)全景图像拼接(附完整代码)
计算机视觉实战(十二)全景图像拼接(附完整代码)
1488 0
|
Dart 前端开发 Shell
Markdown实用小技巧: 个个用着都很爽
Markdown实用小技巧: 个个用着都很爽
Markdown实用小技巧: 个个用着都很爽