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

近期下载者

相关文件


收藏者