Параксиальный луч

advertisement
Компьютерные модели света
Компьютерные методы
моделирования оптических приборов
кафедра
прикладной и компьютерной оптики
2
3
Векторная модель э.м. поля
Уравнения Максвелла:
rot E  
 H

t
 E
rot H  
c t
div D  
c
E
 Ex 
 
E   Ey 
 
 Ez 
Hx 
 
H  Hy 
 
 Hz 
H
div B  0






E – вектор электрической напряженности поля
H – вектор магнитной напряженности поля
D – электрическая индукция
B – магнитная индукция
ρ – объемная плотность заряда:
ε, μ – электрическая и магнитная проницаемость среды
S
4
Скалярная модель э.м. поля
Переход к скалярной модели возможен для линейных и
однородных сред и монохроматического поля
Комплексная амплитуда поля:
ik E (r )
U (r )  a(r )  e 0

где a(r )  U (r ) – вещественная амплитуда, E (r ) 
k0 

c
– волновое число в вакууме
Уравнение Гельмгольца:

2
 k 2  U  0
0
k0
– эконал поля,
5
Интенсивность поля
Регистрируется усредненная во времени величина –
интенсивность поля

Интенсивность равна квадрату модуля комплексной амплитуды:
2
I  U  UU *
6
Компьютерное
представление поля
Интенсивность света – выборка (n×m)
Комплексная амплитуда поля – 2 выборки (n×m)
Интенсивность
Вещественная
часть к.а. поля
Мнимая часть
к.а. поля
Векторная модель поля – 12 выборок (n×m):


 Ex 
 
электрическая компонента поля E   E y  : 3×2 выборки (n×m)
 
 Ez 
Hx 


магнитная компонента поля H   H y  : 3×2 выборки (n×m)


 Hz 
7
Объектно-ориентированная
модель поля
PAR
Sample
-m_data : PAR
-m_nx : int
-m_ny : int
+Maximum() : double
+Minimum() : double
+Sum() : double
Field
-m_sample : Sample<double>
-m_left
-m_rigth
-m_xstep
-m_ystep
FullField
-m_field_x : Field
-m_field_y : Field
-m_field_z : Field
ElectricField : FullField
MagneticField : FullField
m_field_x : Field
m_field_y : Field
m_field_z : Field
m_field_x : Field
m_field_y : Field
m_field_z : Field
8
Волновой фронт
Волновой фронт – это поверхность равной фазы или
равного эйконала:
E r   const
 P   const
q – оптический лучевой вектор q  n
 X   n cos  x 

  
q   Y    n cos  y 

Z  
n
cos

  
z 

где X, Y, Z – направляющие косинусы
9
Волновой фронт и лучи
Луч – это нормаль к волновому фронту

направление луча совпадает с направлением распространения волнового
фронта и определяется оптическим вектором в каждой точке
пространства (x, y, z)
 x
 
s   y
z
 
X
 
q Y 
Z
 
луч
q
E3
E1
E2
10
Оптический луч в однородной
и неоднородной среде
В однородной среде n  const 
направление луча остается постоянным:
q  const


в однородной среде лучи являются прямыми линиями
на границе раздела двух сред луч преломляется в соответствии с законом
преломления
В неоднородной среде луч искривляется в сторону
градиента показателя преломления n
q

кривизна луча пропорциональна n
n
луч
11
Пучок лучей
Гомоцентрические пучки лучей имеют общий центр, то
есть все лучи выходят или сходятся в одной точке


волновой фронт гомоцентрического пучка сферический
в частном случае волновой фронт плоский
Квазигомоцентрический пучок лучей - это пучок, все
лучи которого проходят через небольшую область
пространства
О
12
Габаритные лучи
Апертурный луч – это луч, идущий из осевой точки предмета и
проходящий через край апертурной диафрагмы
Главный луч – это луч, идущий из внеосевой точки предмета и
проходящий через центр апертурной диафрагмы
Верхний (нижний) луч внеосевого пучка – это луч, проходящий
через верхний (нижний) край апертурной диафрагмы и
соответствующие ему сопряженные точки входного и выходного
зрачков
апертурный
луч
верхний луч
главный луч
нижний луч
вх. зрачок
вых. зрачок
13
Объекто-ориентированная модель
реального луча
ORealRay
ORealRayPath
+m_X : double
+m_x : double
+m_Y : double
+m_y : double
+m_Z : double
+m_z : double
+ORealRay()
+ORealRay(in other : const ORealRay&)
+~ORealRay()
+operator=(in other : const ORealRay&) : ORealRay&
+Reset() : void
+Transfer(in l : double) : void
-m_length : double
-m_ray : vector<ORealRay>
+ORealRayPath()
+ORealRayPath(in other : const ORealRayPath&)
+~ORealRayPath()
+operator=(in other : const ORealRayPath&) : ORealRayPath&
+Reset() : void
+Reserve(in size : int) : void
+GetRay(in index : int) : ORealRay&
+SetRay(in ray : const ORealRay&, in index : int) : void
+AddLength(in length : double) : void
+GetLength() : double
*
*
1
OBeam
+m_chief : ORealRayPath
+m_marginal : vector<ORealRayPath>
+MeridAxisBeamForm()
+MeridNonAxisBeamForm()
+SagNonAxisBeamForm()
1
14
Параксиальные лучи
Параксиальный луч - луч, идущий бесконечно близко к
оптической оси
Параксиальный луч в меридиональной плоскости:
 y
 
