WWW.DISSERS.RU

БЕСПЛАТНАЯ ЭЛЕКТРОННАЯ БИБЛИОТЕКА

   Добро пожаловать!


Pages:     | 1 | 2 || 4 | 5 |   ...   | 6 |

(23) 1+ k n2 s2 + n B1 s L Из двух точек пересечения: = A + выбираем точку, лежащую B2 n s ближе к вершине поверхности, где помещается начало координат. Здесь используем очевидное правило, согласно которому точка, имеющая наименьший модуль координат, находится ближе к началу координат.

Рис.16 Программа «Уточнение» Если поверхность задана в виде асферики второго типа с коэффициентами выше второго отличными от нуля, то полученное решение будет нулевым приближением. Для получения решения с заданной точностью необходимо воспользоваться итерационным алгоритмом (рис.16), где функцию поверхности образуем в документе Маткад как функцию пользователя:

(24) Заметим, что координаты точки на поверхности в (24) представлены своими проекциями на координатные оси. Тогда как в блок-схеме (рис.16)эти же координаты представлены вектором под именем «Х». Поэтому при обращении к функции Q нужно при написании программы использовать соответствующие элементы вектора или изменить исходный вид функции Q с меньшим числом входных параметров, как на рис. 16.

К программе «Уточнение» будем обращаться при вычислении погрешности непопадания луча на поверхность в случае асферической поверхности порядка выше второго (рис.16). В (24) с – вектор коэффициентов асферики.

Исходными данными для работы программы служат нулевое приближение X, полученное как координаты точки пересечения луча с коникоидом (19), вектор направляющих косинусов луча L, показатель преломления среды, где распространяется луч n, заданная погрешность нахождения решения (малое число, например, 10-9) и столбец коэффициентов поверхности «с».

Рис.17 Программа «Пересечение» Блок-схема программы пересечения луча с поверхностью представлена на рис.17. В вычислительных блоках в скобках указаны формулы, приведённые выше. Входными параметрами программы служат: А – координаты точки на луче, L - оптические направляющие косинусы луча, n – показатель преломления среды, где распространяется луч, С – вектор коэффициентов поверхности.

В качестве выходного параметра служат координаты точки пересечения луча с поверхностью, если луч попадает на поверхность, в противном случае выводится текстовая переменная со значением «мимо».

При обращении к программе «Уточнение» величину погрешности можно задать как внешнюю переменную или непосредственно заданным значением в списке фактических параметров.

При написании программы «Уточнение» Вас не должно смущать, что математический вид формулы (24) имеет 4 формальных параметра, тогда как в алгоритме данная функция имеет всего 2 параметра. Mathcad – вычислительный пакет, работающий с матрицами и векторами. В алгоритме переменная X – это трёхмерный вектор. Поэтому, если использовать обращение к функции, как в формуле (24), то необходимо использовать соответствие: x=X0, y=X1 и z=X2. Но можно соответствующим образом представить и функцию пользователя в Вашем документе mathcad.

Преломление на поверхности Чтобы осуществить акт преломления, необходимо вычислить направление нормали к поверхности в точке падания луча. В локальной системе координат нормаль к плоской поверхности совпадает с ортом оси аппликат. Для кривой поверхности вектор нормали определяется нормированными на единицу частными производными функции поверхности (24).

Q x Q 1 2x 2y 1, t = 4(x2 + y2)+ rows(C) N = zi-1.

iCi- y t = rows(C) t (25) i= Q zi- iCi- z i=Рассмотрим закон взаимодействия луча с поверхностью. Если плоскость падения совпадает с меридиональной плоскостью системы, то закон имеет скалярный вид:

(26) В общем случае закон преломления описывается в векторном виде:

, (27) где L и L’ – оптический вектор направляющих косинусов соответственно падающего и преломлённого лучей, N – нормаль к поверхности в точке падения луча.

Из (27) следует, что вектор L’-L коллинеарен вектору нормали, поэтому может быть представлен как произведение скаляра G, называемой постоянной отклонения, на вектор нормали:

. (28) Постоянная отклонения может быть найдена, если (28) скалярно умножить на N:

(29) Уменьшаемое находится из закона преломления (26):

Таким образом,. (30) Знак перед корнем зависит от направления вектора нормали и от знака коэффициента преломления пространства изображения. Если скалярное произведение лучевого вектора падающего луча и нормали отрицательно, то, перед корнем необходимо ставить знак «минус». Кроме того, знак минус появляется и в случае отражения. Окончательно, формула векторного преобразования падающего луча по оптической поверхности записывается следующим образом:

L = L + N[sign(n (L, N)) n - n2 + (L, N )2 - (L, N )]. (31) Здесь sign(x) – встроенная в Маткад знаковая функция, равная 1, если х>0; в противном случае она равна -1 для x<0 и 0 для x=0.

Формула (31) инвариантна по отношению к направлению нормали и справедлива как для преломления, так и для отражения.

Приведём блок-схему вычисления направления преломлённого луча (рис.18).

Рис.18 Программа «Преломление» Входными параметрами программы служат: В – декартовые координаты точки поверхности, L – оптические направляющие косинусы падающего луча, С – вектор коэффициентов поверхности, n и n’ – коэффициенты преломления, соответственно, до и после поверхности.

Выходным параметром является оптический вектор преломлённого (отражённого) луча или текстовая переменная в случае полного внутреннего отражения.

Задание 5.

По блок-схемам построить программы «Уточнение», «Пересечение» и «Преломление». Сформировать функцию пользователя (6). На основе тестового примера (см.ниже) вычислить B = Пересечение(A, L, n,C) – координаты точки пересечения луча со сферой «С», Bа = Пересечение(A, L, n,Ca) - координаты точки пересечения луча с асферикой «Са». Далее, с помощью программы «Уточнение» найти координаты пересечения луча с асферикой и, обращаясь с программы «Преломление» найти оптический вектор преломлённого луча. Найденные значения должны совпасть со значениями, выделенными жёлтым фоном.



Рис.19 Пример тестирования программ «Пересечение» и «Преломление» Для тестирования программ «Пересечение» и «Преломление» необходимо знание матриц луча. Исходная матрица луча содержит координаты точки предмета и оптический вектор направляющих косинусов, который может быть получен на основании данных о полевом и sin(u) cos() азимутальном угле точки предмета: L = sin(u)sin(), где u – полевой угол, – cos(u) азимутальный угол точки предмета.

5. Преобразование координатных систем В локальной системе координат поверхность описывается в локальной системе координат, в которой начало координат помещается в вершину поверхности, а ось аппликат направляется вдоль оси симметрии поверхности и ориентирована по направлению падающего на оптическую систему излучения, слева направо. В этом случае нормаль к поверхности в точке вершины лежит на оси аппликат.

Для описания реальной оптической системы выберем внешнюю координатную систему с началом координат в центре входного зрачка, направление оси аппликат – перпендикулярно плоскости зрачка и ориентировано по падающему излучению. Во внешней системе координат вершины и нормали в точке вершины поверхностей системы имеют заданные значения, описываемые трёхмерными векторами. Переход от внешней системы координат к локальной сопровождается для координат точек поверхности и луча смещением и поворотом, для нормалей – только поворотом. После того, как в локальной системе координат произведены операции нахождения точки пересечения луча с поверхностью и направления преломлённого (отражённого) луча, должен быть осуществлён обратный переход во внешнюю систему координат.

Рассмотрим операцию поворота координатных систем.

Рис.20 Операция поворота координатных систем до совмещения оси аппликат с направлением нормали к поверхности На рис.20 (x,y,z) – внешняя система координат, (x0,y0,z0) – локальная система координат, расположенная таким образом, что локальная ось ординат расположена в горизонтальной плоскости внешней координатной системы. Воспользуемся известным свойством матрицы преобразования координат из внешней системы в локальную систему: строками этой матрицы являются координаты ортов локальной системы во внешней системе. Так как нормаль N(p,q,m) в локальной системе по определению направлена по оси аппликат, то орт аппликат k локальной системы совпадает с ортом нормали и третья строка матрицы известна:

ix iy iz ix iy iz M = jx jy jz = jx jy jz (32) kx ky kz p q m Вторая строка формируется проекциями локального орта j на координатные оси внешней системы координат. В силу выбора положения локальной оси ординат имеем равенство: jx=0. Из подобия отмеченных заливкой треугольников на рис.19 следует, что m sgn(q) - q sgn(q) jy =, jz =, m, q 0, q2 + m2 q2 + m (33) jy = 1, jz = 0, m = q = 0.

В (33) функция sgn(x)=1, если x 0, а в противном случае она равна -1.

Использование встроенной в Маткад знаковой функции sing(x) невозможно в силу её определения, согласно которому sign(0)=0.

Когда определено положение двух ортов, то положение третьего орта следует из условия векторного произведения:

ix = m jy - q jz x y z i = j k = 0 jy jz iy = (-)(-) p jz = p jz. (34) p q m iz = (+)(-) p jy = - p jy Из (32)-(34) следует выражение для матрицы перехода (поворота) от внешней системы координат к локальной системе:

- sgn(q) p q - sgn(q) p m q2 + m q2 + m2 q2 + m0 0 - m - q M =, q, m 0, M = 1 0 p = 1.

(35) 0, q2 + m2 q2 + m1 0 p q m Блок-схема программы перехода представлена на рис.21. Входными параметрами служат: Х – преобразуемый вектор, который может быть свободным (вектор нормали) или связанным (координаты поверхности или точки на луче); Free – логическая переменная, равная 1, если преобразуемый вектор свободный, а иначе 0; V – координаты вершины поверхности во внешней системе координат, N – вектор нормали в точке вершины поверхности во внешней системе координат, Loc – логическая переменная, равная 1, если осуществляется переход в локальную систему координат, иначе 0 – обратный переход из локальной системы во внешнюю. Выходным параметром является преобразованный вектор Y.

Рис.21 Блок-схема программы «Переход» Заметим, в качестве обратной матрицы используется транспонированная матица: это справедливо для матриц поворота координатных систем. Вычисление транспонированной матрицы осуществляется быстрее, чем обратной.

Задание 6.

Составить программу перехода и проверить её работу, создав необходимые векторы. Получив результаты преобразования, сравнить параметры конфигурации векторов как во внешней системе координат, так и в локальной системе координат.

Пример тестирования приведён на рис.22.

Рис.22 Пример тестирования программы перехода 6. Линзовая оптическая система В предыдущих разделах описаны модули, необходимые для формирования программы трассировки пучка лучей через произвольную линзовую систему. Построение линзовой системы происходит за несколько шагов.

Шаг 1. Определение положения входного зрачка.





Для осесимметричных систем справедливо понятие входного зрачка, рассчитываются параксиальные характеристики. Документ ввода параметров для симметричного объектива из двух менисков [2]. представлен на рис.23.

Рис.23 Вычисления параксиальных характеристик системы Входные данные (рис.23) используются для вычисления параксиальных характеристик системы (раздел 3). В области вычислений предварительно необходимо сформировать исходные данные для нахождения положения и величины входного зрачка. Для этого из векторов исходных параметров вырезается необходимые данные и располагаются в требуемом порядке, т.е.

по ходу луча. Если же система не является осесимметричной, то данные формируются так, чтобы не было ошибочных вычислений. Документ этой части программы приведён на рис.24.

С помощью программы «Параксиальная» (раздел 3) вычисляются параксиальные характеристики одного луча. Если луч идёт от точки, расположенной на бесконечности, и параллельно оптической оси, то вычисляются заднее фокальное расстояние f’ и задний фокальный отрезок S’F. Если же луч направляется из осевой точки предмета, расположенной на конечном расстоянии на край входного зрачка, то вычисляется задний отрезок S’. Этих данных достаточно, чтобы вычислить поперечное линейное увеличение, необходимое для определения размера входного зрачка.

Формула для вычисления увеличения апертурная диафрагма - входной зрачок имеет вид:

S - SF VВЗ =, N > 1, VВЗ = 1, N = 1.

