Здравствуйте, гость ( Вход | Регистрация )



Гостевой доступ к форуму из Москвы: Телефоны: +7(495)7859696,7376201,7376233,7868796,7390241 Login: demo Password: demo
6 страниц V < 1 2 3 4 > »   
ОтветитьСоздать новую тему
> САПР: AutoCAD 2002, 2004, SolidWorks 2006, Системы автоматизированного проектирования
dron
сообщение Sep 17 2006, 20:19
Сообщение #21


Постоянный пользователь
****

Группа: Новички
Сообщений: 380
Регистрация: 2-June 06
Из: Южное Бутово
Пользователь №: 413
Заходит на форум с гостевика.



Большое спасибо за информацию и решение задачи, мне хочется в это детально вникнуть и потом воплотить в реальности.
В AutoCade работал давно, а с оптикой сейчас только столкнулся для науки. Zemax только начал изучать, нет ли у Вас хорошего
описания на русском. Я скачал, но там нет некоторых глав.
Извините, если что не так. Успехов Вам.


--------------------
Пользователь offlineПрофайлОтправить личное сообщение
Вернуться к началу страницы
+Цитировать сообщение
drusha
сообщение Sep 18 2006, 16:52
Сообщение #22


Постоянный пользователь
*****

Группа: Новички
Сообщений: 520
Регистрация: 16-June 06
Пользователь №: 431
Заходит на форум с гостевика.



У меня точно та же документация (без нескольких глав), что и у Вас. По всему видно, перевод довольно доморощенный, и переведено только то, что переводчик счёл нужным. Я и сам хорошо знаю, сколько "воды" обычно собержится в официальной документации. Впрочем, хелп на английском тоже есть.

Для моей системы эта задача дала импульс к развитию. Сейчас как-то некогда, но когда руки дойдут, то я обязательно просчитаю этот триплет на плоское поле и отсутствие астигматизма (по крайней мере, 2-го порядка). Подвижки есть, но эти результаты тоже довольно промежуточные. Я даже не знаю, что лучше, дорабатывать программу и автоматизировать поиск, или найти всё вручную... Может, вручную даже и проще, и давно было бы готово, но меня лично интересует не эта конкретная система, а общая возможность находить оптимальные решения в рамках такой-то схемы. Но не всё так просто. Мало того что целевая функция оптимизации (т.е. зависимость критерия оптимизации от варьируемых параметров) нелинейная, негладкая (а возможно и не везде непрерывная), с непонятным количеством локальных минимумов, но реально ещё действуют ограничения... Которые выявляются уже в процессе (когда процесс оптимизации ведёт к абсурду). Вручную - то сразу всё ясно, а как это объяснить программе? Но тем не менее. Интуиция и практика (правда, чужая, не моя) показывает, что решение - есть. Но это - про триплет. А меня как-то больше интересуют другие системы...


--------------------
Теперь всё, я сюда больше не приду. Никогда.
Пользователь offlineПрофайлОтправить личное сообщение
Вернуться к началу страницы
+Цитировать сообщение
ismolnik
сообщение Sep 19 2006, 08:39
Сообщение #23


Суперадмин =)
Group Icon

Группа: Advanced
Сообщений: 2 107
Регистрация: 29-August 05
Из: ЗАО
Пользователь №: 107
Заходит на форум с полного инета.



О zemax подробнее


--------------------
This message written with recycled electrons. MSU
Пользователь offlineПрофайлОтправить личное сообщение
Вернуться к началу страницы
+Цитировать сообщение
drusha
сообщение Sep 19 2006, 17:15
Сообщение #24


Постоянный пользователь
*****

Группа: Новички
Сообщений: 520
Регистрация: 16-June 06
Пользователь №: 431
Заходит на форум с гостевика.



Ну, есть такая программа для расчёта оптических систем.
Оптическая система в ней представляется как последовательность описаний поверхностей. Для этого представляется такая таблица, каждая строка которой представляет некую поверхность. Они идут в том порядке, как их проходит свет. Первая поверхность - встроенная, особого типа "Объект" (OBJ), а последняя - "Изображение" (IMG). Между ними обычно располагается не менее одной рабочих поверхностей. Одна из который имеет свойство (и имя по умолчанию) "Stop" - это апертурная диафрагма. Физически поверхность соответствует границе двух сред, либо это "MIRROR" - зеркало.

Для каждой поверхности указывается апертура, тип, радиус кривизны и другие параметры (в зависимости от типа), а так же толщина и материал (если эта поверхность зеркальная, то MIRROR - это как бы такой материал). Обычно материал (стекло) указывается как условное имя - ссылка в некоторый каталог стёкол. Толщина имеется в виду по центру - до следующей поверхности, а материал - который идёт после неё. Если материал не указан, то это считается воздух. Радиус кривизны >0 для выпуклых, <0 для вогнутых, Infinite для плоскости... Толщины тоже могут быть Infinite - например, обычно такая толщина у OBJ (когда от объекта до центра первой поверхности первой линзы - бесконечность). После прохождения зеркала все толщины и радиусы надо указывать с обратным знаком. Но если количество зеркал чётно, то эти знаки восстанавливаются.

Понятия отдельной "линзы" там нет. Но обычно линза (в физическом понимании) описывается как две поверхности, материал и толщина относится к первой из них. Но вторая поверхность не обязана быть переходом в воздух: она может описывать место склейки (для клеенных блоков) И вообще, количество преломляющих поверхностей может быть нечётно, а объект или изображение ме обязан находиться в воздухе (вакууме), а может оказаться в некоторой "среде"). Ведь и на самом деле бывают же микроскопы с маслянной иммерсией и т.п. Но при графическом отображении системы на чертеже (схеме) ZEMAX считает, что две последовательные поверхности (кроме OBJ и IMG), если для первой из них задан материал (не воздух), то это линза, так он её и рисует.

Есть там каталоги стёкол, которые можно редактировать, типы поверхностей (кроме стандатрных (PLANE SPHERIC CONIC PARAXIAL...) есть практически любая асферика, анаморфные поверхности, подключаемые через DLL...).
Когда модель системы как-то введена, её можно анализировать, оптимизировать и т.п. Есть средства графического отображения (на плоскости, в объеме, в тенях...), экспорта в разные САПР типа AutoCAD (любая система, которая понимает DXF, IGS и т.п. может импортировать этот чертёж)

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

Дря оптимизации надо указать, какими параметрами можно варьировать. Это могут быть толщины, радиусы кривизны, другие параметры... В результате должна получиться оптимизированная система.

Такие, вот, дела.


--------------------
Теперь всё, я сюда больше не приду. Никогда.
Пользователь offlineПрофайлОтправить личное сообщение
Вернуться к началу страницы
+Цитировать сообщение
dron
сообщение Sep 19 2006, 18:13
Сообщение #25


Постоянный пользователь
****

Группа: Новички
Сообщений: 380
Регистрация: 2-June 06
Из: Южное Бутово
Пользователь №: 413
Заходит на форум с гостевика.



Купил Acad 2006 пишет опять Fatal Error
Че делать?


--------------------
Пользователь offlineПрофайлОтправить личное сообщение
Вернуться к началу страницы
+Цитировать сообщение
vicbir
сообщение Sep 19 2006, 20:13
Сообщение #26


Новичок
*

Группа: Новички
Сообщений: 44
Регистрация: 30-August 05
Пользователь №: 112
Заходит на форум с гостевика.



можь памяти не хватает?


--------------------
Всё проходит ...
Пользователь offlineПрофайлОтправить личное сообщение
Вернуться к началу страницы
+Цитировать сообщение
drusha
сообщение Sep 19 2006, 21:14
Сообщение #27


Постоянный пользователь
*****

Группа: Новички
Сообщений: 520
Регистрация: 16-June 06
Пользователь №: 431
Заходит на форум с гостевика.



Нет такого понятия "памяти не хватает" У неня на 64 мегах нормально пашет. Просто комп такой. Может, память дефектная... Или разогнан быстрее чем надо... Кстати, АКАД сильно грузит сопроцессор (FPU). А комп что за? Камень какой? Intel? AMD?


--------------------
Теперь всё, я сюда больше не приду. Никогда.
Пользователь offlineПрофайлОтправить личное сообщение
Вернуться к началу страницы
+Цитировать сообщение
drusha
сообщение Sep 21 2006, 16:32
Сообщение #28


Постоянный пользователь
*****

Группа: Новички
Сообщений: 520
Регистрация: 16-June 06
Пользователь №: 431
Заходит на форум с гостевика.



Долизав многопараметрическую оптимизацию, и заменив обычный (довольно быстрый, но ориентированный на более-менее непрерывные и гладкие зависимости, которые не очень адекватны реальности) метод оптимизации (типа "наискорейшего спуска" против градиента с однопараметрической оптимизацией вдоль антиградиента) на более медленный, но "вездеходный" метод поиска оптимума (ближе к случайному поиску, вернее, с автовыбором шага), а так же введя в свою модель доплнительные варьируемые параметры (не только расстояние между линзами, но и радиусы кривизны второй поверхности положительных линз) я получил-таки решение для триплета-АНАСТИГМАТА С ПЛОСКИМ ПОЛЕМ!!!. Компьютер гудел всю ночь, старательно отрисовывая ход лучей на каждой итерации... Но к утру выдал результат.

Можете проверить на ZEMAXе. Сам я не настолько с ним разобрался, чтобы оптимизить с помощью ZEMAXa, а ввёл только готовые данные полученные на моей программе. Даные для него прилагаю как код. Технология та же. Копипастим текст в любой текстовый редактор (хоть в Notepad), сохраняем как файл с расширением .ZMX... Я полагаю, что стекло LZ_AAB у Вас уже заведено (см. мой прошлый пост с кодом, где я объяснял, как это делать), и показатель преломнения там 2.4 по всем цветам.

Если c этим какие-то проблемы, то вот данные по-человечески для ручного ввода в ZEMAX.
- Передний отрезок (расстояние от плоскости объекта до вершины передней линзы) = 99.805 мм
- Первая линза выпукло-вогнутая (мениск) - положительная
- - Радиус кривизны первой поверхности = 37.9763 мм (поверхность выпуклая)
- - Толщина по центру = 4.68265 мм
- - Радиус апертуры = 13.76 мм (на самом деле можно взять 14-18 мм - это будет с запасом на поле зрения)
- - Радиус кривизны второй поверхности = 200.933 мм (поверхность слабо-вогнутая)
- - Показатель преломления n = 2.4
- Воздушный промежуток по центру между первой и второй линзами = 8.1947 мм
- Вторая линза двояко-вогнутая, симметричная
- - Радиусы кривизны первой поверхности = -53.7834 мм (поверхность вогнутая)
- - Толщина по центру = 2.81 мм (на самом деле можно менять в широких пределах, скажем, от 2 до 5 мм - допуск тут большой)
- - Радиус апертуры = 10.5 мм. На первой поверхности можно поставить апертурную диафрагму радиусом 10.13 мм)
- - Радиус кривизны второй поверхности = 53.7834 мм (поверхность вогнутая)
- - Показатель преломления n=2.4
- Второй воздушный промежуток, как и первый = 8.1947 мм по центру
- Третья линза в точности повторяет первую, но перевёрнута наоборот
- - Радиус кривизны первой поверхности = -200.933 мм (поверхность слабо-вогнутая)
- - Толщина по центру = 4.68265 мм
- - Радиус апертуры = 13.76 мм (на самом деле можно взять 14-18 мм - это будет с запасом на поле зрения)
- - Радиус кривизны второй поверхности = -37.9763 мм (поверхность выпуклая)
- - Показатель преломления n = 2.4
- Задний отрезок (расстояние от вершины последней поверхности последней линзы до изображения) = 99.805 мм
Порядок следования поверхностей и знаки радиусов кривизны даны по ходу луча, т.е. как они вводятся в ZEMAX. Передний отрезок соответствует "толщине" (Thickness) для объекта, а задний отрезок - "толщине" последней поверхности. Материал LZ_AAB, для которого должен быть характерен показатель преломления Index Nd=2.4 указывается для тех поверхностей, для за которыми следует соответствующая линза. Для воздушных промежутков материал просто не указывается. Апертурная диафрагма - это поверхность со свойством "Stop" (STO).


Это по-прежнему симметричный триплет. Он строит изображение в масштабе 1:1 при заднем отрезке около 100 мм (точнее, у меня выходит 99.805 мм). Длина всей системы (от предмета до изображения) составляет 228.174 мм. Конечно, он может работать для других масштабов проекции (думаю, что для масштабов от 1:2 до 2:1 сойдёт вполне, хотя пока не проверял), но наиболее точная коррекция аберраций расчитана именно на масштаб 1:1. В этом режиме он имеет числовую апертуру 0.124 (что соответствует отн. отверстию 1:4). Но это именно при таком масштабе проекции. Если использовать его как фотообъектив, то есть, для фокусировки из бесконечности (или для проекции на бесконечность), то у него будет фокус около 50 мм, а отн. отверстие около 1:2, но оптимизация на коррекцию аберраций была выполнена не для этого режима (там может вылезти сферическая аберрация 2-го порядка), а именно для макро-проекции в масштабе 1:1.

Разумеется, он апланат, имеет нулевую дисторсию... Правда, сферическая аберрация четвёртого порядка там оказалась раза в 4 больше, чем получалась без оптимизации на плоское поле и астигматизм. Се ля ви. За всё надо платить. Либо тебе лампочка, либо маслице! Именно поэтому выбрана апертура 0.124 (т.е. отн. отверстие 1:4) а не больше. В общем и в целом, при расстояниях объект-первая линза и третья линза-изображение (которые равны в силу симметрии) около 100 мм кружок рассеяния получается в диаметре менее 0.1 мм (точнее, 0.084 мм в центре и 0.097 мм в 10 мм от оси, то есть, на краю поля зрения диаметром 20 мм). По всей видимости (если остаточные аберрации по полю имеют 4-й порядок, поскольку нечётные порядки в силу симметрии подавлены на корню) более-менее сносное поле зрения следует ожидать вплоть до 25-30 мм...

Следует заметить, что типовые величины (диаметры, фокусное расстояние, оптическая сила... данного объектива соответствует параметрам фотографического объектива F=50мм с "дыркой" 1:2, что для триплета было бы весьма круто (обычно "триплеты" и даже "индустары" (они же "тессары", "эльмары") делают c "дырками" 1:2.8 - 1:4, что позволило бы уменьшить сферическую 4-го порядка в 5.6-32 (!!!) раза). А при таких параметрах его разрешающую способность можно было бы оценить в 23/20 лин/мм (это по центру/краю при требовании к передаче контраста не менее 50%), а для аналогичной фотографической оптики (F 50 1:2 в режиме фокусировки из бесконечности) это соответствовало бы 46/40 лин/мм, что соответствует очень хорошему ширпотребу (примерно такие характеристики имеет "зенитовский" фотообъектив "МС Индустар-61 ЛЗ" при 2.8/50). Но тут у нас нет заморочек с хроматизмом, поэтому так оказалось возможно (реально, когда надо давить хорматизм, ситуация только хуже). Это я к тому, что по-видимому для объектива схемы "триплет" лучших характеристик достичь, скорее всего, не удастся. Тогда уж надо переходить к другой схеме (типа "Петцваль" (4 линзы), "Гелиос" (6 линз) и т.п.) или же вводить асферику хотя бы на одной из поверхностей. А для качественного подавления хроматизма (если это актуально) применяются особые стёкла (флюорит, особые кроны типа ОК-4, даже в ширпотребовском фотообъективе "Индустар-61" применено лантановое стекло, а схема "индустар" - это слегка модифицированный триплет, у которого задняя линза заменена на склейку из двух линз).

Кстати, весь этот триплет можно смасштабировать раза в 2-3 и даже в 4 раза (в сторону уменьшения). Тогда пропорционально уменьшатся линейные размеры всех кружков рассеяния (по центру, по полю), но и линейный размер поля зрения - тоже (а в угловом выражении останутся как и были). Дифракция в линейном выражении при этом останется прежней, а в угловом - пропорционально увеличится, поэтому масштабировать более чем в 3-4 раза бессмысленно. Кружок рассеяния от аберраций тогда уже просто утонет в дифракционном кружке, и дальнейшее масштабирование не даст никакого эффекта кроме уменьшения размера полезного поля зрения. Когда при формировании пятна рассеяния доминирует дифракция, то такая оптика считается "дифракционно ограниченной". То есть, это называется "приехали" - более высокого качества на этой длине волны достичь не удастся (можно только за счёт уменьшения длины волны - то есть переходя из ИК диапазона в видимый, а из видимого в УФ..., кстати, на этом основана технология "блю рэй", когда инфракрасные лазеры уже не справляются...).

Короче, так. Если считать, что полезное поле зрения этого проекционного объектива, как он есть, в данном случае составляет не менее 70-75 мм в диаметре (на нём обеспечивается кружок рассеяния не более 0.1 мм), а оптоволоконный жгут, положим, имеет сечение 20 мм в поперечнике (такой же размер имеет матрица, на которую его нужно спроецировать, так что больше нам просто не надо), то уменьшаем всё пропорционально в 3-4 раза (диаметры, толщины, расстояния и радиусы кривизны - со всеми потрохами). Тогда, по идее, все кружки рассеяния (в центре поля, по краю) уменьшатся до 0.025-0.03 мм и тогда они заведомо утонут в дифракционном кружке, который будет доминировать (поскольку при данной длине волны дифракция уже существенна, и при постоянной числовой апертуре (отн. отверстии) она остаётся на одном уровне). Всё вместе у нас по-любому надёжно уложится в кружок диаметром 0.1 мм.

Итак, я полагаю, задача решена.
Ещё Вы можете сами поиграться с разными масштабами увеличения. Так, например, не меняя конструкции объектива (т.е. диаметров, толщин, радиусов кривизны у поверхностей линз, а так же расстояний между ними) приблизить его к объекту всего на 25 мм (и тогда передний отрезок окажется не 100, а 75 мм), то задний отрезок (до изображения) должен составить около 150 мм, а масштаб изображения должен стать 2:1 (двухкратное увеличение). Длина всей системы (от объекта до изображения) при этом увеличится всего на 25 мм. Аналогично можно отодвинуть объектив от объекта на 50 мм (передний торезок тогда станет 150 мм, а задний 75 мм), и тогда масштаб окажется 1:2 (двухкратное уменьшение). А какие при этом будут аберрации... Если надо, то могу посмотреть! Возможно, что уложатся в наши рамки. А если нет, то можно расчитать этот объектив, скажем, на масштаб 1:1.42 или 1.42:1 (что эквивалентно), чтобы именно в таком режиме обеспечивалась наилучшая коррекция аберраций. Тогда на масштабе 1:1 и на 1:2 - 2:1 начнут появляться некоторые аберрации, но они, положим (что, впрочем, тоже надо проверить) окажутся в допустимых пределах. Кстати, в фотографической оптике именно так расчитываются объективы с маркировкой "Макро" (например, "МС Волна-9 Макро" под "Зенит"). Для них наиболее "родным" является некий промежуточный макро-режим (например, съёмка изблизи в масштабе 1:4), а в некоторых пределах (напрмер, в масштабах от 1:2 до нуля, то есть, при съёмке далёких объектов) аберрации находятся в допустимых пределах.

Итак, ZMX
Код

VERS 30106 48
MODE SEQ
NAME Projective symmetric triplet for IR fiberglass
NOTE 1 Uses special glass named as LZ_AAB saved in LZOS catalog
NOTE 2  All lenses made by this glass. It is special glass Zink-Selen for infrared
NOTE 3  (IR) diapason. Means monochrome IR laser light ft wave 10.6 mkm
UNIT MM NW NWC
FLOA
PUPD 15.1071 29.8101
GFAC 0 0
GCAT Schott LZOS
RAIM 1.0E-8 0 1 1 0 0
PUSH 0.000000000000E+000 0.000000000000E+000 0.000000000000E+000 0
SDMA 0.000000000000E+000 1 0.000000000000E+000
FTYP 3 0
ROPD 2
PICB 1
XFLD 0.000000000000E+000 5.000000000000E+000 1.000000000000E+001 1.500000000000E+001 2.000000000000E+001 2.500000000000E+001
YFLD 0.000000000000E+000 0.000000000000E+000 0.000000000000E+000 0.000000000000E+000 0.000000000000E+000 0.000000000000E+000
FWGT 1.000000000000E+000 1.000000000000E+000 1.000000000000E+000 1.000000000000E+000 1.000000000000E+000 1.000000000000E+000
WAVL 5.550000000000E-001
WWGT 1.000000000000E+000
PWAV 1
POLS 1 0.000000000000E+000 1.000000000000E+000 0.000000000000E+000 0.000000000000E+000 1
GLRS 3
GSTD 0 100.00000 100.00000 100.00000 100.00000 100.00000 100.00000 0
NSCD 100 500 0.000000000000E+000 1.000000000000E-006 5 1.000000000000E-006 1 0 0 0 0.000000000000E+000 0
COFN COATING.DAT SCATTER_PROFILE.DAT ABG_DATA.DAT
SURF 0
  COMM OBJECT PLANE
  TYPE STANDARD
  CURV 0.000000000000E+000 0 0.000000000000E+000 0.000000000000E+000
  DISZ 9.980500000000E+001
  DIAM 2.505071442179E+001 0 0
  POPS 0 0 0 0 0 0 0 0 1 1 1.000000000000E+000 1.000000000000E+000
SURF 1
  COMM FIRST LENS MENISK
  TYPE STANDARD
  CURV 2.633221245882E-002 0 0.000000000000E+000 0.000000000000E+000
  SLAB 1
  DISZ 4.682650000000E+000
  GLAS LZ_AAB 0 0 1.50000000 40.00000000 0.00000000 0 0 0 0.00000000 0.00000000
  DIAM 1.376000000000E+001 1 0
  POPS 0 0 0 0 0 0 0 0 1 1 1.000000000000E+000 1.000000000000E+000
  FLAP 0.000000000000E+000 1.376000000000E+001
SURF 2
  COMM BACK OF FIRST
  TYPE STANDARD
  CURV 4.976783305878E-003 0 0.000000000000E+000 0.000000000000E+000
  SLAB 2
  DISZ 8.194700000000E+000
  DIAM 1.376000000000E+001 1 0
  POPS 0 0 0 0 0 0 0 0 1 1 1.000000000000E+000 1.000000000000E+000
  FLAP 0.000000000000E+000 1.376000000000E+001
SURF 3
  COMM MIDDLE LENS MINUS
  STOP
  TYPE STANDARD
  CURV -1.859309749848E-002 0 0.000000000000E+000 0.000000000000E+000
  DISZ 2.810000000000E+000
  GLAS LZ_AAB 0 0 1.50000000 40.00000000 0.00000000 0 0 0 0.00000000 0.00000000
  DIAM 1.012000000000E+001 1 0
  POPS 0 0 0 0 0 0 0 0 1 1 1.000000000000E+000 1.000000000000E+000
  FLAP 0.000000000000E+000 1.012000000000E+001
SURF 4
  COMM BACK OF MIDDLE
  TYPE STANDARD
  CURV 1.859309749848E-002 0 0.000000000000E+000 0.000000000000E+000
  SLAB 3
  DISZ 8.194700000000E+000
  DIAM 1.050000000000E+001 1 0
  POPS 0 0 0 0 0 0 0 0 1 1 1.000000000000E+000 1.000000000000E+000
  FLAP 0.000000000000E+000 1.050000000000E+001
SURF 5
  COMM THIRD LENS MENISK
  TYPE STANDARD
  CURV -4.976783305878E-003 0 0.000000000000E+000 0.000000000000E+000
  SLAB 4
  DISZ 4.826500000000E+000
  GLAS LZ_AAB 0 0 1.50000000 40.00000000 0.00000000 0 0 0 0.00000000 0.00000000
  DIAM 1.376000000000E+001 1 0
  POPS 0 0 0 0 0 0 0 0 1 1 1.000000000000E+000 1.000000000000E+000
  FLAP 0.000000000000E+000 1.376000000000E+001
SURF 6
  COMM BACK OF THIRD
  TYPE STANDARD
  CURV -2.633221245882E-002 0 0.000000000000E+000 0.000000000000E+000
  SLAB 5
  DISZ 9.980500000000E+001
  DIAM 1.376000000000E+001 1 0
  POPS 0 0 0 0 0 0 0 0 1 1 1.000000000000E+000 1.000000000000E+000
  FLAP 0.000000000000E+000 1.376000000000E+001
SURF 7
  COMM IMAGE PLANE
  TYPE STANDARD
  CURV 0.000000000000E+000 0 0.000000000000E+000 0.000000000000E+000
  DISZ 0.000000000000E+000
  DIAM 1.000000000000E+001 1 0
  POPS 0 0 0 0 0 0 0 0 1 1 1.000000000000E+000 1.000000000000E+000
BLNK
TOL TOFF   0   0              0              0   0
MNUM 1
MOFF   0   1 "" 0 0 0 1 1 0.0 0.0


Результат конечный, окончательный и обжалованию не подлежит. Можно начинать шлифовать, полировать, заказывать токарку...

А вот то же самое в формате ".LNZ". Его надо загружать командой-функцией OPLOAD в моей махарайке под AutoCADом.
Положим, этот текст мы скопипастили и сохранили под именем TRIPLET.LNZ (на самом деле в текстовом формате)
Вот диалог с AutoCADом (предполагается, что мой комплекс программ OPTIC (.LSP, .MNU, .MNL ...) уже установлен и загружен)

Command: OPLOAD

Имя файла для загрузки [Drawing1.lnz]: TRIPLET

C:OP_GRP_CHK: GRP_CHECKED
C:OPRIZMDR:
END OF REDRAWING
C:OPREDRAW:
END OF REDRAWING
C:OPCLEARTR:
LOADED

Command: ...
Код

(setq optela nil)
(setq
opcolors
(quote
  ("Red" "Green" "Blue" "Magenta")
)
)
(setq
oppovtyp
(quote
  (P S C K A H E)
)
)
(setq
opglasses
(quote
  (("CElen" 2.399999999999999E+00 2.399999999999999E+00 2.399999999999999E+00 2.399999999999999E+00)
   ("K8" 1.512890000000000E+00 1.516799999999999E+00 1.522829999999999E+00 1.530240000000000E+00)
   ("KBSc20" 1.507600000000000E+00 1.509999999999998E+00 1.515649999999999E+00 1.520159999999999E+00)
   ("KSc7" 1.512199999999999E+00 1.514699999999999E+00 1.520690000000000E+00 1.525500000000000E+00)
   ("Kc12" 1.515500000000000E+00 1.518100000000000E+00 1.524289999999997E+00 1.529279999999999E+00)
   ("KFc49" 1.523179999999999E+00 1.526200000000000E+00 1.533500000000000E+00 1.539480000000000E+00)
   ("KBLc21" 1.527600000000000E+00 1.530199999999998E+00 1.536369999999998E+00 1.541319999999998E+00)
   ("KBc17" 1.537220000000000E+00 1.539900000000000E+00 1.546269999999998E+00 1.551420000000000E+00)
   ("KBc6" 1.569669999999999E+00 1.572599999999999E+00 1.579620000000000E+00 1.585299999999999E+00)
   ("FLc16" 1.574310000000000E+00 1.578300000000000E+00 1.588179999999999E+00 1.596470000000000E+00)
   ("KHc24" 1.609510000000000E+00 1.612600000000000E+00 1.619969999999999E+00 1.625899999999997E+00)
   ("Fc8" 1.608139999999997E+00 1.612899999999998E+00 1.624740000000000E+00 1.634819999999999E+00)
   ("Fc3" 1.619240000000000E+00 1.624200000000000E+00 1.636619999999999E+00 1.647219999999999E+00)
   ("FHc18" 1.747320000000000E+00 1.754999999999999E+00 1.774750000000000E+00 1.792049999999997E+00)
  )
)
)
(setq
opparamlns
(quote
  (("l3"
    (LIST
     (* M_A S_1)
     0.000000000000000E+00
     0.000000000000000E+00
    )
    (-1.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00)
    "CYLINDR"
    "CENTER"
    D_0
    D_0
    (* M_A TH_1)
    nil
    nil
    0.000000000000000E+00
    0.000000000000000E+00
    0.000000000000000E+00
    0.000000000000000E+00
    0.000000000000000E+00
    0.000000000000000E+00
    0.000000000000000E+00
    0.000000000000000E+00
    0.000000000000000E+00
    (*
     M_A
     (*
      R_1
      (+ V_1 1.000000000000000E+00)
     )
    )
    nil
    1.000000000000000E+00
    nil
    (IF
     (<
      (ABS V_1)
      7.099999999999999E-06
     )
     0.000000000000000E+00
     (ABS
      (*
       M_A
       R_1
       (/
        (+ 1.000000000000000E+00 V_1)
        V_1
       )
      )
     )
    )
    nil
    (IF
     (<
      (ABS V_1)
      7.099999999999999E-06
     )
     0.000000000000000E+00
     (IF
      (< V_1 0.000000000000000E+00)
      -1.000000000000000E+00
      1.000000000000000E+00
     )
    )
    nil
    (2.399999999999999E+00 2.399999999999999E+00 2.399999999999999E+00 2.399999999999999E+00)
    "TRANSPARENT"
    "TRANSPARENT"
    "BLACK"
    "BLACK"
    "BLACK"
    "BLACK"
    "BLACK"
    "BLACK"
   )
   ("l2"
    (LIST
     (*
      M_A
      (* TH_2 -5.000000000000000E-01)
     )
     0.000000000000000E+00
     0.000000000000000E+00
    )
    (1.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00)
    "CYLINDR"
    "CENTER"
    D_0
    D_0
    (* M_A TH_2)
    nil
    nil
    0.000000000000000E+00
    0.000000000000000E+00
    0.000000000000000E+00
    0.000000000000000E+00
    0.000000000000000E+00
    0.000000000000000E+00
    0.000000000000000E+00
    0.000000000000000E+00
    0.000000000000000E+00
    (* M_A R_2)
    nil
    -1.000000000000000E+00
    nil
    (* M_A R_2)
    nil
    -1.000000000000000E+00
    nil
    (2.399999999999999E+00 2.399999999999999E+00 2.399999999999999E+00 2.399999999999999E+00)
    "TRANSPARENT"
    "TRANSPARENT"
    "BLACK"
    "BLACK"
    "BLACK"
    "BLACK"
    "BLACK"
    "BLACK"
   )
   ("l1"
    (LIST
     (* M_A -1.000000000000000E+00 S_1)
     0.000000000000000E+00
     0.000000000000000E+00
    )
    (1.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00)
    "CYLINDR"
    "CENTER"
    D_0
    D_0
    (* M_A TH_1)
    nil
    nil
    0.000000000000000E+00
    0.000000000000000E+00
    0.000000000000000E+00
    0.000000000000000E+00
    0.000000000000000E+00
    0.000000000000000E+00
    0.000000000000000E+00
    0.000000000000000E+00
    0.000000000000000E+00
    (*
     M_A
     (*
      R_1
      (+ V_1 1.000000000000000E+00)
     )
    )
    nil
    1.000000000000000E+00
    nil
    (IF
     (<
      (ABS V_1)
      7.099999999999999E-06
     )
     0.000000000000000E+00
     (ABS
      (*
       M_A
       R_1
       (/
        (+ 1.000000000000000E+00 V_1)
        V_1
       )
      )
     )
    )
    nil
    (IF
     (<
      (ABS V_1)
      7.099999999999999E-06
     )
     0.000000000000000E+00
     (IF
      (< V_1 0.000000000000000E+00)
      -1.000000000000000E+00
      1.000000000000000E+00
     )
    )
    nil
    (2.399999999999999E+00 2.399999999999999E+00 2.399999999999999E+00 2.399999999999999E+00)
    "TRANSPARENT"
    "TRANSPARENT"
    "BLACK"
    "BLACK"
    "BLACK"
    "BLACK"
    "BLACK"
    "BLACK"
   )
  )
)
)
(setq
opprmusedvarvalist
(quote
  ((R_2 TH_2 V_1 R_1 TH_1 D_0 S_1 M_A)
   (5.742845953631992E+01 3.000000000000000E+00 -1.890000000000000E-01 5.000000000000000E+01 5.000000000000000E+00 3.500000000000000E+01 1.525000000000000E+01 9.365295220378220E-01)
   (/ ABS < IF + * LIST)
  )
)
)
(setq
optrace_auto_data
(quote
  (3
   (0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00)
   (1.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00)
   "LINE"
   10
   7.500000000000000E+00
   "PARALLEL"
  )
)
)
(setq op_groups nil)
'LOADED



Кстати, с чертёжиком в AutoCADе понятнее что дальше делать. Всё что касается модели отрисуется в процессе загрузки. Тогда чертёж можно сохранить. Но если надо, вышлю *.DWG (DXF, IGS...)

Сообщение отредактировал drusha - Sep 21 2006, 16:54


--------------------
Теперь всё, я сюда больше не приду. Никогда.
Пользователь offlineПрофайлОтправить личное сообщение
Вернуться к началу страницы
+Цитировать сообщение
dron
сообщение Sep 21 2006, 17:26
Сообщение #29


Постоянный пользователь
****

Группа: Новички
Сообщений: 380
Регистрация: 2-June 06
Из: Южное Бутово
Пользователь №: 413
Заходит на форум с гостевика.



Ща врублюсь че написал

Комп Intel 2,53 512 128 20gb xp sp1...
Говорят будем Компас изучать в учебке


--------------------
Пользователь offlineПрофайлОтправить личное сообщение
Вернуться к началу страницы
+Цитировать сообщение
drusha
сообщение Sep 21 2006, 18:29
Сообщение #30


Постоянный пользователь
*****

Группа: Новички
Сообщений: 520
Регистрация: 16-June 06
Пользователь №: 431
Заходит на форум с гостевика.



Если я правильно понял, то 2.53 - это ГГц, 512- это кэш (Кб), 128 - ОЗУ (Мб), 20 Gb - винт. А сам не разгонял ничего? А память MEMTESTом проверял? А винт? Иногда память глючит при долгом и частом обращении к одной ячейке (локальный перегрев), и MEMTEST такие дела ловит. Но по жизни это обычно даже не проявляется, так как процессор обычно юзает свой кэш, и в оперативу лишний раз не лезет (то есть, лезет, но не так часто). А диск лучше проверять Нортоном. Он иногда ловит такие бяки, которые стандартный мелкософтовский Скандиск просто не замечает. Например, когда сектор, вроде, читается и пишется, но время доступа к нему явно не то (лишние миллисекунды).

Я бы поставил ещё хотя бы столько же оперативки, а SP обновил бы до 2. Но это так... К делу отношения не имеет. Может, правда, стоит оперативы добавить? Если 128 - это про неё, а 128 - это минимум на грани фола. Но это не столько для ACADа, сколько для XP. Когда я гонял XP на 128 Мб, то он сразу делал охрененный файл подкачки... Хотя, может, можно как-то оптимизировать, поотключать галимые службы...

Сам я юзаю ACAD 2000i (на IP II-450, 64 Мб, винт 30 Гб, Win-98 OSR2 Rus) и ACAD-2004 (на IP III - 750, 192 Mб, винт 80 Гб, Win XP SP2). ACAD 2005-2006 даже не пробовал (80 рублей жалко). У меня всё работает, но 2004 есть на двух разных дистрибах, один из которых какой-то глючный. Но глючит он только во время установки (как он работает если всё же установить - не знаю, установить не сумел). Лично мне больше нравится 2000. В новые возможности 2004 (по сравнению с 2000) до сих пор не вник. Короче, есть основания полагать, что для 2006 банально не хватает оперативки.

А по поводу данных. Надо бы в ZEMAXе посчитать ещё допуски на радиусы, толщины и т.п. По идее, он это умеет, но я не знаю как. А то радиусы кривизны и толщины с точностью до 5-6 знаков - это, конечно, хорошо, да вот только как это всё делать? В оптическом производстве стандартные "грибы", "чашки" и эталонные пробники идут с шагом то ли 0.1, то ли 0.05 мм. А изготавливать нестандарт с высокой точностью (какой? Микрон? 0.01 мм? Но это тоже не 5 знаков!) - не знаю, насколько целесообразно. За один эталонный пробник по спецзаказу оптик-эталонщик попросит баксов 500. Разве что, для крупной серии это можно себе позволить. Когда счёт изделий идёт хотя бы на тысячи... А если знать допуски, то можно прикинуть, что куда округлять до ближайшего стандартного значения. Может быть, можно так, что один радиус округлить туда, другой- сюда, и глядишь, коррекция аберраций останется на уровне.

И показатель преломления 2.4 - слишком круглый, чтобы быть правдоподобным. Надо бы знать поточнее. Ну, знака хотя бы 3-4 после запятой. Даже в серийном производстве обычно делается пересчёт на конкретную варку стекла, хотя, конечно, из стекла одной варки идёт серия, и контроль там только выборочный.


--------------------
Теперь всё, я сюда больше не приду. Никогда.
Пользователь offlineПрофайлОтправить личное сообщение
Вернуться к началу страницы
+Цитировать сообщение
drusha
сообщение Sep 24 2006, 00:15
Сообщение #31


Постоянный пользователь
*****

Группа: Новички
Сообщений: 520
Регистрация: 16-June 06
Пользователь №: 431
Заходит на форум с гостевика.



Попробовал я поиграться ещё со своей программой. Опять искал оптимальные решения при других критериях оптимизации. Например, кривизну поля выправлял по центру или по самому краю... Дело в том, что опять же, правится 2-й порядок (кривизна поля, астигматизм и дисторсия - чётные аберрации, у них есть только чётные порядки, а все нечётные аберрации в симметричной системе отсутствуют по определению - для этого я сразу взял симметричный триплет), а 4-й, 6-й, 8-й и тюдю остаются. То же с астигматизмом. И получились разные решения

а) кривизна поля и астигматизм исправлены в центре поля. Тогда на поле вплоть до 40 мм в диаметре (радиус 20 мм) спот практически не отличается от того, как в центре, на 20-28 уже начинает плыть, но не сильно, но потом по краю (особенно в 35-40 мм от оси, то есть, на поле диаметром 70-80 мм) картинка очень быстро портится.

б) Кривизна поля и астигматизм исправлены в 35 мм от оси (т.е. по краю поля диаметром 70 мм). Тогда картинка примерно такая же хорошая в центре, но в 20-32 мм от оси чуть-чуть портится (но совсем немного, на 35 мм опять чуть-чуть улучшается, на 40 мм от оси (то есть, на краю поля диаметром 80 мм!) она становится примерно такой же, как на 28-30 мм от оси, а потом всё равно резко портится. В общем и в целом такое поле лучше, чем в первом случае (больше деталей разрешения на нём умещается, если брать по всему полю).

И, наконец, попробовал вариант с "нулевым" полем зрения. То есть, выправить все аберрации (всех порядков) только на самой оптической оси, а что творится по полю, меня не интересовало. Прошлый раз (первый вариант, который я выкладывал) у меня крайние линзы были плоско-выпуклыми (это я так заложил в программу оптимизации), а теперь я разрешил программе варьировать кривизну тех поверхностей, которые тогда были плоскими. И программа, погудев где-то с 4 до 10 вечера (6 часов) выдала решение. Кружок рассеяния - 0.35 микрона! То есть, практически 0 (это раз в 12-15 меньше чем была бы дифракция в видимом диапазоне, а в указанном ИК-диапазоне - раз в 250 меньше). То есть, остаточная сферическая аберрация там остаётся только 6-го-8-го порядка. При таком раскладе, я думаю, можно увеличить числовую апертуру (относительное отверстие) примерно вдвое, и тогда в нашем ИК-диапазоне остаточные аберрации 6-8го порядка сравняются с дифракцией. При этом предположительно будет достигнута максимальная концентрация энергии в пятне около диаметром около 60-70 микрон. И вдвое более светосильная система будет в 4 раза эффективнее в энергетическом плане, а концентрация энергии на площади пятна может оказаться в 8-16 раз лучше. Но это только на оси. Эта конфигурация обладает чудовищным астигматизмом (по полю) и кривизной поля, так что уже в 1 мм от оси (на поле диаметром 2 мм) изображение уже совершенно никакое. Но если надо спроецировать только одно волокно на 1 светочувствительный элемент, то это самое оно.

Так что, если интересно, то могу прислать свои решения. Наверное, лучше по почте или через личку. Но это чисто принципиальные решения, иллюстрирующие возможности подхода. Для более точных расчётов нужны более точные исходные данные. Здесь просто иллюстрируется, каких цифр в принципе можно достигнуть, проводя оптимизацию.

З.Ы. Чуть-чуть продвинутся в изучении Земакса, но как там грамотно оптимизить, я так и не научился. Он мне выдаёт такую дребуду... Наверное, я что-то неправильно делаю... Пока что я вводил в Земакс и проверял решения, полученные на моей программе. Земакс, конечно, шустрее, но моя прога нагляднее. Она даёт почувствовать, что там на самом деле происходит, и откуда чего берётся.

Я сам наглядно понял, как и почемуесли требовать качества по всему полю, то в центре (на оси) приходится оставлять какие-то остаточные аберрации, которые в рамках данной схемы (скажем, триплета) можно было бы подавить. И наоборот. Если сконцентрировать усилия на качестве картинки исключительно на оси (в центре поля), то достичь теоретического предела довольно легко, но при этом чуть в стороне от оси качество будет никакое. Понял я и то, почему фотографическая оптика (все эти "Гелиосы" и "Индустары") делают в разрешением 40-50 (и даже до 70, но не более) линий на мм даже по центру, хотя чисто теоретически можно было бы вытянуть 500-1000 линий (дифракционный предел в видимом свете для тех относительных отверстий). И умеренное диафрагмирование (до 4-5.6, и даже до 8) не приносит ожидаемого результата. Только на "дырке" 8-11 качество улучшается (можно вытяныть до 100 линий на мм), но при диафрагме 16-22 начинает доминировать дифракция, и разрешалка опять съезжает до тех же 50 линий. Кстати, это качество соответствует 7-8-мегапиксельной цифрозеркалке, так что не так уж и плохо для фотографии. Разумеется, это всё в видимом диапазоне.

Но, вот, к примеру, для наблюдательных задач (астрономическая оптика и т.п.) фотографические объективы ни фига не годятся. Я это тоже понял. Раньше думал, мне попадаются какие-то бракованные экземпляры (даже цейсовский "Панколор"), а теперь понял, что по-другому и быть не могёт. Это не брак, а просто оптика для фотографии. Там она с задачей своей справляется - и ладно. А вытянуть 500 линий с помощью фотообъектива - это нереально, и не будет реально никогда.


--------------------
Теперь всё, я сюда больше не приду. Никогда.
Пользователь offlineПрофайлОтправить личное сообщение
Вернуться к началу страницы
+Цитировать сообщение
dron
сообщение Sep 25 2006, 15:48
Сообщение #32


Постоянный пользователь
****

Группа: Новички
Сообщений: 380
Регистрация: 2-June 06
Из: Южное Бутово
Пользователь №: 413
Заходит на форум с гостевика.



128 - это видюха (Кб), 512 - ОЗУ (Мб), не не разгонял

Заходи на мой форум http://www.dron.moy.su/forum/
в тему SoftWare


--------------------
Пользователь offlineПрофайлОтправить личное сообщение
Вернуться к началу страницы
+Цитировать сообщение
drusha
сообщение Sep 25 2006, 18:45
Сообщение #33


Постоянный пользователь
*****

Группа: Новички
Сообщений: 520
Регистрация: 16-June 06
Пользователь №: 431
Заходит на форум с гостевика.



А туда можно только с полного инета? Я-то сейчас в халяве, а на карточке остались какие-то копейки... Будут деньги - загляну. Просто, мне сейчас за падло бежать за новой карточкой ради того чтоб только заглянуть на Ваш сайт...

Ну ладно. А оптическая задача по-прежнему интересна? Мне она дала такой реальный тест, что я из пальца высосать просто не смог бы. И для оптимизации... Там целевая функция (т.е. функция качества, по которой идёт оптимизация) получается не то что негладкая, она ещё и разрывная! При некотором радиусе кривизны какой-то поверхности и на некотором апертурном угле луч света вместо преломления уходит в полное внутреннее отражение... Буквально миллиметр туда-миллиметр сюда... Ну, короче, есть такие точки сингулярности. И ограничения физического характера там тоже надо учитывать! Ну, не могут линзы проникать друг в друга, совмещаясь в пространстве! Обычные методы оптимизации, которым учат в обычных технических ВУЗах тут на фиг не годятся, и даже Земакс сходит с ума. Но я долизал-таки оптимизацию у себя, и нашёл некоторые экстремальные решения для оси. То есть, когда надо спроецировать только одну точку, которая находится точно в центре поля зрения. Прошлый раз я писал, что нашёл решение для числовой апертуры 0.124 (отн. отв. 1:4, диаметр 25 мм при переднем и заднем отрезке 100 мм). Да, там разброс выходил порядка 0.1-0.2 мкм, что глубоко тонет в дифракции (даже для видимого диапазона спектра). Это слишком высокая точность (технологически она почти недостижима), но её никому и не надо. Просто, я уже писал, что в таком случае можно просто увеличить "дырку".

И вот, у меня уже есть решения.
диаметр 44 мм (отн. отв. 1:2.3) - кружок рассеяния диаметром 32мкм
диаметр 45 мм (отн. отв. 1:2.2) - кружок рассеяния диаметром 43мкм
Это после тщательной оптимизации на каждой "дырке". К слову, 45-50 мкм - это будет диаметр дифракционного кружка при такой "дырке", так что загонять аберрации в кружок менее чем в 20-25 мкм не имеет смысла (что, наверное возможно, если ограничить диаметр линз до 42-43 мм).

Сейчас мой комп занят вычислениями для "дырки" 50 мм (отн. отв. 1:2) и у него выходит кружок рассеяния где-то порядка 200мкм. Так что, в данном случае ограничение на диаметр встаёт как стена. Это, наверное, уже 8-й порядок!

Кстати, вся эта система легко поддаётся масштабированию, и если уменьшить всё в 10 раз (тогда диаметры линз будут около 5 мм, передний и задний отрезки - около 10 мм), и кружок аберраций на оси при этом уложится в 20 мкм (но только на оси). Для фокусировки одной точки (на оси) в масштабе 1:1 это, пожалуй, наилучшее решение. Относительное отверстие 1:2 для такой проекции - это очень круто. Это соответствует фотографическому объективу с "дыркой" 1:1. Такие объективы тоже бывают, но делаются они отнюдь не по схеме "триплет". Там десятки линз...

Кстати, а может, для оси лучше не "триплет"? Всё-таки, триплет больше предназначен для получения качественного поля (апланат, анастигмат, плоское поле...). А если поле вытягивать не надо, то, может быть, просто взять две положительные линзы: плоско-выпуклые, обращённые выпуклостями друг к другу. Сферическая аберрация (обычная, второго порядка) там есть, - ну и хрен с ней! Масштабируем всё в 10 раз. Пусть у нас будут линзочки по 5 мм в диаметре и фокусом 10 мм. Сферическая аберрация там тогда уложится в те же 20 мкм, но её поглотит дифракция!

Но меня-то больше интересует не ваша задача, а принципиальная возможность оптимизации на моей программе. Теперь я могу искать, например, решение для системы Ричи-Кретьена с плоским полем... Или корректор поля для телескопа системы Ньютона с параболическим зеркалом... Обычно зеркальные телескопы строят идеальную картинку на оси, но по полю у них кома, астигматизм и кривизна поля (у линзовых и менисковых телескопов полезное поле зрения намного шире). Но со специальным линзовым корректором поле зрения зеркального телескопа можно выправить, и иногда довольно неплохо. Корректор имеется в виду предфокальный, то есть небольшого размера. Правда, качество изображения на оси при этом теряется. И у меня есть возможность оценить, насколько именно. Даже если корректор сделать самый идеально-оптимальный, с абсолютной точностью. Может оказаться так, что, например, если взять (купить, сделать, заказать) телескоп системы Ньютона с относительным фокусом 4 (т.е. отн. отверстие 1:4, ну, например, D=250 мм F=1 м), которое само по себе будет с сильнейшей комой, но при этом можно положиться на корректор поля. Корректор вытянет вполне приличное поле фотографического качества (ну, скажем, с пятном 10-15 мкм по центру и 20-25 по краю поля), но даже в центре картинку безнадёжно испортит (ибо дифракционный предел там составляет около 5 мкм). Но если тот же телескоп взять фокусом чуть подлиннее, например 5 (т.е. отн. отв. 1:5, скажем, D=250мм, F=1м 25см), то корректор под него будет работать намного лучше (например, даст пятно рассеяния 5 мкм, сопоставимое с дифракцией). А если взять относительный фокус 6 (т.е. "дырку" 1:6, скажем, D=250мм, F=1м 50 см), то даже с корректором система будет дифракционно-ограниченной по всему кадру размерос 24х36 мм. По идее, с ним можно снимать на 24-36-мегапиксельную матрицу (правда, стоит она примерно столько же килобаксов, или такие матрицы делают только как задники для среднеформатных зеркалок...). Я, в принципе, даже знаю, где можно заказать и такое зеркало, и корректор (хошь - россыпью, хошь - в сборе). Там они сделают именно то что попросишь. Скажем, для фотографии имеет особую ценность относительное отверстие, а кружок рассеяния 15 мкм - это считается нормально (ни одна фотоэмульсия или обычная 6-10 мегапиксельная матрица больше не вытянет). Тогда есть смысл брать оптику с "дыркой" 1:4. А для визуала и по планетам - нужно брать от 6 и больше. Это я всё к примеру. А какими возможностями какая система обладает - это можно прикинуть даже на моей программе. Может быть, на фирме, конечно, есть особые марки стёкол или они могут сделать индивидуальную ретушь, асферику и т.п. Но с другой стороны, могут быть технологические неточности, отклонения от расчётных значений. Но чисто принципиально (плюс-минус в два раза, скажем) можно полагаться на те расчёты, которые делает моя программа.

Хотя, правда, есть и такое. Вот, скажем, телеском менисковой системы (типа Максутова) по определению обладает остаточной сферической аберрацией 4-го порядка. Это ограничивает его относительное отверстие. Но, вот, скажем, оптик Анатолий Санкович делает их более хитро. Он контролирует всю систему на автоколлиматоре с эталонным плоским зеркалом, и убирает эту аберрацию ручной ретушью. То есть, фактически натирает там где-то небольшую асферику высокого порядка. Какой математической формулой она выражается - фиг её знает, он просто добивается абсолютно плоской интерферограммы. И его телескопы (скажем, МСТ-230) обладают непревзойдённым качеством. В своём классе, разумеется. Никакими модельными вычислениями это не воспроизвести. Ну, вернее, если допустить асферику любого порядка, то, конечно, теоретически и не такое можно... Но какую именно асферику? Там выходят не простейшие конические сечения (типа, эллипсоиды, параболоиды, гиперболоиды) а кое-что похитрее... А если прикинуть (скажем, в Земаксе), что при таких характеристиках можно вытянуть из чисто сферической оптики (т.е. если все поверхности были бы идеально сферическими), то получается довольно так себе. На уровне ширпотреба. А он делает эксклюзив. Ему не верят, а он делает!

Ну а Земакс... Он, наверное, получше... Если его освоить как следует. Я, вроде бы, тоже уже научился чего-то там даже оптимизить... Но весьма ограниченно. Критерий там у меня пока вылезает только стандартный (RMS Wave)... Как задавать другой, я пока даже не знаю. Но наверное, как-то там можно... А своей программе я больше верю. Там всё наглядно видно, что к чему и почему. И весь путь оптимизации можно проследить... Может быть, правда, и в Земаксе можно, только я не знаю, как.


--------------------
Теперь всё, я сюда больше не приду. Никогда.
Пользователь offlineПрофайлОтправить личное сообщение
Вернуться к началу страницы
+Цитировать сообщение
dron
сообщение Sep 25 2006, 21:08
Сообщение #34


Постоянный пользователь
****

Группа: Новички
Сообщений: 380
Регистрация: 2-June 06
Из: Южное Бутово
Пользователь №: 413
Заходит на форум с гостевика.



Спасибо за окончат. ответ. Сейчас занят производством волокна, нет совсем времени во все вникнуть, думаю в эти выходные, хочется самому на компе прогнать. Если можно, посмотрите масштаб 1:2 и какие будут аберации.
У нас одно волокно проец. на светоприемник. Размеры надо такие как я задал(как в последнем Вашем ответе).
Длина всей системы 200-250мм., расст. от последней линзы
до изображения 70-100мм.. Хотелось сделать аппарат для
стоматолога. Если расстояние менее 70мм., то неудобно
лезть в рот.
Можно ли скачать Вашу программу под AutoCad c последними дополнениями.
Зачем в ZEMAX-ЕЕ (у меня версия ЕЕ) задавать новое стекло LZ_AAB?, если можно зайти в GLASS catalog- каталог INFRARED.AGF, там задать GLASS-ZNSE (наш материал), длина волны зад. в Wawvelengh data 10,6 мкм.
Внизу Select - CO2лазер(10,6мкм).
Еще не слышали программу TracePro для расч. оптики, у меня есть описание на русском, а саму прогр. не удалось найти. Где то в интернете предагали за 50 долларов, но так и не ответили.
Иногда влезает в форум к Вам мой сын и пишет ерунду, так
что не обижайтесь


--------------------
Пользователь offlineПрофайлОтправить личное сообщение
Вернуться к началу страницы
+Цитировать сообщение
drusha
сообщение Sep 26 2006, 11:57
Сообщение #35


Постоянный пользователь
*****

Группа: Новички
Сообщений: 520
Регистрация: 16-June 06
Пользователь №: 431
Заходит на форум с гостевика.



Насчёт LZ_AAB - это я так задал (от балды, просто упражняясь в этом деле), и засадил эту ссылку в свою модель. Если Вы знаете, где, в каком каталоге это стекло сидит и как называется, то флаг Вам в руки. Но просто я тот код (текст ZMX сделал со ссылкой на то имя LZ_AAB, которое сам же и сделал. Можно прямо в том тексте заменить (как поиск-замена в любом текстовом редакторе) LZ_AAB на то, как оно там на самом деле называется. И каталог тот упомянуть (кроме SHOTT и LZOS) в той строчке, где перечисляются используемые каталоги стёкол, а LZOS тогда оттуда убрать. Почему я занёс именно в него? Да просто потому что он у меня случайно оказался на тот момент текущим!

На масштабе 1:2 я посмотрю. Там, правда, нарушается прелесть симметрии, но симметрия сама по себе интересна только если надо обеспечить широкое поле (тогда автоматически давится кома и вообще все нечётные аберрации по полю по всем их нечётным порядкам). Конечно, можно их давить и в асимметричных системах, но тогда только индивидуально, наряду с астигматизмом, кривизной поля, дисторсией и другими чётными полевыми аберрациями. До кучи к сферической. Каждая аберрация (вернее, каждый член в разложении оной в степенной ряд) - это фактор, который нужно оптимизировать. То есть, свести его к нулю или максимально приблизить его туда. Обычно для того чтобы сделать это по N факторам сразу, надо иметь не менее N независимых степеней свободы, которыми можно варьировать. Это радиусы кривизны и толщины. Ах, да, там есть ещё фокусное расстояние (или общий масштабный фактор). А зависимости там весьма нелинейные...

Если проекция идёт точка - в точку (только центр, то есть, на оси), то поле вытягивать не надо. Тогда симметрия - вообще по боку. Хроматизма у нас тоже нет (лазер - это монохром) Остаётся только сферическая аберрация, но для числовой апертуры порядка 0.25 (отн. отверстия 1:2) нужно давить 2-й и 4-й порядок, а может быть даже и 6-й (нечётные порядки там, слава богу, отсутствуют). То есть, учитывая собственно фокусное расстояние (или масштабный фактор) нужно оптимизировать по 3-4 факторам, и для этого варьировать не менее 3-4 параметров системы. Если бы нужно было поле, то добавилось бы ещё 4-5 факторов, но если система симметрична, то остаются 2-3 фактора (только чётные полевые аберрации), но и свободно варьируемые параметры тогда тоже связываются условием симметрии.

Насчёт скачивания моей программы... Те наработки, которые я сделал сейчас, не имеют пока нормального пользовательского интерфейса, и я даже не знаю, как его организовать. Там сейчас предполагается программировать на АвтоЛиспе. То есть, на АвтоЛиспе пишется целевая функция (под конкретную систему, скажем, этот триплет), и она указывается как параметр для общей функции оптимизации. Это, опять же, лисп-функция, которую надо вызывать с какими-то параметрами. Это всё страшная сырятина, и я её пока нигде не выкладывал. Но то что там есть (на август этого года) вполне достаточно чтобы исследовать готовые решения. Смотреть аберрации и всё такое. А оптимизации там нет вообще никакой. А варьировать параметры вручную - это очень муторно. Хотя я раньше так и делал.

С выкладыванием на Звездочёте, там тоже проблемы: тамошний файлообменник допускает архивы длиной до 80 Кб, а общий размер до 256 Кб (в архивах, разумеется). С новыми доработками, боюсь, уже не уложусь. На Старлабе ограничения ещё более жёсткие. Наверное, надо заводить свой сайт в Народе.ру

Кстати, научился я оптимизить в Земаксе. Если есть вопросы - могу подсказать. Но для общего ликбеза читайте документацию. Или методом тыка. Результаты, правда, чуть-чуть отличаются от моих (процентов на 10-20 при оценке размера спот-диаграммы). Подозреваю, что просто Земакс пользуется немножко другим критерием при поиске оптимального сечения пучка, чем я. Оптимизировать можно по RMS (среднеквадратисемкий разброс), PTV (максимальный размах) и т.п. Где-то там это, наверное, можно это указать, но где?... До этого я пока не добрался. По умолчанию, как я понял, Земакс использует критерий RMS. У меня это явно задаётся (у себя-то я знаю где!), и я обычно использую аналог критерия PTV (просто максимальный радиус или диаметр пятна рассеяния без учёта распределения интенсивности внутри него). Очевидно, что в некотором сечении, где энергия больше концентрируется к центру, но растёт слабый по освещённости ореол, то оценка по RMS может быть лучше, а PTV - хуже.

И вообще, в Земаксе целевая функция оптимизации (MF) может быть написана на каком-то там своём языке, а по умолчанию предлагается нечто стандартное. Там, кстати, тогда появляется эта функция, написанная на том самом языке... Просто, для стандартного дефаулта там есть такой мастер, который делает её по типовому образцу. Но её надо сделать (хотя бы так). Если Вас не интересует поле (а только ось, то надо среди полей (Fields) оставить только одну строчку с нулевыми X и Y.

А масштаб 1:2 - это в сторону уменьшения? То есть, пятно изображения должно быть меньше исходного волокна? Тогда простой сдвиг на 25 мм объектива к объекту (задний отрезок - а до изображения он считается "задним", передний - это от объекта, так вот, задний отрезок станет 75 мм, передний - 150, масштаб 1:2). А диаметр - это существенно? Ну, я понимаю, прибор диаметром 50 мм в руке держать трудно... Или там ручка сбоку будет? А числовая апертура - она какая нужна?

Я думаю, что на оси с задачей может справиться дуплет. Или триплет (на этот раз - асимметричный)

А для симметричного триплета я получил такие результаты. При относительном отверстии 1:2 (при переднем и заднем отрезке 100 мм диаметр линз 50 мм) кружок рассеяния удалось вогнать в диаметр 140-160 мкм. Это при том, что при диаметре 45 мм - получалось 43 мкм, а 44мм - 32 мкм. То есть, видно, как при увеличении апертуры на каждый миллиметр стремительно растёт остаточная сферическая аберрация (наверное, 8-го порядка, которая в этой схеме не лечится). То есть, тут ограничение на максимальную апертуру встаёт как стена. Хотя, на довольно хорошем уровне.

Но, думаю, при масштабе 2:1 с этим делом будет проще. Кружок рассеяния тоже уменьшится вдвое. Не будет влезать - так можно апертуру уменьшить на 1-2 мм, и влезет! И 50 мкм - это при такой длине волны на дырке 1:2 - фактически дифракционный предел... Короче, итоговый кружок рассеяния ожидается 60-70 мкм, плюс к тому диаметр изображения среза волокна (400-600 мкм, уменьшенное в 2 раза) будет 200-300 мкм, тупо прибавляем кружок рассеяния и получаем максимальный разброс 260-370 мкм. А среднеквадратический разброс будет ещё меньше (практически те же 200 мкм) Так что, задача - решаема. Можно только пощупать, какова же максимальная апертура... А может, вместо триплета сойдёт дуплет? Но тогда из положительной и отрицательной компоненты... А то, если взять только две положительных, то тогда сферическую аберрацию давить нечем. Она там только складывается...


--------------------
Теперь всё, я сюда больше не приду. Никогда.
Пользователь offlineПрофайлОтправить личное сообщение
Вернуться к началу страницы
+Цитировать сообщение
dron
сообщение Sep 26 2006, 15:32
Сообщение #36


Постоянный пользователь
****

Группа: Новички
Сообщений: 380
Регистрация: 2-June 06
Из: Южное Бутово
Пользователь №: 413
Заходит на форум с гостевика.



Нашел инет дешевый на inet.tsr.ru
Безлимитный инет по модему по выходным за 12$ Справка по 610-2210 610-2510 610-2610 639-5014 технической поддержки: 788-1398


--------------------
Пользователь offlineПрофайлОтправить личное сообщение
Вернуться к началу страницы
+Цитировать сообщение
drusha
сообщение Sep 26 2006, 16:55
Сообщение #37


Постоянный пользователь
*****

Группа: Новички
Сообщений: 520
Регистрация: 16-June 06
Пользователь №: 431
Заходит на форум с гостевика.



А 12$ - это в месяц? У Пропуска был тариф 5$ за уикенд (с ночи на пятницу до утра понедельника). Тут, если это месяц, то выходит дешевле, но это надо конкретно ситеть именно в выходные...

Я пока юзаю Комстар по 20 центов в час - с 20-00 (удобное время). А после двух ночи у РОЛ, вроде, как 12 центов. Но я давно им не пользовался.

Научился я, наконец, задавать условия оптимизации в Земаксе
Это где через меню "Editors" выбираем "Merit Function", и на той форме, которая появляется, сначала очищаем её всю (на том окне через меню выбираем Edit --> Delede all, а потом выбираем в том же меню Tools --> Default Merit function. В открывшейся при этом диалоговой форме задаём
в группе "Optimization Function and Reference"
- RMS (среднеквадратический разброс) или PTV (полный размах, в смысле амплитуда или половина от максимума до минимума) - нам лучше PTV
- Wavefront, Spot Radius... Нам тут лучше взять Spot Radius, хотя по умолчанию предлагается Wavefront (волновая аберрация)
- Centroid - другого нам не надо

Далее группа "Pupil Integration Method"
Если мы выбрали PTV, то нам остаётся только Gaussian Quadrature, при этом Rings (колец) лучше задать побольше (не 3, как предполагается, а 7-10, и даже до 20, это увеличит точность, хотя уменьшит скорость оптимизации, а Arms (радиальных направлений) можно оставить 6 (в нашем осесимметричном случае это рояли практически не играет, но 6 - это минимальное значение)

Далее группа "Thickness Boundary Valies" - ограничения на толщины. Разумно задать для Glass: Min=3 а Max=30 (или иные значения из чисто технологичнских соображений - какие заготовки доступны... Толщину менее 1-2 мм трудно обрабатывать, может треснуть)

Далее можно поставить галочки Assume Axial Symmetry (иметь в виду осевую симметрию) и Ignore Lateral Color (игнорировать боковой цвет). Это ускорит оптимизацию в нашем осесимметричном и монохромном случае.

Остальное можно оставить как есть.

В основном редакторе Lens Data для некоторых параметров следует указать свойство Variable (рядом со значением параметра там есть такая клеточка, туда надо ткнуть правой кнопкой мышки, и выбрать Slove Type:
Fixed - фиксированное значение
Variable - можно варьировать при оптимизации
Pick Up - связать с другим аналогичным параметром другой поверхности. Указывается, какой именно (по номеру: 1 - первая поверхность первой линзы и т.д.). Иногда можно указать Scale - коеффициент и Offset - смещение. Например, для сохранения симметричности системы половина параметров связывается с другой половиной с коэффициентом 1 (толщины) или -1 (радиусы кривизны). Но как видно, выбор возможностей связывания очень беден. Интересно, а почему я не могу задать произвольную формулу для связи параметров (не только простейшего вида "Ax+B", а с любыми степенями, логарифмами, экспонентами, синусами и косинусами... и зависящими от разных других параметров других поверхностей, или просто каких-то самодельных переменных в любом количестве...)
Это свойство отображается в виде буковки V(ariable), P(ick Up). Свойство "Fixed" не отображается: оно имеется в виду по умолчанию.
Для оптимизации нам нужен хотя бы один параметр Variable и, разумеется, задана Merit Function.

Тогда тыкаем в общее (Главное) меню Tools --> Optimization. Там надо установить галочку Auto Update. И поехали. Лучше выбрать режим Auto.
Оптимизация по 1-2 параметрам пролетает за доли секунды (у меня бы это было несколько минут). 3-4 параметра - несколько секунд. Но чем их больше... Время вычислений растёт в какой-то дикой степени. Но всегда можно прервать.

Итак, мы освобождаемся от условия симметричности системы. Те параметры, которые были Pick Up можно сделать Variable. Интересно, что даже для дуплета (две линзы: положительная и отрицательная) свободных параметров, которые можно сделать Variable, оказывается на 1 больше чем у триплета, связанного условием симметрии. И не удивительно, что находится более оптимальное решение (но только на оси: поле там вообще никакое)
Так вот, дуплет из положительной (двояко-разно-выпуклой) и отрицательной компонент (крутого вогнуто-выпуклого мениска) получается на грани фола со спотом, который укладывается в 30 микрон. Но при заднем отрезке 75 мм эквивалентный фокус выходит больше чем надо, и масштаб 1:2 не выходит. Не знаю, может быть и можно что-то вытянуть на дуплете?

А триплет, освобождённый от условия симметричности и выправления аберраций по полю, делает спот, укладывающийся в диаметре 0.33 микрона (в видимом диапазоне это было бы здорово, так рисуют лучшие объективы для микроскопов, но в ИК - излишне) Радиусы кривизны там даже не очень крутые, а светосила - огромная. Я полагаю, что это решение оптимально. Наверное, можно увеличить светосилу ещё, но тогда диаметр линз будет за 100 мм, когда дело уткнётся в аберрации высших порядков. А он и так уже там порядка 60 мм.
Вот оно, это решение. Получено чисто на Земаксе.
Код

VERS 30106 190
MODE SEQ
NAME Projective triplet for IR fiberglass
NOTE 1
NOTE 2
NOTE 3
UNIT MM NW NWC
FLOA
PUPD 23.2333 62.3462
GFAC 0 0
GCAT Schott INFRARED
RAIM 1.0E-8 0 1 1 0 0
PUSH 0.000000000000E+000 0.000000000000E+000 0.000000000000E+000 0
SDMA 0.000000000000E+000 1 0.000000000000E+000
FTYP 3 0
ROPD 2
PICB 1
XFLD 0.000000000000E+000
YFLD 0.000000000000E+000
FWGT 1.000000000000E+000
WAVL 1.060000000000E+001
WWGT 1.000000000000E+000
PWAV 1
POLS 1 0.000000000000E+000 1.000000000000E+000 0.000000000000E+000 0.000000000000E+000 1
GLRS 3
GSTD 0 100.00000 100.00000 100.00000 100.00000 100.00000 100.00000 0
NSCD 100 500 0.000000000000E+000 1.000000000000E-006 5 1.000000000000E-006 1 0 0 0 0.000000000000E+000 0
COFN COATING.DAT SCATTER_PROFILE.DAT ABG_DATA.DAT
SURF 0
  COMM OBJECT PLANE
  TYPE STANDARD
  CURV 0.000000000000E+000 0 0.000000000000E+000 0.000000000000E+000
  SLAB 7
  DISZ 1.500000000000E+002
  DIAM 0.000000000000E+000 0 0
  POPS 0 0 0 0 0 0 0 0 1 1 1.000000000000E+000 1.000000000000E+000
SURF 1
  COMM FIRST LENS MENISK
  TYPE STANDARD
  CURV -4.107628338365E-004 1 0.000000000000E+000 0.000000000000E+000
  SLAB 1
  DISZ 1.000000000000E+001
  GLAS ZNSE 0 0 2.40266151 0.00000000 0.00000000 0 0 0 0.00000000 0.00000000
  DIAM 3.000000000000E+001 1 0
  POPS 0 0 0 0 0 0 0 0 1 1 1.000000000000E+000 1.000000000000E+000
  FLAP 0.000000000000E+000 3.000000000000E+001
SURF 2
  COMM BACK OF FIRST
  TYPE STANDARD
  CURV -9.702689607482E-003 1 0.000000000000E+000 0.000000000000E+000
  SLAB 2
  DISZ 1.533934595678E+001
  VDSZ 0.000000000000E+000 0.000000000000E+000
  DIAM 3.000000000000E+001 2 1
  POPS 0 0 0 0 0 0 0 0 1 1 1.000000000000E+000 1.000000000000E+000
  FLAP 0.000000000000E+000 3.000000000000E+001
SURF 3
  COMM MIDDLE LENS MINUS
  STOP
  TYPE STANDARD
  CURV -1.472972490322E-002 1 0.000000000000E+000 0.000000000000E+000
  SLAB 3
  DISZ 3.000000000000E+000
  GLAS ZNSE 0 0 1.50000000 40.00000000 0.00000000 0 0 0 0.00000000 0.00000000
  DIAM 2.500000000000E+001 1 0
  POPS 0 0 0 0 0 0 0 0 1 1 1.000000000000E+000 1.000000000000E+000
  FLAP 0.000000000000E+000 2.500000000000E+001
SURF 4
  COMM BACK OF MIDDLE
  TYPE STANDARD
  CURV -9.665914139427E-003 1 0.000000000000E+000 0.000000000000E+000
  SLAB 3
  DISZ 2.000000000000E+001
  DIAM 3.000000000000E+001 2 1
  POPS 0 0 0 0 0 0 0 0 1 1 1.000000000000E+000 1.000000000000E+000
  FLAP 0.000000000000E+000 3.000000000000E+001
SURF 5
  COMM THIRD LENS MENISK
  TYPE STANDARD
  CURV 1.502125574850E-002 1 0.000000000000E+000 0.000000000000E+000
  SLAB 4
  DISZ 1.000000000000E+001
  GLAS ZNSE 0 0 1.50000000 40.00000000 0.00000000 0 0 0 0.00000000 0.00000000
  DIAM 3.000000000000E+001 2 1
  POPS 0 0 0 0 0 0 0 0 1 1 1.000000000000E+000 1.000000000000E+000
  FLAP 0.000000000000E+000 3.000000000000E+001
SURF 6
  COMM BACK OF THIRD
  TYPE STANDARD
  CURV 7.335087829717E-003 1 0.000000000000E+000 0.000000000000E+000
  SLAB 5
  DISZ 7.500000000000E+001
  PZUP 0.000000000000E+000 5.000000000000E-001 0.000000000000E+000
  DIAM 3.000000000000E+001 2 1
  POPS 0 0 0 0 0 0 0 0 1 1 1.000000000000E+000 1.000000000000E+000
  FLAP 0.000000000000E+000 3.000000000000E+001
SURF 7
  COMM IMAGE PLANE
  TYPE STANDARD
  CURV 0.000000000000E+000 0 0.000000000000E+000 0.000000000000E+000
  SLAB 6
  DISZ 0.000000000000E+000
  DIAM 0.000000000000E+000 1 0
  POPS 0 0 0 0 0 0 0 0 1 1 1.000000000000E+000 1.000000000000E+000
DMFS   0   0              0              0              0              0              0              0
BLNK Default merit function: PTV spot radius centroid GQ 14 rings 12 arms
BLNK Default air thickness boundary constraints.
MNCA   0   6              0              0              0              0              1              1
MXCA   0   6              0              0              0              0            200              1
MNEA   0   6              0              0              0              0              0              1
BLNK Default glass thickness boundary constraints.
MNCG   0   6              0              0              0              0              3              1
MXCG   0   6              0              0              0              0             50              1
MNEG   0   6              0              0              0              0              0              1
BLNK Operands for field 1.
TRAC   0   1              0              0    0.108119018              0              0             12
TRAC   0   1              0              0     0.21497044              0              0             12
TRAC   0   1              0              0     0.31930153              0              0             12
TRAC   0   1              0              0    0.419889102              0              0             12
TRAC   0   1              0              0    0.515553857              0              0             12
TRAC   0   1              0              0    0.605174215              0              0             12
TRAC   0   1              0              0    0.687699459              0              0             12
TRAC   0   1              0              0    0.762162055              0              0             12
TRAC   0   1              0              0    0.827688998              0              0             12
TRAC   0   1              0              0    0.883512044              0              0             12
TRAC   0   1              0              0     0.92897672              0              0             12
TRAC   0   1              0              0    0.963549993              0              0             12
TRAC   0   1              0              0    0.986826523              0              0             12
TRAC   0   1              0              0    0.998533414              0              0             12
TOL TOFF   0   0              0              0   0
MNUM 1
MOFF   0   1 "" 0 0 0 1 1 0.0 0.0


Здесь уже забито стекло ZNSE из каталога INFRARED. Никакого LZ_AAB не надо.


--------------------
Теперь всё, я сюда больше не приду. Никогда.
Пользователь offlineПрофайлОтправить личное сообщение
Вернуться к началу страницы
+Цитировать сообщение
dron
сообщение Sep 26 2006, 17:06
Сообщение #38


Постоянный пользователь
****

Группа: Новички
Сообщений: 380
Регистрация: 2-June 06
Из: Южное Бутово
Пользователь №: 413
Заходит на форум с гостевика.



А как ты таблицы вставляешь?


--------------------
Пользователь offlineПрофайлОтправить личное сообщение
Вернуться к началу страницы
+Цитировать сообщение
drusha
сообщение Sep 26 2006, 17:24
Сообщение #39


Постоянный пользователь
*****

Группа: Новички
Сообщений: 520
Регистрация: 16-June 06
Пользователь №: 431
Заходит на форум с гостевика.



Какие таблицы? В Земаксе ручками набираю. Выделяю ячейку и прямо туда циферками набираю. Там немножко свой интерфейс. Когда ячейка выделена, стоит нажать какую-нибудь циферку, и начинает там набираться. Но только снова (как подправить старое значение - не знаю, набираю всё заново). Но цифири там немного.

Копипаст не работает. И ещё, если параметр связан (P) - тоже не поддаётся изменению. Надо изменять тот, с которым он связан. А здесь - копипастом из файла типа ZMX. Он на самом деле текстовый. В качестве текстового редактора юзаю Бред2 (Bred2r). Он удобнее ноутпада, хотя это не принципиально.


--------------------
Теперь всё, я сюда больше не приду. Никогда.
Пользователь offlineПрофайлОтправить личное сообщение
Вернуться к началу страницы
+Цитировать сообщение
drusha
сообщение Sep 26 2006, 20:55
Сообщение #40


Постоянный пользователь
*****

Группа: Новички
Сообщений: 520
Регистрация: 16-June 06
Пользователь №: 431
Заходит на форум с гостевика.



А вот, кстати, данные для моей проги (в формате LNZ) для загрузки моей командой-функцией ОPLOAD
Код

(setq
optela
nil
)
(setq
opcolors
(quote
  ("Red" "Green" "Blue" "Magenta")
)
)
(setq
oppovtyp
(quote
  (P S C K A H E)
)
)
(setq
opglasses
(quote
  (("ZNSE" 2.402661999999999E+00 2.402661999999999E+00 2.402661999999999E+00 2.402661999999999E+00)
   ("K8" 1.512890000000000E+00 1.516799999999999E+00 1.522829999999999E+00 1.530240000000000E+00)
   ("KBSc20" 1.507600000000000E+00 1.509999999999999E+00 1.515649999999999E+00 1.520159999999999E+00)
   ("KSc7" 1.512199999999999E+00 1.514699999999999E+00 1.520690000000000E+00 1.525500000000000E+00)
   ("Kc12" 1.515500000000000E+00 1.518100000000000E+00 1.524289999999999E+00 1.529279999999999E+00)
   ("KFc49" 1.523179999999999E+00 1.526200000000000E+00 1.533500000000000E+00 1.539480000000000E+00)
   ("KBLc21" 1.527600000000000E+00 1.530199999999999E+00 1.536369999999999E+00 1.541319999999999E+00)
   ("KBc17" 1.537220000000000E+00 1.539900000000000E+00 1.546269999999999E+00 1.551420000000000E+00)
   ("KBc6" 1.569669999999999E+00 1.572599999999999E+00 1.579620000000000E+00 1.585299999999999E+00)
   ("FLc16" 1.574310000000000E+00 1.578300000000000E+00 1.588179999999999E+00 1.596470000000000E+00)
   ("KHc24" 1.609510000000000E+00 1.612600000000000E+00 1.619969999999999E+00 1.625899999999999E+00)
   ("Fc8" 1.608139999999999E+00 1.612899999999999E+00 1.624740000000000E+00 1.634819999999999E+00)
   ("Fc3" 1.619240000000000E+00 1.624200000000000E+00 1.636619999999999E+00 1.647219999999999E+00)
   ("FHc18" 1.747320000000000E+00 1.754999999999999E+00 1.774750000000000E+00 1.792049999999999E+00)
  )
)
)
(setq
opparamlns
(quote
  (("l3"
    (4.833934600000000E+01 0.000000000000000E+00 0.000000000000000E+00)
    (1.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00)
    "CYLINDR"
    "CENTER"
    5.999996800000000E+01
    5.999996800000000E+01
    1.000000000000000E+01
    nil
    nil
    0.000000000000000E+00
    0.000000000000000E+00
    0.000000000000000E+00
    0.000000000000000E+00
    0.000000000000000E+00
    0.000000000000000E+00
    0.000000000000000E+00
    0.000000000000000E+00
    0.000000000000000E+00
    6.657233000000001E+01
    nil
    1.000000000000000E+00
    nil
    1.363310349999999E+02
    nil
    -1.000000000000000E+00
    nil
    (2.402661999999999E+00 2.402661999999999E+00 2.402661999999999E+00 2.402661999999999E+00)
    "TRANSPARENT"
    "TRANSPARENT"
    "TRANSPARENT"
    "BLACK"
    "BLACK"
    "BLACK"
    "BLACK"
    "BLACK"
   )
   ("l2"
    (2.533934600000000E+01 0.000000000000000E+00 0.000000000000000E+00)
    (1.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00)
    "CYLINDR"
    "CENTER"
    6.000000000000000E+01
    2.999996799999999E+01
    3.000000000000000E+00
    nil
    nil
    0.000000000000000E+00
    0.000000000000000E+00
    0.000000000000000E+00
    0.000000000000000E+00
    0.000000000000000E+00
    0.000000000000000E+00
    0.000000000000000E+00
    0.000000000000000E+00
    0.000000000000000E+00
    6.788993100000000E+01
    nil
    -1.000000000000000E+00
    nil
    1.034563140000000E+02
    nil
    1.000000000000000E+00
    nil
    (2.402661999999999E+00 2.402661999999999E+00 2.402661999999999E+00 2.402661999999999E+00)
    "TRANSPARENT"
    "TRANSPARENT"
    "TRANSPARENT"
    "BLACK"
    "BLACK"
    "BLACK"
    "BLACK"
    "BLACK"
   )
   ("l1"
    (0.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00)
    (1.000000000000000E+00 0.000000000000000E+00 0.000000000000000E+00)
    "CYLINDR"
    "CENTER"
    5.999996800000000E+01
    5.999996800000000E+01
    1.000000000000000E+01
    nil
    nil
    0.000000000000000E+00
    0.000000000000000E+00
    0.000000000000000E+00
    0.000000000000000E+00
    0.000000000000000E+00
    0.000000000000000E+00
    0.000000000000000E+00
    0.000000000000000E+00
    0.000000000000000E+00
    2.434494841000000E+03
    nil
    -1.000000000000000E+00
    nil
    1.030641899999999E+02
    nil
    1.000000000000000E+00
    nil
    (2.402661999999999E+00 2.402661999999999E+00 2.402661999999999E+00 2.402661999999999E+00)
    "TRANSPARENT"
    "TRANSPARENT"
    "TRANSPARENT"
    "BLACK"
    "BLACK"
    "BLACK"
    "BLACK"
    "BLACK"
   )
  )
)
)
(setq op_groups nil)
'LOADED

Если надо выполнить трассировку, то следует иметь в виду, что центр первой поверхности первой линзы привязан к началу координат (0.0 0.0 0.0) а источник света должен располагаться в (-150.0 0.0 0.0)
Можно скопировать этот текст в файл под именем OPTRACE.SCR и выполнить команду-функцию OPTRREP
Код

OPTRACE
1
-1.000000000000000E+00,0.000000000000000E+00,0.000000000000000E+00
0.000000000000000E+00,0.000000000000000E+00,0.000000000000000E+00
PLANE
2.600000000000000E+01
20
-1.490000000000000E+02

а можно сделать трассировку самому (и заодно понять, как это делается)
1. Вызывает команду-функцию OPTRACE

Command: optrace
Задайте номер или имя цвета луча <? White Red Green Blue Magenta>[White=0]: 1
Введите начальную точку луча (пучка) света: -1,0
Укажите начальное направление луча (пучка) света от начальной точки: 0,0
Тип пучка (источника) света: 1луч, линия, кольцевая зона, плоский <[1Ray] Line Circle Plane>:pl
Введите радиус (полуширину) исходящего пучка или <[Diam]>: 26
Введите число шагов дискретного разбиения [10]:<Enter>
Введите дистанцию схождения пучка света (0=паралл. >0=схожд. <0=расхожд.)
<Use2Point Dioptric Intersection [Parallel]>:
i
Укажите точку на заданной линии (в проекции на неё), где пересекаются лучи: -150,0
На какую длину Length продолжить луч? Или до плоскости <[Plane]>: p
Задайте плоскость, до пересечения с которой вести луч
Укажите первую точку на этой плоскости:
@76,0
Укажите другую точку на этой плоскости, или нормаль к ней <[Normal]>: @0,1
Укажите третью 3d Pt точку плоскости <Zaxis>:<Enter>
END OF TRACE

Поясняю.

Цвет луча можно задать от балды. Этот материал задан так, что на всех цветах у него один показатель преломления.

Начальная точка в непосредственной близости от первой поверхности, но не на ней. Это стартовая точка главного луча.

Тип пучка Line или Plane. В данном случае Plane. То есть, свет как бы исходит из плоскости, которая ортогональна главному лучу и прохрдит через стартовую точку.

Радиус пучка задаём 26 мм. Можно диаметр 52 мм. Замечу, что диаметры линз даны с запасом. Рабочая апертура должна быть ограничена диафрагмой.

Число шагов - сколько их будет в поперечнике. Если задать 10, то при пучке типа Plane будет 76 лучей. Если задать 20, то их будет около 300. Чем их больше, том дольше идёт трассировка, то тем точнее анализ. Нам хватит 10.

Дистанция схождения (или расхождения) пучка задаёт положение точечного источника света. 0 или Parallel - на бесконечности. Число >0 - сходится, <0 - расходится. Можно было бы тут задать -149 (а не -150, ведь мы отступили с начальной точкой от начала координат на 1 мм, и это надо учесть). Но можно поступить проще: указать режим I (Intersection, но достаточно буквы i) и зададим положение точки непосредственно.

После трассировки ПЕРВОГО (центрального) луча программа спрашивает, на какую длину его продолжить. Можно указадь длину числом (например, 100). Но тут я задал другой режим ключевым словом Plane (достаточно ввести букву p). Тогда задаём не длину, а плоскость, до которой его продолжить. И не только его, но и все остальные лучи этого пучка. Я её задал по трём точкам: первая @76,0 в относительных координатах (относительно той, откуда начинается последний участок этого луча), другая - в @0,1 относительно неё (только что введённой, а дальше - просто по умолчанию (давим просто Enter) соглашаемся на Zaxis. Это значт, что эта плоскость проходитчерез эти три точки. Фактически эта плоскость перпендикулярна оси X. По ней будут обрезаться лучи на конечном участке трассировки. Ожидаемый фокус находится в 75 мм от помледней поверхности. Но мы обрезаем плоскостью, которая отстоит на 76 мм. То есть, кончик 1 мм будет торчать. Ну и пускай. Так нагляднее видно, где находится фокус.

Результат трассировки можно исследовать командой-функцией DIFRSPOT. Но дифракция (для сравнения) там даётся для зелёного цвета (0.555 мкм), и в данном случае не очень адекватна нашей задаче. Но нам это даже не интересно. Важно что спот укладывается в доли микрона.


--------------------
Теперь всё, я сюда больше не приду. Никогда.
Пользователь offlineПрофайлОтправить личное сообщение
Вернуться к началу страницы
+Цитировать сообщение

6 страниц V < 1 2 3 4 > » 
ОтветитьСоздать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия Сейчас: 23rd January 2021 - 16:12
 
     
Rambler's Top100 службы мониторинга серверов
Gentoo Powered Lighttpd Powered