Y 

 y 
 
Y 
где Y   n   y ,  y – угол между лучом и оптической осью
Для параксиального луча (малых углов):
cos  sin   
15
Преобразование координат
оптических лучей
Действие оптической системы заключается в
преобразовании координат лучей:
 y
 y
   ОС    
Y 
Y 
Преобразование координат луча оптической системой в
матричной форме:
 y   A B   y 
   
   
Y   C D  Y 
Матрица преобразования лучей (гауссова матрица,
ABCD-матрица):
 A B
G  

C D
16
Матрицы преломления и переноса
Матрица преломления сферической поверхности:
1
0

R  

   ( n  n ) 1 
Матрица переноса между поверхностями:

1
T 

0
d
 где
n
d

n
1
– приведенное расстояние между опорными плоскостями
Матрица оптической системы:
G  RnTn ...R1T1T0
17
Расчет параксиальных лучей
через оптическую систему
Нулевые лучи – это лучи, которые преломляются по
законам параксиальной оптики, но имеют произвольно
большие координаты
Этапы расчета нулевых лучей:



определение входных координат луча
последовательное определение координат луча на всех компонентах
определение выходных координат луча
Для расчета берется пара лучей:


апертурный луч
главный луч
18
Объектно-ориентированная
модель параксиального луча
ONullRay
ONullRayPair
-m_a : double
-m_h : double
+ONullRay()
+ONullRay(in h : double, in a : double)
+ONullRay(in other : const ONullRay&)
+~ONullRay()
+operator=(in other : const ONullRay&) : ONullRay&
+Reset() : void
+GetA() : double
+GetH() : double
+SetA(in a : double) : void
+SetH(in h : double) : void
-m_marginal : ONullRay
-m_principal : ONullRay
+ONullRayPair()
+ONullRayPair(in other : const ONullRayPair&)
+~ONullRayPair()
+operator=(in other : const ONullRayPair&) : ONullRayPair&
+Reset() : void
+GetMarginalA() : double
+GetMarginalH() : double
+GetMarginalRay() : ORealRay&
+GetPrincipalA() : double
+GetPrincipalH() : double
+GetPrincipalRay() : ORealRay&
+SetMarginalA(in a : double) : void
+SetMarginalH(in h : double) : void
+SetMarginalRay(in h : double, in a : double) : void
+SetPrincipalA(in a : double) : void
+SetPrincipalH(in h : double) : void
+SetPrincipalRay(in h : double, in a : double) : void
*
1
ONullRayPath
-m_ray : vector<ONullRayPair>
+ONullRayPath()
+ONullRayPath(in other : const ONullRayPath&)
+~ONullRayPath()
+operator=(in other : const ONullRayPath&) : ONullRayPath&
+Reset() : void
+Reserve(in size : int) : void
+GetCount() : int
+GetRay(in index : int) : ONullRayPair&
+SetRay(in ray : const ONullRayPair&, in index : int) : void
*
1
19
Отличия расчета реальных и
нулевых лучей через поверхность
Перенос и преломление реального луча: H
d
y y Y
n
Y  Y  y
 где d – расстояние вдоль луча между
поверхностями (косая толщина),
 – оптическая сила поверхности в точке
преломления луча
H
d
-a
y
d
S
S
Оптическая сила поверхности в параксиальной области:
   (n'n)
Оптическая сила поверхности для реального луча:
   ( n' cos  'n cos  )

где ,   – углы падения и преломления реального луча
20
Расчет реального луча
Преобразование координат
Нахождение длины луча между поверхностями
Перенос
Преломление
Download