A A A A Автор Тема: Расчет коэффициентов аберраций третьего порядка  (Прочитано 5026 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Serge ChuprakovАвтор темы

  • ****
  • Сообщений: 469
  • Благодарностей: 17
  • Мне нравится, просто нравится...
    • Сообщения от Serge Chuprakov
Аберрации — это разложение сложной функции зависимости точек пересечения луча с плооскостью изображения от точек пересечения того же луча с плоскостью входного зрачка по параксиальным параметрам ОС (параксиальным углам, толщинам и высотам). При трассировке лучей, эти координаты считаются из конструктива «в лоб» методами аналитической геометрии или численно. Для этого существуют программы трассировки ZEMAX, РОС Владимира Илича, CODE V, Linzik и множество других.
Аберрационная теория позволяет находить приближенные (внимание!) координаты из параксиальных параметров системы. Изначально, она была придумана только из-за того, что в середине XIX в. расчет «в лоб» из-за огромного объема вычислений был неэффективен. Но затем была предложена запись коэффициентов аберраций, исключающая второй главный луч. Эта форма (через Si, см. примеры этой темы) позволяет оперировать только с углами первого параксиального луча и НЕ ЗНАТЬ конструктив, что позволяет находить зависимости между коэффициентами аберраций и КОМПОЗИЦИЕЙ оптической системы.
С помощью этой формы записи, в книгах подобных «Теории хроматизма...» и, кстати монографии Ю. А. Клевцова (но там ОЧЕНЬ сложные примеры, так что В. Н. Чуриловский сначала обязателен), на примерах хорошо показано как оптик может осознанно «собирать» оптическую систему, пользуясь неким набором базовых знаний о влиянии той или иной поверхности или группы поверхностей на аберрации. Грубо говоря, зная сколько и какие аберрации надо исправить, оптик примерно закладывает число и расположение элементов ОС таким образом, чтоб получилась изначально предполагаемая им система аберрационных уравнений, которую можно решить относительно заданных параксиальных параметров.
И только после нахождения этих параксиальных параметров, рассчитывается конструктив новой ОС. Дальше идет проверка конструктива на неконтроллируемые аберрации более высоких порядков и т. д.
« Последнее редактирование: 28 Ноя 2014 [10:08:18] от Serge Chuprakov »
Уже вышел из возраста, когда переживаешь, что о тебе подумают другие. Пусть теперь другие переживают, что о них подумаю я

Оффлайн ekvi

  • *****
  • Сообщений: 7 048
  • Благодарностей: 406
    • Сообщения от ekvi
Сергей, не утруждайте себя изложением теории Зейделя (с этими буквами я знаком с 1977го), а лучше перечитайте резюме опт.корифеев на этот счет. Вот Вы говорите:
зная сколько и какие аберрации надо исправить, оптик примерно закладывает число и расположение элементов ОС

А разве не о том же сказано в сообщении #37:
"А. Для разрабатываемой системы пользователем программы Задаются:
1. Структура ОС - состав и расположение компонентов."
Ладно, Вы меня не видите - это не Скайп, но почему не слышите?

Оффлайн Serge ChuprakovАвтор темы

  • ****
  • Сообщений: 469
  • Благодарностей: 17
  • Мне нравится, просто нравится...
    • Сообщения от Serge Chuprakov
А разве не о том же сказано в сообщении #37:
"А. Для разрабатываемой системы пользователем программы Задаются:
1. Структура ОС - состав и расположение компонентов."
Ладно, Вы меня не видите - это не Скайп, но почему не слышите?
Нет не то же самое, конечно. «Структура и расположение» задаются углами первого параксиального луча. Допустим система уравнений относительно какого-то угла имеет три решения, каждое из которых порождает еще два решения относительно другого угла. Это шесть самых разных конфигураций может оказаться, и с каждой можно отдельно работать.  Чтобы все это получить и нужно символьное представление!
А простая оптимизация третьих порядков бессмысленна от слова совсем, если уже есть оптимизация реальных лучей.
Уже вышел из возраста, когда переживаешь, что о тебе подумают другие. Пусть теперь другие переживают, что о них подумаю я

Оффлайн ekvi

  • *****
  • Сообщений: 7 048
  • Благодарностей: 406
    • Сообщения от ekvi
шесть самых разных конфигураций может оказаться, и с каждой можно отдельно работать.
Квадратное уравнение имеет 2, кубическое - три корня и т.д. И речь нужно вести не о конфигурациях, а о расстановках компонентов т.е. расстояниях между ними), которые и определяют (наряду со стеклами) конфигурацию системы и ее новизну.
Чтобы все это получить и нужно символьное представление!
Так, так...

