F.A. Jenkins, H.E. White, Fundamentals of Optics вроде в списке под номером 482, но на книголюбе что-то ненаходится.
» Программы для разработки, тестирования,... оптических систем
Цитата:
F.A. Jenkins, H.E. White, Fundamentals of Optics вроде в списке под номером 482, но на книголюбе что-то ненаходится.
отправил
Спасибо!
У меня конкретная задача: при изготовлении объектива измеряются толщины готовых линз, данные поступают в Excel, как их от туда отправлять в Lens Data Editor (Zemax)
Заранее спасибо.
Проблема побеждена. Ничего не надо ни куда забивать, все делается само. У кого будет такая же задача- передать уйму данных из Excel в Lens Data Editor (Zemax)-обращайтесь
Заранее спасибо.
Проблема побеждена. Ничего не надо ни куда забивать, все делается само. У кого будет такая же задача- передать уйму данных из Excel в Lens Data Editor (Zemax)-обращайтесь
Здравствуйте!
В посреднее время пользуюсь ASAP. У Земакса в непоследовательном режиме не могу найти параксиальную линзу, которая есть в ASAP. Её нет в NSC Земакса?
В ASAP можно повернуть объект вокруг произвольно удалённой точки на оси? В NSC Земакса этого нет?
В посреднее время пользуюсь ASAP. У Земакса в непоследовательном режиме не могу найти параксиальную линзу, которая есть в ASAP. Её нет в NSC Земакса?
В ASAP можно повернуть объект вокруг произвольно удалённой точки на оси? В NSC Земакса этого нет?
Цитата:
Здравствуйте!
В посреднее время пользуюсь ASAP. У Земакса в непоследовательном режиме не могу найти параксиальную линзу, которая есть в ASAP. Её нет в NSC Земакса?
В ASAP можно повернуть объект вокруг произвольно удалённой точки на оси? В NSC Земакса этого нет?
1. Нет параксиальной линзы. Можно придумать используя User Defined Object
2. Можно воспользоватся опцией reference object, задав неиспользуемый (dummy) объект, установив его ка нужно, а наш объект вращая относительно него.
Цитата:
1. Нет параксиальной линзы. Можно придумать используя User Defined Object
2. Можно воспользоватся опцией reference object, задав неиспользуемый (dummy) объект, установив его ка нужно, а наш объект вращая относительно него.
Сходу мне замутить DLL будет нелегко. Мне нужно смоделировать проектор, в котором нужно рассчитать осветительную часть. От проекционного объектива мне известен только фокус и диаметр входного зрачка, т.е. нужен параксиал. Почему до сих пор не добавили в Zemax параксиал?
Тут тоже спрашивают
http://www.optima-research.com/forum/viewtopic.php?t=173&sid=ed6a746507cba18f0e540a1a6c5ec7da
Предлагают Sweatt lens, параметры которой не понятно как задавать.
А поворот с референсом тоже не фурычит. Если это линза, то она будет поворачиваться вокруг своей первой вершины, а не от заданной точки пространства.
В данном случае будет проше всё это сделать в ASAP.
Цитата:
Сходу мне замутить DLL будет нелегко. Мне нужно смоделировать проектор, в котором нужно рассчитать осветительную часть. От проекционного объектива мне известен только фокус и диаметр входного зрачка, т.е. нужен параксиал. Почему до сих пор не добавили в Zemax параксиал?
На досуге попробую замутить Dll, интересно просто. Завтра выложу, максимум после выходных.
Цитата:
А поворот с референсом тоже не фурычит. Если это линза, то она будет поворачиваться вокруг своей первой вершины, а не от заданной точки пространства.
Почему не фурычит??? Что нужно конкретно, дайте цифры - проверю, так ли это?
Тьфу, фурычит!
Поворачивал сам объект, а надо было поворачивать Null Object.
Спасибо!
Поворачивал сам объект, а надо было поворачивать Null Object.
Спасибо!
Парксисальная линза, но не совсем, она просто собирает весь свет, независимо от угла падения в фокус (или разводит из фокуса). Создал при помощи рассеяния, т.к. в User Object сложно сделать..
http://rapidshare.de/files/47881505/Paraxial_Scatter.rar.html
есть замечания - можно доделать, ради интереса. Заняло 15 минут всё дело.
Добавлено:
http://rapidshare.de/files/47881505/Paraxial_Scatter.rar.html
есть замечания - можно доделать, ради интереса. Заняло 15 минут всё дело.
Добавлено:
Цитата:
Парксисальная линза, но не совсем, она просто собирает весь свет, независимо от угла падения в фокус (или разводит из фокуса).
Круто, т.е если у нас вблизи фокуса линзы расположен слайд, то изображение будет представлять выжженную на экране дырку . Мне же нужно контролировать равномерность освещённости изображения на экране, т.е. создать хороший проектор со сменными объективами, которые заранее обладают хорошим качеством и подобраны правильно, т.е. их конструктивные параметры меня сильно не должны волновать, т.е. было бы желательно иметь параксиальную линзу.
Значит, действительно, у ASAP есть плюс в наличии параксиальной линзы, хотя ввод данных занимает больше времени.
Цитата:
Круто, т.е если у нас вблизи фокуса линзы расположен слайд, то изображение будет представлять выжженную на экране дырку . Мне же нужно контролировать равномерность освещённости изображения на экране, т.е. создать хороший проектор со сменными объективами, которые заранее обладают хорошим качеством и подобраны правильно, т.е. их конструктивные параметры меня сильно не должны волновать, т.е. было бы желательно иметь параксиальную линзу.
А последовательный режим Zemax чем не подходит??? Там ведь есть параксиальная линза...
Цитата:
А последовательный режим Zemax чем не подходит???
AGAIN
Цитата:
Мне же нужно контролировать равномерность освещённости изображения на экране
Ибо, зачем же ещё существует непоследовательный режим?
Можно иногда обойтись без NSC, приближённо зная угол охвата источника и диаграмму излучения, но у меня не всё так просто, т.к. есть несколько расположенных в пространстве источников с отнюдь не точечными телами излучения. Для отчёта ещё нужны картинки распределения, фотошопить которые я бы задолбался.
Цитата:
Ибо, зачем же ещё существует непоследовательный режим?
Можно иногда обойтись без NSC, приближённо зная угол охвата источника и диаграмму излучения, но у меня не всё так просто, т.к. есть несколько расположенных в пространстве источников с отнюдь не точечными телами излучения. Для отчёта ещё нужны картинки распределения, фотошопить которые я бы задолбался
1. Создаем источниками в непоследовательном режиме картину засветки слайда
2. Экспортируем в BMP
3. В последовательном режиме сразу за объектом ставим непоследовательный компонент Slide с нашей картинкой
4. При последовательных расчетах (напримет Image Simulation) ставим галку Use polarization, тогда учтет поглощение на слайде - картинка ниже.
наверное так.
Тем более для параксиального объектива углы особой роли игрпть не будут, и Stray Light тоже не имеет смысла... только пространсвенное распределеніе света от предмета.
Пример, представим что источники дают засветку в виде сетки в объекте, правда не параксиальные линзы здесь, но не важно. http://rapidshare.de/files/47890531/test.rar.html
Похоже, что я плохо описал вопрос.
Допустим, что схема создана кривым оптиком и представлена ниже
Пусть слайд освещён равномерно (чего конечно не будет). Экспорт слайда в BMP создаст только освещённость слайда, но сам то слайд не несёт информацию о дальнейшем пути лучей и мы будем иметь то, что поток, обозначенный штриховкой, уёдёт мимо проекционного объектива. На экране будет изображена часть слайда, которая заключёна между двумя ближайшими к оси кружками на слайде (см. картинка).
Короче, последовательный не уместен, т.к. изначально основан на том что (см.картинку ниже), чего у нас нет.
Или я не прав?
Допустим, что схема создана кривым оптиком и представлена ниже
Пусть слайд освещён равномерно (чего конечно не будет). Экспорт слайда в BMP создаст только освещённость слайда, но сам то слайд не несёт информацию о дальнейшем пути лучей и мы будем иметь то, что поток, обозначенный штриховкой, уёдёт мимо проекционного объектива. На экране будет изображена часть слайда, которая заключёна между двумя ближайшими к оси кружками на слайде (см. картинка).
Короче, последовательный не уместен, т.к. изначально основан на том что (см.картинку ниже), чего у нас нет.
Или я не прав?
Цитата:
Пусть слайд освещён равномерно (чего конечно не будет). Экспорт слайда в BMP создаст только освещённость слайда, но сам то слайд не несёт информацию о дальнейшем пути лучей и мы будем иметь то, что поток, обозначенный штриховкой, уёдёт мимо проекционного объектива. На экране будет изображена часть слайда, которая заключёна между двумя ближайшими к оси кружками на слайде (см. картинка).
То что он уйдет можно оценить и так, без обектива.
В любом случае объектив имеет входной угол (апертуру которую он пропустит), определяемый его апертурной диафрагмой, т.е. больше света он не возьмет. Т.о. разницы в последовательном и непоследовательном здесь нет, тем более линза параксиальная - посторонний свет ничего в ней не сделает ...
Т.е. в в последовательном мы имеем только тот свет, что попал в объектив. А что попало можем оценить и так - зная лишь диаметр объектива грубо..
хотя, возможно, я вас понимаю, информацию о яркости слайд не несет, только об освещенности.... т.е. разные области слайда могут излучать по углу неодинаково. В этом наверное и затык...
Всё же, какой должна быть парксиальная линза в непоследовательном режиме - пока не совсем понятно....
Цитата:
Всё же, какой должна быть парксиальная линза в непоследовательном режиме - пока не совсем понятно....
Что именно непонятно? В ASAP она ведь есть и ничем не лучше параксиальной линзы в последовательном режиме ZEMAX. Задаёшь фокусное, диаметр и всё работает по закону Z*Z'=-f'^2. А грубо оценивать сложно, т.к. стоящий перед источником конденсор простой и имеет большие аберрации пучка, а значит вносит большие изменения в равномерности строения пучка.
Да и как грубо оценивать, допустим один из вариантов моего конденсора, в качестве источника которого - диод с пластиковой насадкой - коллиматором, которая в свою очередь разделяет поток на две части со своей расходимостью, а из параметров мне известна толко сама 3D модель.
В ASAP напрягает программистский стиль введения данных, но с практикой к этому привыкаешь.
Впрочем, да ладно с ней, кому надо, тот и без неё обойдётся, но всё-таки не я один интересовался этим и параксиалка должна быть в NSC (см. выше обсуждение на сайте optima research)!
Цитата:
Что именно непонятно? В ASAP она ведь есть и ничем не лучше параксиальной линзы в последовательном режиме ZEMAX. Задаёшь фокусное, диаметр и всё работает по закону Z*Z'=-f'^2. А грубо оценивать сложно, т.к. стоящий перед источником конденсор простой и имеет большие аберрации пучка, а значит вносит большие изменения в равномерности строения пучка.
Да и как грубо оценивать, допустим один из вариантов моего конденсора, в качестве источника которого - диод с пластиковой насадкой - коллиматором, которая в свою очередь разделяет поток на две части со своей расходимостью, а из параметров мне известна толко сама 3D модель.
А поставить асферику с заданным фокусом вместо параксиальной линзы в NSQ режиме не подойдет разве?
Я так делал обычно раньше, а идея параксиальной линзы в голову не приходила как-то.
Кстати на форуме оптимы объясняют почему нельзя это сделать.
Цитата:
In NS mode rays can come from any source, at any angle, from either side, and computing the OPD is very hard as there may not even be conjugate positions.
Это одна из причин...
Насколько хорошо она работает в АСАП по закону Z*Z'=-f'^2 не знаю, мбо АСАП не использую, т.к. Zemax достаточно для большинства задач..
Тем более расстояние Z (от предмета до фокуса линзы) как с ними быть, откуда Zemax его будет знать для параксиальной линзы в непоследовательном режиме?
Если это однозначно - я просто могу вбить алгоритм в Dll для Zemax, но это не так просто... В последовательном положеніе предмета всегда явно...
Цитата:
А поставить асферику с заданным фокусом вместо параксиальной линзы в NSQ режиме не подойдет разве?
НЕТ, ибо, как известно, асферика на то и асферика, что позволяет получить точечное изображение только ОДНОЙ ТОЧКИ НА ОСИ. Для внеосевых точек изображение будет портиться ещё быстрее, чем в случае с простой сферической линзой. А слайд у меня большой и на краях мне даже страшно подумать что будет вместо изображения.
Цитата:
Тем более расстояние Z (от предмета до фокуса линзы) как с ними быть, откуда Zemax его будет знать для параксиальной линзы в непоследовательном режиме?
Уважаемый paparazzo, быстро идём учим МАТЧАСТЬ в разделе букваря "Расчёт хода луча через идеальную систему"!
Формулу Z*Z'=-f'^2 я привёл образно описывая действие линзы, а расчёт хода лучей проводится по формулам произвольных тангенсов:
Формула углов:
Формула высот:
Нам здесь нужна только формула углов, которую и надо вводить в DLL. Углы и высоты падения на поверхность можно извлечь из Земакса?
В Земаксе я только делал один макрос, а DLL пока обходился, так что вникать сил пока нет.
А объяснение на сайте оптимы мне просто смешно
Цитата:
In NS mode rays can come from any source, at any angle, from either side, and computing the OPD is very hard as there may not even be conjugate positions.
Значит по формуле n*sin(a)=n'*sin(a') углы преломления посчитать можно, а по формуле тангесов угол посчитать нельзя.
Цитата:
Уважаемый paparazzo, быстро идём учим МАТЧАСТЬ в разделе букваря "Расчёт хода луча через идеальную систему"!
Формулу Z*Z'=-f'^2 я привёл образно описывая действие линзы, а расчёт хода лучей проводится по формулам произвольных тангенсов:
Да, я это знаю. Просто не знал, как это реализовано в АСАП и формула Ньютона очень удивила. Хотя, матчасть мне учить нужно, наверное, все же.
Цитата:
Углы и высоты падения на поверхность можно извлечь из Земакса?
Да, конечно. В Dll об'екта Zemax мы получаем от Zemax направляющие косинусы и координаты луча падающего на поверхность. Но косинусы луча после мы отдать Zemax не можем, мы отдаём лишь вектор нормали к поверхности, на которой происходит преломление. Отсюда и сложности, т.е. для параксиальной линзы нужно вводить фиктивные поверхности с нормалями, чтоб получить нужные нам углы, согласно приведенным вами формулам.
В той модели что я использовал, рассеяние, мы отдаем Zemax непосредственно косинусы. Поэтому, таким образом, работать будет.
Добавлено:
Цитата:
Значит по формуле n*sin(a)=n'*sin(a') углы преломления посчитать можно, а по формуле тангесов угол посчитать нельзя.
Можно, просто непоследовательный режим весь построен так, что преломление на поверхности идет именно по формуле n*sin(a)=n'*sin(a'). Возможно им просто неудобно код переделывать.
Я с этим столкнулся уже, когда просил добавить простейшую вещь, реализованную в LightTools.
Добавлено:
Кстати, интересно, что в пользовательском объекте последовательного режима, есть отдельная функция (отдаваемая Zemax) для расчета параксиального хода луча. Более того, там пользователь считает преломление луча. В непоследовательном же решили, что достаточно реального преломления. Это моё ИМХО, на основе кода пользовательских об'ектов.
Цитата:
В той модели что я использовал, рассеяние, мы отдаем Zemax непосредственно косинусы. Поэтому, таким образом, работать будет.
Если это ещё будет работать как надо, а не как концентратор в точку всего и всея отовсюду (см. рис) и была бы возможностью менять фокус линзы, то было бы хорошо.
Кстати, если быть точным, что касается реальных лучей - закон преломления не n*sin(a)=n'*sin(a'), если быть точным, а N x (n2*a2-n1*a1)=0
Где N - вектор нормали к поверхности, a2 - вектор луча после поверхности, a1 - вектор луча до поверхности, n1, n2 - показатели преломления.
Как формулу тангенсов подвести по это дело, я не знаю. Она вводилась для осесимметричных систем, одномерного случая. Мозг уже не соображает, сорри...
Добавлено:
Цитата:
Да, я знаю, но нужна формула для пересчета углов в общем виде, не одномерном.
Где N - вектор нормали к поверхности, a2 - вектор луча после поверхности, a1 - вектор луча до поверхности, n1, n2 - показатели преломления.
Как формулу тангенсов подвести по это дело, я не знаю. Она вводилась для осесимметричных систем, одномерного случая. Мозг уже не соображает, сорри...
Добавлено:
Цитата:
Если это ещё будет работать как надо, а не как концентратор в точку всего и всея отовсюду (см. рис) и была бы возможностью менять фокус линзы, то было бы хорошо.
Да, я знаю, но нужна формула для пересчета углов в общем виде, не одномерном.
Короче, ZEMAX
Только из-за отсуствия параксиальной линзы?
То же самое можно про ASAP сказать.
То же самое можно про ASAP сказать.
Я пробовал Trace Pro и LightTools, которые в освоении проще, но от работы в них меня .
ASAP более открыт для меня, правда пришлось с ним помучаться в освоении и при продолжительном отсутствии работы навык в нём теряется быстрее.
А ZEMAX - классика
ASAP более открыт для меня, правда пришлось с ним помучаться в освоении и при продолжительном отсутствии работы навык в нём теряется быстрее.
А ZEMAX - классика
Цитата:
Я пробовал Trace Pro и LightTools, которые в освоении проще, но от работы в них меня .
ASAP более открыт для меня, правда пришлось с ним помучаться в освоении и при продолжительном отсутствии работы навык в нём теряется быстрее.
А ZEMAX - классика
Возможно и так.
а в справке ASAP есть формулы по какім рассчитывается ход луча в параксиальной линзе?
Цитата:
а в справке ASAP есть формулы по какім рассчитывается ход луча в параксиальной линзе?
Нет, т.к это всего лишь одна из функций из тысячи их. А если сообразить, то в пространстве ход лучей рассчитывается также по формуле углов, но только нужно раскладывать луч на две проекции X и Y, т.е. будет две высоты и два угла между плоскостями. Или тут нужна векторная форма? Я думаю, что тоже можно сообразить.
А большой плюс у Земакса существует - поддержка многоядерности, причём уже давно, когда ещё это была многопроцессорность.
Последней версии Асапа у меня нет, но в версии 7.5 её ещё не было (наверное и сейчас нет - надо проверить), т.е. у Асапа всегда задейтвовано только одно ядро и Земакс работает в 2 или 4 раза быстрее, в зависимости от процессора. В Асапе есть прикол - можно выбрать рабочее ядро, что ничего правда не даёт, т.к. ядра работают одинаково.
Цитата:
А большой плюс у Земакса существует - поддержка многоядерности, причём уже давно, когда ещё это была многопроцессорность.
Последней версии Асапа у меня нет, но в версии 7.5 её ещё не было (наверное и сейчас нет - надо проверить), т.е. у Асапа всегда задейтвовано только одно ядро и Земакс работает в 2 или 4 раза быстрее, в зависимости от процессора. В Асапе есть прикол - можно выбрать рабочее ядро, что ничего правда не даёт, т.к. ядра работают одинаково.
Есть такая штука У меня работает 8-мь ядер. Очень впечатляет.
Для меня достоинства Zemax - простой неперегруженный интерфейс, скорость работы, широкие возможности для пользователя: макроязык, возможность в виде Dll задавать источники, объекты, поверхности, рассеяние, диффракцию и т.п.
Причем макросы можно пихать куда угодно - в оптимизатор, в picup, в solves.
Т.е. я чувствую себя свободно с Zemax, непоняток нет.
Цитата:
Нет, т.к это всего лишь одна из функций из тысячи их. А если сообразить, то в пространстве ход лучей рассчитывается также по формуле углов, но только нужно раскладывать луч на две проекции X и Y, т.е. будет две высоты и два угла между плоскостями. Или тут нужна векторная форма? Я думаю, что тоже можно сообразить.
По моему кто-то мне из этого форума присылал куски мануала ASAP по поводу рассения, там все расписано с формулами...
Суть такова - Zemax дает мне направляющие косинусы луча, его координаты на поверхности, я должен отдать ему косинусы луча после поверхности. Всё! Остальное расчёт, любой алгоритм для их расчета на языке С.
Ориентация луча может быть произвольной, это не последовательный режим, где луч обычно лежит в плоскости оптической оси. Общий случай нужен, т.е. векторы наверное.
Сообразил, бинго, все элементарно.
работает параксиальная линза в непоследовательном Zemax.
Пример
http://rapidshare.de/files/47901524/paraxial_scatter.rar.html
По крайней мере изображения объектов строит
Используется dll рассеяния, поместить её в папку Zemax\Objects\DLL\SurfaceScatter\
Велина фокуса задается на вкладке coat\scatter
При расчетах должна быть активирована галка "Scatter rays", или соответсвующий флаг.
работает параксиальная линза в непоследовательном Zemax.
Пример
http://rapidshare.de/files/47901524/paraxial_scatter.rar.html
По крайней мере изображения объектов строит
Используется dll рассеяния, поместить её в папку Zemax\Objects\DLL\SurfaceScatter\
Велина фокуса задается на вкладке coat\scatter
При расчетах должна быть активирована галка "Scatter rays", или соответсвующий флаг.
Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
Предыдущая тема: LogMeIn Hamachi
Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.