-
大小: 3.83MB文件类型: .zip金币: 1下载: 0 次发布日期: 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写的代码
相关资源
- RANSAC算法用MATLAB写的代码
- MATLAB发票动车票识别.zip
- MATLAB交通标志识别[GUI界面,论文].z
- MATLAB车牌[GUI,语音播报,论文,详细
- MATLAB数字表盘识别[GUI界面,界面丰富
- matlab有限元代码
- 激光原理作业代码及答案
- 基于SVM的matlab车牌识别
- matlab 机器人避障程序
- 多任务高斯过程模型 Matlab工具箱 包括
- 基于MATLAB的硬币计数设计.doc
- Faster-RCNN+ZF制作自己的数据集和训练模
- Matlab传染病模型287461
- 用matlab-实现基于直方图均衡化的彩色
- 图像显著性MR方法的matlab代码
- 常用正则化MATLAB算法-附带详细说明
- 数字图像处理使用matlab进行采样量化
-
Liveli
nk for MATLAB - 微机保护算法仿真.zip
- 24脉波整流仿真
- 基于matlab的dicom、nii文件读取,去噪增
- 基于MATLAB的fsk调制解调
- 基于MATLAB的低密度奇偶校LDPC验码编码
- 基于sift算法的图像拼接286803
- MATLAB实现k-svd和mod信号处理
- 基于MATLAB的柑橘果实分类图像朴素贝
- 图像分割matlab
- Matlab教程
- 基于TE过程的PCA程序matlab
- 模糊聚类图像分割FCM/FLICM等
评论
共有 条评论