Оффлайн ekvi

  • *****
  • Сообщений: 7 048
  • Благодарностей: 406
    • Сообщения от ekvi
что мне нужно, как оптику для анализа в области Зейделя. Я отвечаю, что программа, которая как Mathematica работает с формулами. Я не знаю как написать такую программу,
Ну, вот опять: сначала Вы 15 лет уж как программируете оконные приложения, автоматизируете "железо" и ... не знаете, что в любой программной среде - хоть на Си (MSVS), хоть на Паскале (Delphi) - существует не один десяток процедур для работы с символьными переменными и их сочетаниями - строками. И составить приложение на одном из высокоуровневых языков для решения задачи в Вашей постановке - дело техники.

Да, Сергей, с Вами в паре играть - проигрыш обеспечен!

Оффлайн Serge ChuprakovАвтор темы

  • ****
  • Сообщений: 469
  • Благодарностей: 17
  • Мне нравится, просто нравится...
    • Сообщения от Serge Chuprakov
и ... не знаете, что в любой программной среде - хоть на Си (MSVS), хоть на Паскале (Delphi) - существует не один десяток процедур для работы с символьными переменными и их сочетаниями - строками. И составить приложение на одном из высокоуровневых языков для решения задачи в Вашей постановке - дело техники.
Вы такие интересные вещи мне сейчас открываете, Владимир Ильич, шо я прям таки теряюсь! Ну и какие же такие «процедуры» в C умеют приводить дроби к общему знаменателю или разлагать выражение по степеням выбранных переменных, к примеру?
Уже вышел из возраста, когда переживаешь, что о тебе подумают другие. Пусть теперь другие переживают, что о них подумаю я

Оффлайн ekvi

  • *****
  • Сообщений: 7 048
  • Благодарностей: 406
    • Сообщения от ekvi
Вы сами предложили написать программу анализа системы в области Зейделя. Спросили меня как человека, который «на самом гребне»
И уже начал дорабатывать программу РОС для решения ОС в области Зейделя.

Но Вам почему-то не интересны новые ОС в готовом виде, Вы заявляете:
"мне НЕ нужны цифры, мне нужны аналитические выражения".
А теперь еще и
приводить дроби к общему знаменателю или разлагать выражение по степеням выбранных переменных



Оффлайн Serge ChuprakovАвтор темы

  • ****
  • Сообщений: 469
  • Благодарностей: 17
  • Мне нравится, просто нравится...
    • Сообщения от Serge Chuprakov
Но Вам почему-то не интересны новые ОС в готовом виде, Вы заявляете:
Мне все новое интересно, и я буду очень рад, если наконец-то, кто-то алгоритмизует процесс «изобретения»  ;)
А теперь еще и
приводить дроби к общему знаменателю или разлагать выражение по степеням выбранных переменных
Почему «теперь еще и»? С моей стороны об этом шла речь с самого начала. Что за глупости, зачем численно оптимизировать аберрации третьего порядка?
Уже вышел из возраста, когда переживаешь, что о тебе подумают другие. Пусть теперь другие переживают, что о них подумаю я

Оффлайн ekvi

  • *****
  • Сообщений: 7 048
  • Благодарностей: 406
    • Сообщения от ekvi
