-
大小: 3.83MB文件类型: .zip金币: 2下载: 1 次发布日期: 2023-11-21
- 语言: Matlab
- 标签: MATLAB 透镜成像 Optometrika
资源简介
MATLAB 透镜成像 Optometrika,此程序是模拟透镜等一系列光学元件成像的MATLAB代码,使用MATLAB面向对象的程序设计方法,用户可以自行调用类来获得想要的模拟效果。

代码片段和文件信息
classdef Aperture < Surface
% APERTURE defines a circular opening
%
% Member functions:
%
% a = Aperture( r D ) - object constructor
% INPUT:
% r - 1x3 position vector
% D - 2x1 vector (inner diameter outer diameter)
% OUTPUT:
% a - aperture object
%
% a.display() - displays the aperture a information
%
% draw() - draws the aperture a in the current axes
%
% a.rotate( rot_axis rot_angle ) - rotate the aperture
% INPUT:
% rot_axis - 1x3 vector defining the rotation axis
% rot_angle - rotation angle (radians)
%
% Copyright: Yury Petrov 2016
%
properties
D = [ 1; 2 ]
end
methods
function self = Aperture( ar aD )
self.glass = { ‘air‘ ‘soot‘ };
if nargin == 0
return;
end
self.r = ar;
if size( aD 1 ) < size( aD 2 )
aD = aD‘;
end
self.D = aD;
if size( self.D 1 ) == 1 || self.D(2) < self.D(1)
error( ‘Outer radius has to be larger than the inner radius‘ );
end
end
function display( self )
fprintf( ‘Position:\t [%.3f %.3f %.3f]\n‘ self.r );
fprintf( ‘Orientation:\t [%.3f %.3f %.3f]\n‘ self.n );
fprintf( ‘Diameter in:\t %.3f\n‘ self.D(1) );
fprintf( ‘Diameter out:\t %.3f\n‘ self.D(2) );
end
function h = draw( self color )
nrad = 2;
rad = linspace( self.D(1) / 2 self.D(2) / 2 nrad );
nang = 100;
ang = linspace( 0 2 * pi nang );
[ ang rad ] = meshgrid( ang rad );
y = rad .* cos( ang );
z = rad .* sin( ang );
x = zeros( size( y ) );
S = [ x(:) y(:) z(:) ];
% rotate and shift
if self.rotang ~= 0
S = rodrigues_rot( S self.rotax self.rotang );
end
x(:) = S( : 1 ) + self.r( 1 );
y(:) = S( : 2 ) + self.r( 2 );
z(:) = S( : 3 ) + self.r( 3 );
% draw
c = 0.25 * ones( size( x 1 ) size( x 2 ) 3 );
h = surf( x y z c ‘EdgeColor‘ ‘none‘ ‘FaceLighting‘‘phong‘ ‘FaceColor‘ ‘interp‘ ...
‘AmbientStrength‘ 0.25 ‘SpecularStrength‘ 0.25 );
end
end
end
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2017-04-21 09:02 Optometrika\
目录 0 2017-04-21 09:03 __MACOSX\Optometrika\
目录 0 2017-04-21 09:03 __MACOSX\
文件 15408 2017-03-26 17:40 Optometrika\说明.docx
文件 1343 2016-11-30 22:55 Optometrika\license.txt
文件 216 2016-11-30 22:55 Optometrika\__MACOSX\Optometrika\._surface_sag.m
文件 216 2016-11-30 22:55 Optometrika\__MACOSX\Optometrika\._rodrigues_rot.m
文件 216 2016-11-30 22:55 Optometrika\__MACOSX\Optometrika\._refrindx.m
文件 216 2016-11-30 22:55 Optometrika\__MACOSX\Optometrika\._lensmakers_formula.m
文件 216 2016-11-30 22:55 Optometrika\__MACOSX\Optometrika\._lens_dims.m
文件 216 2016-11-30 22:55 Optometrika\__MACOSX\Optometrika\._hist2.m
目录 0 2017-03-26 17:35 Optometrika\Optometrika\
文件 6148 2016-11-30 22:55 Optometrika\Optometrika\.DS_Store
文件 2479 2016-11-30 22:55 Optometrika\Optometrika\Aperture.m
文件 3257 2016-11-30 22:55 Optometrika\Optometrika\AsphericLens.m
文件 11112 2017-03-28 20:47 Optometrika\Optometrika\Bench.m
文件 3296 2016-11-30 22:55 Optometrika\Optometrika\ConeLens.m
文件 2843 2016-11-30 22:55 Optometrika\Optometrika\CylinderLens.m
文件 12094 2016-11-30 22:55 Optometrika\Optometrika\Eye.m
文件 7091 2016-11-30 22:55 Optometrika\Optometrika\FresnelLens.m
文件 3438 2016-11-30 22:55 Optometrika\Optometrika\GeneralLens.m
文件 3880 2016-11-30 22:55 Optometrika\Optometrika\Lens.m
文件 4016 2016-11-30 22:55 Optometrika\Optometrika\Plane.m
文件 3062 2016-11-30 22:55 Optometrika\Optometrika\README.txt
文件 53504 2016-11-30 22:55 Optometrika\Optometrika\Rays.m
文件 3797 2016-11-30 22:55 Optometrika\Optometrika\Retina.m
文件 3883 2016-11-30 22:55 Optometrika\Optometrika\Screen.m
文件 11063 2016-11-30 22:55 Optometrika\Optometrika\Sellmeier.glass.refr
文件 1920 2016-11-30 22:55 Optometrika\Optometrika\Surface.m
文件 756 2016-11-30 22:55 Optometrika\Optometrika\aspheric.m
文件 1675 2016-11-30 22:55 Optometrika\Optometrika\asphlens.m
............此处省略180个文件信息
- 上一篇:MATLAB发票动车票识别.zip
- 下一篇:RANSAC算法用MATLAB写的代码
相关资源
- 四旋翼MATLAB仿真文件+实验报告
- 串行级联cpm系统MATLAB仿真
- matlab_OFDM调制解调(来自剑桥大学)
- Matlab路面裂缝识别69319
- 高灵敏度GPS接收机MATLAB仿真,附捕获
- 基于MATLAB的质点弹道计算与外弹道优
- 阵列天线的matlab仿真
- MATLAB 经典程序源代码大全
- MATLAB小波软阈值去噪代码33473
- 天线阵的波束形成在MATLAB仿真程序及
- 非线性SVM算法-matlab实现
- 《MATLAB 智能算法超级学习手册》-程序
- 组合导航matlab程序
- 读取txt文件内容matlab代码实现
- Matlab实现基于相关的模板匹配程序
- matlab优化工具箱讲解
- 基于MATLAB的快速傅里叶变换
- 光纤传输中的分布傅立叶算法matlab实
- 基于matlab的图像处理源程序
- matlab 椭圆拟合程序
- 算术编码解码matlab源代码
- optical_flow 光流法 matlab 实现程序
- 引导图像滤波器 Matlab实现
- 分形几何中一些经典图形的Matlab画法
- OFDM系统MATLAB仿真代码
- SVM工具箱(matlab中运行)
- 图像小波变换MatLab源代码
- LU分解的MATLAB实现
- 冈萨雷斯数字图像处理matlab版(第三
- 替代数据法的matlab程序
评论
共有 条评论