PDA

Просмотр полной версии : Вопрос к оптикам, премщественно расчетчикам


29.12.2002, 20:42
Я тут начал писать программу для расчета оптики. С асферикой второго порядка уже разобрался, а с асферикой высшего порядка возникли трудности. Дело в том, что в разных источниках предлагается разная форма задания этой поверхности. Например, Г.М. Попов в книге “Современная астрономическая оптика” приводит полином
X=a1*p^2 + a2*p^4 + a3*p^6+ … где p – радиус зоны поверхности.
Кроме того у Попова производится масштабирование, приводящее фокусное расстояние F к единице. Перейдя к произвольному масштабу получим:
X=a1*(p/F)^2 + a2*(p/F)^4 + a3*(p/F)^6 + …
В книге Н.Н. Михельсона “Оптика астрономических телескопов и методы ее расчета” в разделе 3.5 “Расчет хода лучей через оптическую систему по формулам Федера” приведена совсем другая форма задания поверхности:
X=(1-sqr(1-p^2*c^2))/c + a1*(p/H)^2 + a2*(p/H)^4 + a3*(p/H)^6 + … где с – кривизна поверхности в параксиальной области (на оси), H – полудиаметр поверхности.
Как видим, Федер масштабирует к единице не F а H, и, на мой взгляд совершенно напрасно, добавляет “сферический коэффициент” (не знаю его правильного названия).
Как бы там ни было, мне хотелось бы узнать, какая форма задания асферик высшего порядка является общепринятой в оптике, так как программу планирую в дальнейшем выложить в интернете.
И еще вопрос: как выглядит стандартная форма записи параметров системы содержащей поверхность(и), заданные в виде полинома?
Форма записи “обычной” системы в виде таблици с перечислением радиусов, отрезков, эксцентриситетов и коэффициентов преломления мне известна. (Примеров много.)

dvmak
30.12.2002, 00:01
<BLOCKQUOTE><font size="1" face="tahoma, verdana, helvetica, arial cyr">quote:</font><HR>Цитата из сообщения Boboshkin_Pavel:
Я тут начал писать программу для расчета оптики. С асферикой второго порядка уже разобрался, а с асферикой высшего порядка возникли трудности. Дело в том, что в разных источниках предлагается разная форма задания этой поверхности. Например, Г.М. Попов в книге “Современная астрономическая оптика” приводит полином
X=a1*p^2 + a2*p^4 + a3*p^6+ … где p – радиус зоны поверхности.
Кроме того у Попова производится масштабирование, приводящее фокусное расстояние F к единице. Перейдя к произвольному масштабу получим:
X=a1*(p/F)^2 + a2*(p/F)^4 + a3*(p/F)^6 + …
В книге Н.Н. Михельсона “Оптика астрономических телескопов и методы ее расчета” в разделе 3.5 “Расчет хода лучей через оптическую систему по формулам Федера” приведена совсем другая форма задания поверхности:
X=(1-sqr(1-p^2*c^2))/c + a1*(p/H)^2 + a2*(p/H)^4 + a3*(p/H)^6 + … где с – кривизна поверхности в параксиальной области (на оси), H – полудиаметр поверхности.
Как видим, Федер масштабирует к единице не F а H, и, на мой взгляд совершенно напрасно, добавляет “сферический коэффициент” (не знаю его правильного названия).
Как бы там ни было, мне хотелось бы узнать, какая форма задания асферик высшего порядка является общепринятой в оптике, так как программу планирую в дальнейшем выложить в интернете.
И еще вопрос: как выглядит стандартная форма записи параметров системы содержащей поверхность(и), заданные в виде полинома?
Форма записи “обычной” системы в виде таблици с перечислением радиусов, отрезков, эксцентриситетов и коэффициентов преломления мне известна. (Примеров много.)<HR></BLOCKQUOTE>


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

Или Вы замыслили что-нибудь глобальное?
В любом случае, сходите на www.zemax.com (http://www.zemax.com) демо-версия даст Вам представление о хорошей программе для профессионального использования, а в PDF файле руководства к этой программе приведены все мало-мальски употребимые типы оптических поверхностей, в том числе и асферика высших порядков. Вы сможете посмотреть, какими формулами описываются эти поверхности.

Успехов!

[ 30-12-2002: Сообщение редактировал: dvmak ]

05.01.2003, 10:19
Люди, простите мое непросвященное мнение, но что вы скажете об этой проге?

MODAS (http://members.kabsi.at/i.krastev/modas.html)

[ 05-01-2003: Сообщение редактировал: ML ]

Ernest
09.01.2003, 00:36
<BLOCKQUOTE><font size="1" face="tahoma, verdana, helvetica, arial cyr">quote:</font><HR>
Г.М. Попов в книге “Современная астрономическая оптика” приводит полином
X=a1*p^2 + a2*p^4 + a3*p^6+ … где p – радиус зоны поверхности.
Кроме того у Попова производится масштабирование, приводящее фокусное расстояние F к единице. Перейдя к произвольному масштабу получим:
X=a1*(p/F)^2 + a2*(p/F)^4 + a3*(p/F)^6 + …

В книге Н.Н. Михельсона “Оптика астрономических телескопов и методы ее расчета” приведена совсем другая форма задания поверхности:
X=(1-sqr(1-p^2*c^2))/c + a1*(p/H)^2 + a2*(p/H)^4 + a3*(p/H)^6 + … где с – кривизна поверхности в параксиальной области (на оси)<HR></BLOCKQUOTE>

Представление асферики высшего порядка см. книгу С.А.Родионова "Автоматизация проектирования оптических систем".

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

Кроме того существует формула описания асферики от z:

y^2+x^2 = c1*z + c2*z2 + c3*z3 + ...

где x,y - координаты на плоскости перпендикулярной оси, z - вдоль оси. Причем r = c1/2, e^2 = 1 + c2. Такое представление более адекватно для т.н. "глубоких" асферик.

11.01.2003, 18:25
dvmak-у: изначально, задумывалась именно программа с простым интерфейсом, понятным для не очень подготовленных пользователей. От необходимости знания правила знаков, думаю не уйти, хотя есть идея, как отказаться от необходилости задания знаков при показателях преломления сред. В дальнейшем, возможно, захочется написать что-нибудь и более глобальное (аппетит приходит во время еды).

Всем:
Хотелось бы услышать пожелания потенциальных пользователей о том, какие функции они хотели бы получить, хотя и не обещаю все их реализовать. Высказывайтесь пожалуйста!

Anonymous
14.01.2003, 18:11
Уважаемый Павел.
Написать серьезный оптический soft очень сложно (поверьте профессионалу). Проблема даже не в коде как таковом. А в его отладке, для которой софт должен многократно тестироваться в разных режимах. В сети есть вполне доступные бесплатные программы и их ресурсов вполне достаточно для любителя.
Например:
SYNOPSYS http://home.gwi.net/OSD/
OSLO http://www.lambdares.com/products/oslo/index.phtml
Разобраться в них гораздо проще чем писать самому. Многие поддерживаю макроязык, в котором вы можете делать то, что захотите. У расчетчиков по рукам ходила разломаная версия того же Земакса...
Впрочем, если вам это нравиться, дерзайте!
Модас, о котором речь шла выше - пример самостоятельно написанной программы.