зачем численно оптимизировать аберрации третьего порядка?
Просветителя из Вас, Сергей, не получилось! Придется мне надеть тогу...

Зачем для всякой ОС вручную решать систему из 7 аберрационных уравнений? Поупражняться в алгебраических преобразованиях? А если ошибетесь в символе или индексе? в степенном показателе?
Это у Вас от самоуверенности или от недоверия (незнания) возможностей численных методов.
Кодовая вставка, которую сейчас произвожу в программе РОС, будет:
- Через исходную ОС прогонять один луч (нулевой) на условленной высоте (1мм, 0.707*Н и т. п. ) и определять относительные значения высот, толщин и углов;
- По универсальным формулам (они у Вас приводены в учебнике к программе) вычислять аберрационные суммы;
- Варьированием переменных минимизировать функционал системы уравнений, в результате чего определятся новые параметры ОС.
Поскольку через систему пропускается только один луч, новая ОС появляется во много раз быстрее, чем при обычной оптимизации.
Ну, а далее - по этапам сообщения # 37.

Какие есть сомнения?

Оффлайн Дрюша

  • *****
  • Сообщений: 4 946
  • Благодарностей: 99
  • Вы сышите только мой голос...
    • Сообщения от Дрюша
и ... не знаете, что в любой программной среде - хоть на Си (MSVS), хоть на Паскале (Delphi) - существует не один десяток процедур для работы с символьными переменными и их сочетаниями - строками. И составить приложение на одном из высокоуровневых языков для решения задачи в Вашей постановке - дело техники.
Вы такие интересные вещи мне сейчас открываете, Владимир Ильич, шо я прям таки теряюсь! Ну и какие же такие «процедуры» в C умеют приводить дроби к общему знаменателю или разлагать выражение по степеням выбранных переменных, к примеру?
Ну, на Си - не на Си (хотя и на Си можно, если постараться), а, вот, на Лиспе - есть мощные пакеты (ещё в мои времена был, например, Редьюс), который умеет не только приводить к общему знаменателю, но и брать производные, интегралы... "Символами" там называются не отдельные буковки или циферки (которые с Си называются char  или TCHAR), а лексемы, которые могут использоваться в качестве имён (alpha, beta, ksi1, sin, cos, exp, log, log10) и спецобозначений (SUM, INTEGRAL)... Впрочем, интерпретатор Лиспа можно написать на Си, и паче того, любой сколько-нибудь серьёзный проект на Си/Си++ содержит в себе интерпретатор коммон-Лиспа...

Оффлайн Serge ChuprakovАвтор темы

  • ****
  • Сообщений: 469
  • Благодарностей: 17
  • Мне нравится, просто нравится...
    • Сообщения от Serge Chuprakov
Зачем для всякой ОС вручную решать систему из 7 аберрационных уравнений? Поупражняться в алгебраических преобразованиях? А если ошибетесь в символе или индексе? в степенном показателе?
Владимир Ильич, мы с Вами уже третью страницу как то странно разговариваем, когда я чё то пишу, а Вы читаете только одну-две первые строчки.
Где я написал, что «решать вручную»??? Я как раз и хочу, чтоб решал КОМПЬЮТЕР, который не теряет ни степеней ни индексов.
Возможности численных методов мне как раз известны, с их помощью трудно найти ВСЕ решения, если не применять методы подобные Global Search в ZEMAX. Так что если Вы о таких методах, то в ZEMAX уже имеются такие средства, позволяющие находить до 10 решений в т. ч. и по аберрационным коэффициентам.
Но, еще раз говорю, искать решения численно в рамках аберрационной теории глупо, потому что это будет поиск «вслепую». Даже если найдутся несколько решений, можно только гадать, от КАКИХ параксиальных параметров и КАК зависят те или иные чистые аберрации. А для понимания как работает та или иная композиция ОС это принципиально важно
Уже вышел из возраста, когда переживаешь, что о тебе подумают другие. Пусть теперь другие переживают, что о них подумаю я

