Подскажите, пожалуйста, программу или приведите ссылку на описание алгоритма, при помощи которой можно выполнить трассировку лучей через толстую линзу. Линза может быть сферической или асферической (поверхности являются частью эллипсоида). Желательно для трехмерной линзы, в какой-то мере подойдет и плоский вариант.

По обе стороны линзы находятся среды с разными коэффициентами преломлениями: na и nc.

задан 22 Май '13 15:36

изменен 22 Май '13 15:39

Нашел и использую optoCAD. Бесплатная программа написанная на Фортране. Позволяет трассировать лучи через поверхности разной формы, не только сферические, задавать множество оптических характеристик среды, генерирует прекрасные картинки, которые выводятся в постскрипт файл. Возможный недостаток: работает только в 2D. Оптическая система описывается в виде несложной фортран программы. Есть хорошее руководство пользователя, также разработчик отвечает на вопросы.

отвечен 6 Июн '13 13:17

Программу можно самому в MATLAB написать, используя эллипсоидальные или сферические координаты и закон преломления: sin a/sin b=n2/n1. Определив положение касательной плоскости к линзе в точке вхождения луча (можно воспользоваться локальной декартовой системой координат), легко определить траекторию луча внутри линзы и точку выхода луча. Используя дополнительно симметрию линзы и принцип обратимости лучей можно существенно упростить алгороитм.

отвечен 6 Июн '13 8:53

Здравствуйте

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

Присоединяйтесь!

отмечен:

×56

задан
22 Май '13 15:36

показан
1721 раз

обновлен
6 Июн '13 13:17

Отслеживать вопрос

по почте:

Зарегистрировавшись, вы сможете подписаться на любые обновления

по RSS:

Ответы

Ответы и Комментарии

Дизайн сайта/логотип © «Сеть Знаний». Контент распространяется под лицензией cc by-sa 3.0 с обязательным указанием авторства.
Рейтинг@Mail.ru