A A f (36) Рис.Результаты вычисления выводятся в виде таблиц:

Шаг 2. Разбиение входного зрачка и построение пучка лучей, опирающегося на это разбиение. Для каждого луча пучка определена матрица луча, содержащая вектор координат и вектор оптических направляющих косинусов, а также его оптическая длина. Программы разбиения и построения пучка лучей описаны в разделах 1 и 2.

Шаг 3. Построение исходных матриц для трассировки пучка лучей через систему.

1. Матрица параметров оптических поверхностей. Каждая поверхность задаётся вектором коэффициентов сi асферики второго типа N Q(x, y, z) = x2 + y2 - zi ci i= (37) где с0=2R, с1=-1-k, c2,c3…- коэффициенты асферики высшего порядка.

Объединением векторов поверхностей формируется матрица параметров размерностью max(Nk)M, Nk – число коэффициентов асферики kповерхности. Недостающие коэффициенты дополняются нулями. Система из M сферических поверхностей описывается матрицей размерностью 2M - вектор радиусов кривизны умножается на 2, вторая строка состоит из -1:

Матрица параметров дополняется справа столбцом с параметрами плоскости изображения.

2. Матрица положений, объединяющая координаты точки пересечения поверхности с главным лучом и вектор нормали в этой точке размерностью 32M. Для осесимметричной системы такой точкой является точка вершины поверхности. Каждые два столбца описывают параметры одной поверхности.

Последние два столбца описывают положение плоскости изображения.

Положение точек вершин отсчитывается от плоскости входного зрачка.

Документ Маткад, формирующий матрицу положений на основе вектора толщин приведён на рис.25.

Рис.25 Матрица положений на основе вектора толщин Если система неосесимметричная, то положение внешней системы координат произвольно, но проще её связать с положением материальной входной диафрагмы.

3. Матрица световых диаметров и сред размерностью 3M. Каждой поверхности отводится один столбец. В первой строке помещается величина светового диаметра, если она известна, если не известна - то ноль. Во второй строке – показатель преломления в пространстве предмета (до поверхности), в третьей - показатель преломления в пространстве изображения (после поверхности). Документ Маткад, формирующий матрицу приведён на рис.26.

Рис.26 Документ, формирующий матрицу Пересечение луча с поверхностью (рис.5) характеризуется двумя высотами: h – измеряется относительно главного луча и характеризует световой диаметр пучка, Н – измеряется относительно точки пересечения главным лучом поверхности и характеризует величину засвечиваемой поверхности.

Пусть известны координаты точек пересечения главного луча с поверхностью А0, текущего луча В и направляющие косинусы главного луча L (p,q,m). Высота H равна модулю вектора С=B-A0, а стрелка прогиба t вычисляется как скалярное произведение векторов t=(C· L), тогда формулы для вычисления высот будут следующие:

H = C, С = В - A, h = H - (C L)2.

(38) Рис.В результате работы программы «Система» вычисляются координаты и направления луча на всех поверхностях системы. Блок-схема программы изображена на рис.28.

Исследование оптической системы разбивается на несколько шагов.

Шаг 1. По трассировке главного луча определяются координаты центров световых пятен на поверхностях. (Для осесимметричной системы – это вершины поверхностей и необходимость в данной операции отпадает).

Вычисляется соответствующая матрица. Если при трассировке главного луча (луча, для которого полевой угол равен нулю) получено сообщение, что луч прошёл мимо или претерпел полное внутреннее отражение, то необходимо проверить правильность задания системы.

Шаг 2. Осуществляется трассировка пучка, исходящего из центра плоскости предмета. Пусть Ui – вектор результатов трассировки, i N -1, N = rows(U ).

Из вектора необходимо исключить текстовые сообщения, для не прошедших систему лучей. Программа фильтрации имеет структуру (рис.28).

Для определения типа выражения нужно воспользоваться соответствующей встроенной функцией из класса функций «тип выражения».

Pages:     | 1 | 2 || 4 | 5 |   ...   | 6 |










© 2011 www.dissers.ru - «Бесплатная электронная библиотека»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.