Оффлайн Дрюша

  • *****
  • Сообщений: 4 946
  • Благодарностей: 99
  • Вы сышите только мой голос...
    • Сообщения от Дрюша
А чем не катит такой подход: берём, положим, некий дизайн ОС (зазоры, толщины, радиусы...) и что-нибудь там варьируем. Скажем, какой-нибудь зазор. Или радиус. Другие параметры - пока не трогаем. Ну, после каждой вариации - что-то там оптимизируем (например, ловим положение фокуса или/и радиус кривизны фокальной поверхности). Смотрим на аберрации. Если по каждому интересущему параметру мы берём 2 не слишком далёких значения, то это годится для линейной интерполяции/экстраполяции. Если 3 значения, - то уже даже для квадратичной. Ну, короче, получаем некое подобие зависимости чего-то там (ну, хотя бы, - коэффициентов аберраций) от набора каких-то параметров, кторыми мы можем варьировать, но в линейном (квадратичном, кубичном...) приближении. То есть, выражаем "аналитической" формулой (полиномом), но эта формула - приближённая и полуэмпирическая (так сказать, - "численно-экспериментальная"). Это нам как-нибудь чем-то - может помочь?

Оффлайн Serge ChuprakovАвтор темы

  • ****
  • Сообщений: 469
  • Благодарностей: 17
  • Мне нравится, просто нравится...
    • Сообщения от Serge Chuprakov
А чем не катит такой подход: берём, положим, некий дизайн ОС (зазоры, толщины, радиусы...) и что-нибудь там варьируем. Скажем, какой-нибудь зазор. Или радиус. Другие параметры - пока не трогаем. Ну, после каждой вариации - что-то там оптимизируем (например, ловим положение фокуса или/и радиус кривизны фокальной поверхности). Смотрим на аберрации. Если по каждому интересущему параметру мы берём 2 не слишком далёких значения, то это годится для линейной интерполяции/экстраполяции. Если 3 значения, - то уже даже для квадратичной. Ну, короче, получаем некое подобие зависимости чего-то там (ну, хотя бы, - коэффициентов аберраций) от набора каких-то параметров, кторыми мы можем варьировать
Чем это отличается от численных методов оптимизации аберраций реальных лучей? Радиусы напрямую вообще нельзя использовать, надо хотя кривизну.

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

Оффлайн ekvi

  • *****
  • Сообщений: 7 048
  • Благодарностей: 406
    • Сообщения от ekvi
хочу, чтоб решал КОМПЬЮТЕР
но заставляете Вы его ПИСАТЬ.
численных методов мне как раз известны, с их помощью трудно найти ВСЕ решения
потому и предлагается гибрид, который Вы отторгаете.
в ZEMAX уже имеются такие средства
которые и предлагается "поженить" с Зейделем.
искать решения численно в рамках аберрационной теории глупо
Вам и предлагают выйти из "подгузников".

А теперь по сути дела.
Зейделя нельзя "вплетать" в оптимизацию: он будет постоянно "косить" на мнимое, приблизительное решение, а оптимизатор будет тянуть к точному - начнется раздвоение.
Надо либо вначале раз "зейдельнуть", либо только вначале каждой из метаморфоз ОС, которые та будет претерпевать по ходу оптимизации.
« Последнее редактирование: 05 Дек 2014 [08:43:13] от ekvi »

Оффлайн Дмитрий Серегин

  • ****
  • Сообщений: 274
  • Благодарностей: 11
  • Мне нравится этот форум!
    • Сообщения от Дмитрий Серегин
    • dseregin.nm.ru
Зейделя нельзя "вплетать" в оптимизацию: он будет постоянно "косить" на мнимое, приблизительное решение, а оптимизатор будет тянуть к точному - начнется раздвоение.

У Zemax именно так и происходит.

Оффлайн ekvi

  • *****
  • Сообщений: 7 048
  • Благодарностей: 406
    • Сообщения от ekvi
У Zemax именно так и происходит.
Значит, надо подбирать ключи.
И тут теория аберраций 3го порядка (ТА-3), будучи рудиментом, только обуза.
В.Н. Чуриловский был очень прозорливым оптиком - он не случайно извлек из забвения "принцип таутохронизма" = эйконал, вытекающий из принципа Гюйгенса-Френеля: и Декарт на этих представлениях сделал "прорыв", и Г.М. Попов со своими "интегральными уравнениями", и ... кто следующий?
« Последнее редактирование: 05 Дек 2014 [08:53:00] от ekvi »

Оффлайн Serge ChuprakovАвтор темы

  • ****
  • Сообщений: 469
  • Благодарностей: 17
  • Мне нравится, просто нравится...
    • Сообщения от Serge Chuprakov
Зейделя нельзя "вплетать" в оптимизацию: он будет постоянно "косить" на мнимое, приблизительное решение, а оптимизатор будет тянуть к точному - начнется раздвоение.
У Zemax именно так и происходит.
Вот именно поэтому и нет никакой возможности, мне кажется, как то "заставить" компьютер найти все четыре конфигурации например тонкого двухлинзового апланата. ДАЖЕ, если искать решение по третьим порядкам. Я тоже не вижу никакого смысла соединять численные методы с аберрационной теорией. Поэтому мое мнение как профессионала - аберрационные коэффициенты надо искать в виде аналитических выражений. А уж "подгузники" это или хоть горшком назови - мне без разницы. Хотя, если кто то напишет программу, которая найдет все четыре конфигурации апланата - сниму шляпу, "вылезу из подгузников", назову Мастером и т. п.
Уже вышел из возраста, когда переживаешь, что о тебе подумают другие. Пусть теперь другие переживают, что о них подумаю я

Оффлайн ekvi

  • *****
  • Сообщений: 7 048
  • Благодарностей: 406
    • Сообщения от ekvi
Ну, хорошо, последуем рекомендациям метода и разделимся: Вы на пару с Зейделем - будете "открывать" новые системы, а я - в обнимку с РОС их доводить до кондиции.
Возражений не будет?

Оффлайн Serge ChuprakovАвтор темы

  • ****
  • Сообщений: 469
  • Благодарностей: 17
  • Мне нравится, просто нравится...
    • Сообщения от Serge Chuprakov
Ну, хорошо, последуем рекомендациям метода и разделимся:
Вы на пару с Зейделем - будете "открывать" новые системы, а я - в обнимку с РОС их доводить до кондиции.
Возражений не будет?
Будет. ZЕМАХ НЕ МОЖЕТ решить даже простейшую задачу нахождения четырех конфигураций тонкого апланата (пара квадратных уравнений всего). Не предназначен он для этого! И ни одна из программ численной оптимизации не может. Зато прекрасно умеет, как Вы говорите, «доводить до кондиции». Не сомневаюсь, что и РОС отлично доводит.
Но, в данном случае, надо какое то средство для нахождения всех возможных конфигураций (композиций) ОС, удовлетворяющих условиям, подобным показанным на рисунке Seidel_tutorial_1.jpg. Надо найти все решения заданной системы уравнений, какими бы они не были. Понимаете принципиальную разницу?
« Последнее редактирование: 05 Дек 2014 [20:33:13] от Serge Chuprakov »
Уже вышел из возраста, когда переживаешь, что о тебе подумают другие. Пусть теперь другие переживают, что о них подумаю я

Оффлайн ekvi

  • *****
  • Сообщений: 7 048
  • Благодарностей: 406
    • Сообщения от ekvi
Надо найти все решения заданной системы уравнений, какими бы они не были. Понимаете принципиальную разницу?
А зачем нам все решения? Для историков? - но "мы истории не пишем".
Надо искать лучшее решение, и в этом принципиальная разница в наших подходах, Сергей.