Оптическая поверхность

advertisement
Объектно-ориентированная модель
конструктивных параметров
оптической системы
Компьютерные методы
моделирования оптических приборов
кафедра
прикладной и компьютерной оптики
2
Требования к структуре данных при
автоматизации проектирования ОС
Требования разработчиков оптического прибора

внешнее представление
Требования программистов

внутреннее представление
внутреннее представление должно быть как можно
ближе к внешнему
3
Уровни проектирования ОП
Информационно-логический
Системотехнический


Внешняя функциональная модель
Передаточные и присоединительные характеристики
Схемотехнический

Синтез, анализ, оптимизация
Конструкторский
Технологический
4
Синтез, анализ, оптимизация
Синтез: определяется структура оптической системы и
основные параметры, ее оптических элементов


оптические элементы с известными аберрационными свойствами
(апланатическая линза)
абстрактные элементы с требуемыми оптическими характеристиками
(“тонкий” компонент, обладающий оптической силой)
информация о конкретных оптических элементах и
абстрактных оптических элементах
5
Синтез, анализ, оптимизация
Анализ: оптическая система описывается
конструктивными параметрами в приближении
достаточном для математического моделирования ее
работы



параметры оптических сред и оптических элементов
световые размеры оптических элементов и апертурной диафрагмы
параметры взаимного расположения оптических элементов
многократно выполняется большое количество
вычислительных операций
оптимальное расходование оперативной и дисковой
памяти
6
Синтез, анализ, оптимизация
Оптимизация: использование объектно-инвариантных
методов




параметры оптимизации
оптимизируемые функции
критерии оптимизации
ограничения и т.д.
Необходимо преобразование структуры данных в
оптимизационную модель
Внешние представления конструктивных параметров:



электронной таблицы
графические представления оптической схемы
документальное представление (оптического выпуска)
7
Уровни проектирования ОП
Информационно-логический
Системотехнический


Внешняя функциональная модель:
Передаточные и присоединительные характеристики
Схемотехнический

Синтез, анализ, оптимизация
Конструкторский
Технологический

оптические детали расположенные в пространстве посредством
закрепления их в оправах
8
Требования к структуре данных
Полиморфизм
Близость внутреннего представления к внешнему
Простота использования и реализации
Высокая скорость доступа к любому параметру
Экономичность в расходовании аппаратных и
программных ресурсов
Расширяемость
9
Традиционный подход
R(NS)

массив кривизн сферических поверхностей
С(NS)

массив эксцентриситетоыв поверхностей
D(NS-1)

массив осевых расстояний
H(NS)

массив световых высот поверхностей
N(NS, NL)



двумерный массив показателей преломления на разных длинах волн
NS – количество поверхностей в системе
NL – количество длин волн на которых будет производиться расчет
10
Объектно-ориентированный
подход
Что представляет собой базовый объект в структуре
данных оптической системы?
Как организовать хранение набора объектов и их
взаимного расположения?
11
Объект типа
“Оптическая поверхность”
Оптическая поверхность – это регулярная гладкая
поверхность раздела двух сред, определенным образом
расположенная и ориентированная в пространстве





r – радиус поверхности
n – показатель преломления до поверхности
n’ – показатель преломления после поверхности
h – cветовая высота
d – расстояние до следующей поверхности h
n
r
n’
d
12
Диаграмма наследования для
базового объекта “поверхность”
Оптическая поверхность
Сплайн-поверхность
Поверхность 2-го порядка
Асферическая поверхность
Конус
Тор
Решетка
Цилиндрическая поверхность
Поверхность Френеля
...
13
Объект типа
«Оптическая деталь»
Оптическая деталь – это материально реализуемый
объект, выполняющий преобразование проходящего
оптического излучения, определенным образом
расположенный и ориентированный в пространстве






(x,y) – положение детали
r1 – радиус 1-й поверхности
r2 – радиус 2-й поверхности
n – показатель преломления материала
D – cветовой диаметр
d – толщина вдоль оптической оси
r1
r2
D
(x,y)
n
d
14
Диаграмма наследования для
базового объекта «деталь»
Оптическая деталь
Линза
Зеркало
Призма
Решетка
Линза Френеля
...
15
Объект типа
«Оптический преобразователь»
Оптический преобразователь – это абстрактный объект,
выполняющий преобразование проходящего оптического
излучения


Элемент – это объект, который осуществляет такие преобразование
оптического излучения как преломление, отражение и тому подобные.
Направляющая – это объект, который осуществляет перенос оптического
излучения в среде и описывает взаимное положение элементов
П
16
Диаграмма наследования для базового
объекта «преобразователь»
Оптический преобразователь
Оптическая среда
Однородная среда
Оптический элемент
Поверхность
...
Тонкий компонент
...
Голографический элемент
...
Градиентная среда
...
17
Хранение объектов
Массивы и очереди (vector, queue)


простота и высокая скорость доступа к элементам, возможность
изменения его размеров в процессе выполнения
неоптимальное выполнение вставки элементов в начало и в средину
контейнера
Двустороннюю очередь (deque)

более эффективно выполняет операции вставки в начало контейнера и
обхода элементов в обратном порядке.
Списки (list)


оптимальны для вставки элементов в произвольной позиции
при последовательном обходе списки уступают по эффективности
массивам
Многосвязные списки или деревья (set, map)

для систем с переменными характеристиками и многоконфигурационных
оптических систем
Лабораторная работа №2
Компьютерные методы
моделирования оптических приборов
кафедра
прикладной и компьютерной оптики
19
Задание к
лабораторной работе №2
Создать приложение на основе диалогового окна,
вычисляющее параксиальные характеристики линзы. Для
выполнения задания создать классы, представленные на
диаграмме.
Последовательность вычислений указана на диаграмме
последовательности.
20
Surface
Matrix
#m_h : double
+Surface()
+~Surface()
+SetH(in h : double)
+GetH() : double
+GetTransformMatrix(out transform : &Matrix, in n : double, in n_ : double) : void
SphericalSurface
-m_r : double
+GetTransformMatrix(out transform : &Matrix, in n : double, in n_ : double) : void
+SphericalSurface()
+~SphericalSurface()
+SetR(in r : double) : void
+GetR() : double
Paraxial
+m_f : double
+m_f_ : double
+m_sf : double
+m_sf_ : double
+m_sh : double
+m_sh_ : double
+Paraxial()
+~Paraxial()
DlgLens
Lens
-m_d : double
-m_n : double
-m_surface1 : SphericalSurface
-m_surface2 : SphericalSurface
+Lens()
+~Lens()
+SetIndexOfRefraction(in n : double) : void
+GetIndexOfRefraction() : double
+SetThickness(in d : double) : void
+GetThickness() : double
+CalculateParaxial(out paraxial : &Paraxial) : void
+OnButtonCalculate() : void
DlgParaxial
-m_paraxial : Paraxial
+DoModal()
21
lensDl
paraxial
len
m_surface
OnButtonCalculate
Paraxial()
Lens()
SphericalSurface()
SphericalSurface()
CalculateParaxial()
GetTransformMatrix()
GetTransformMatrix()
DoModal()
m_surface
paraxialDlg
Download