Optical
所属分类:绘图程序
开发工具:matlab
文件大小:163KB
下载次数:130
上传日期:2014-01-07 04:35:58
上 传 者:
asmyas
说明: 非常强大的光学仿真软件,可以模拟光线的反射、折射、以及绘制各种像差曲线例如球差、色差。
(Very powerful optical simulation software can simulate light reflection, refraction, and the mapping of various aberrations such as spherical aberration curves, color)
文件列表:
Optical\Ohara.glass.refr (11063, 2003-10-02)
Optical\COPYRIGHT (18084, 2003-10-02)
Optical\opt.sca.exmpl (327, 2004-09-18)
Optical\opt_r2_of_fnr1_thin.m (429, 2005-08-04)
Optical\opt_findstr.m (302, 2005-08-08)
Optical\opt_exempel2.m (1311, 2005-08-04)
Optical\opt_screen.m (1290, 2005-08-04)
Optical\lens_sp_flat.exmpl (174, 2004-08-26)
Optical\opt2.exmpl (788, 2003-10-02)
Optical\opt_single_lens2.exmpl (336, 2004-08-26)
Optical\lens_01.exmpl (174, 2004-09-09)
Optical\opt_tool_pv.jpg (60047, 2003-10-02)
Optical\opt_absorption.m (4315, 2005-08-04)
Optical\Ohara.glass (23508, 2003-10-02)
Optical\opt_exempel5.m (1650, 2005-08-08)
Optical\opt_sphere_coma_exmpl.m (3568, 2005-08-04)
Optical\Ohara.glass.trans (14213, 2003-10-02)
Optical\opt_ray.m (378, 2005-08-04)
Optical\opt_f_of_r1nr2zc.m (487, 2005-08-04)
Optical\opt.pinhole.exmpl (183, 2004-09-16)
Optical\Sellmeier.glass.refr (11063, 2003-10-02)
Optical\opt_exempel.m (1256, 2005-08-04)
Optical\opt_chromatic_ab_exmpl.m (1452, 2005-08-04)
Optical\opt_fcn.m (1556, 2005-08-04)
Optical\Glass.trans (14213, 2003-10-02)
Optical\opt_exempel6.m~ (2704, 2005-08-04)
Optical\opt_f2r.m (383, 2005-08-04)
Optical\optf_coshyp.m (2466, 2005-08-04)
Optical\opt_astigmatism_exempl.m (2324, 2005-08-04)
Optical\opt_single_lens.exmpl (336, 2004-08-26)
Optical\opt_rot.m (720, 2005-08-04)
Optical\coshlens.exmpl (295, 2003-10-02)
Optical\opt.6.exmpl (326, 2004-09-09)
Optical\opt_prism.m (2341, 2005-08-04)
Optical\opt.exmpl (788, 2003-10-02)
Optical\opt_vini.m (260, 2005-08-04)
Optical\opt_project_point.m (2013, 2005-08-04)
Optical\point_on_line.m (458, 2005-08-04)
Optical\opt_refrindx.m (3173, 2005-08-04)
Optical\opt_slit.m (1337, 2005-08-04)
... ...
OPTICAL_BENCH Version 1.0 20020501
0 Quick-start:
--------------
Unpack it wherever you want it: unzip optical_bench.zip
Add the directory to your matlab-path
Run opt_exempel.
Look at that file and at opt.exmpl and lens.exmlp
1 Outline:
----------
This is an optical raytracer. Currently it has support for the
following optical elements: apertures, grids, lenses, wedge prisms,
screens and slits. Refraction at boundaries are calculated with Snell's
law and refractive index of a fairly large number of optical glasses
are used at the wavelength of the rays. Absorption through glass
surfaces are calculated for the following glasses: BK7, B270, Fused
Silica and Pyrex. Further losses due to refraction/reflection is taken
into account.
Trace rays through optical systems built by apertures, grids, lenses,
prisms slits, screens and surfaces of arbitrary shape.
2 Installation:
--------------
1. Put the file where you want the directory.
2. Unpack it wherever you want it: unzip optical_bench.zip
3. Add the directory to your matlab-path
3 Internals:
------------
The two structures used in this program are: RAYS and `OPT_ELEM',
see opt_ray.m and opt_elem.m. The RAY structure holds the information
of the rays of light. It has the following fields:
ray.
r: [-3 0 0] Starting point and points of intersection with
optical elements
e: [1 0 0] Unit vector along k
n: 1 current refractive index, changes along the trace
I: 1 intensity (or amplitude if phase is include
wavelength: 5.577e-07 Wavelength of the light.
color: [0 1 0] Color for plotting the individual ray
absorption: 0 Absorbtivity in the current media.
[phase]: Used for interference (untested)
The OPT_ELEM structure holds information on an optical element or for
lenses and prisms one surface. The individual element use different
fields depending on type, they will all have all fields:
opt_elem.
type Type name: aperture, grid, lens, prism, screen, slit, or function name
r [x y z] - position of element.
n normal of element
dxdydz rectangular size of screen, slit, grid and prism
diameter of Lenses and apertures
glass type of glass
arc Anti Reflection Coating
imgres Images size [sx sy], only used for `screen'
img Image, only used for `screen'
r_o_curv Radie of curvature, only used for lenses,
lpmm Lines per millimeter, only used for grids
e_slits unit vector along the slits, used for grid and slit
absorption
fcn1 aotu-generated function handle to function for surface
fcn2 aotu-generated function handle to function for surface normal
arglist struct holding the optional arguments to fcn1 & fcn2
How to create an optical_element?
There are one function for each type, try for example help
opt_lens. The functions take one string argument which should be the
same as the type, and a second string-matrix where the first 12 chars
should be used for describing the field, the rest should hold the
value of the field. The functions should hopefully error-out on
insufficient arguments.
How to build a complex lens system?
If poor in all other aspects this should be the strength. The
functions run in matlab so any clever way you might come up with to
generate optimal/good/usefull/interestin set of parameters should work
as long as the necessary number of parameters are set. OPT_BUILD reads
files such as OPT.EXMPL and LENS.EXMPL. Each optical element are
initiated by the line:
#type current_type
and continues until the next line starting with #type.
The lines in between should begin with field name followed by value(s).
If the #type is file the next line should look like:
name file.name
This should make it possible to have a structured organisation with
smaller files describing often used compound elements. All files should
end with
#type end
Surfaces specified with functions.
----------------------------------
It is possible to have lenses/optical surfaces with arbitrary
shape. In order to do this there is an opt_elem type fcn. An example
is given in files optf_coshyp.m and coshlens.exmpl. This example
specifies a lens where the shape of the surfaces are cosh-rotational
cones.
The general function FCN should, called with FCN(R,'s',arglist) return
0 (zero) when R is on the lens surface and monotonically growing
scalars when R deviates. When R is outside the lens area but on the
analytical extension of the lens surface the function should return a
scalar smaller than -2eps or larger than 2eps. Called with
FCN(R,'n',arglist) the functnion should return the normal
of the lens surface. If you want the surface to appear in a plot of
the optics the function should respond with a proper surface plot when
called with FCN(R,'p',arglist) ARGLIST will be a struct as produced by
OPT_FCN. The argument R is a 1x3 vector [x y z].
Shortcomings and limitations:
------------------------------
The ray tracer does a diffraction-free tracing, and the transmission
grid is modeled as an element that splits the beam equally strong into
the main maxima. However, there is untested support for interference -
for this set the PHASE field of the initial rays.
There is likely not possible to use beam splitters to make constructs
such as Michelson interferometers.
There is no explicit support for polarisation, all reflections are
calculated as if the incident light was unpolarised. Thus, it is
impossible to model plane, elliptical and circular polarised light.
Copyright:
----------
Distributed under the GNU GENERAL PUBLIC LICENSE - see COPYRIGHT.
Comments and bug reports:
bjorn@irf.se
近期下载者:
相关文件:
收藏者: