Ru-Board.club
← Вернуться в раздел «Программы»

» Программы для разработки, тестирования, оптических систем

Автор: Cano_J
Дата сообщения: 16.07.2015 18:16

Цитата:
Чуриловский Халилулин Теория и расчет призменных систем

К сожалению книги не имею, но если Вы работаете на крупном предприятии, возможно присутствует возможность купить книгу (к примеру http://www.alib.ru/au-churilovskij/nm-teoriya_raschet_prizmennyh_sistem/) для большой конторы 800р не деньги. В моей конторе была возможность заказа через библиотеку предприятия.
Автор: wyndyday
Дата сообщения: 17.07.2015 19:27
DSoln

Цитата:
Теория и расчет призменных систем


Несколько книг про призмы здесь hoop://publ.lib.ru/ARCHIVES/B/''Biblioteka_priborostroitelya''/_''Biblioteka_priborostroitelya''.html
Автор: DSoln
Дата сообщения: 17.07.2015 22:13

Цитата:
Цитата:
Чуриловский Халилулин Теория и расчет призменных систем  

К сожалению книги не имею, но если Вы работаете на крупном предприятии, возможно присутствует возможность купить книгу (к примеру http://www.alib.ru/au-churilovskij/nm-teoriya_raschet_prizmennyh_sistem/) для большой конторы 800р не деньги. В моей конторе была возможность заказа через библиотеку предприятия.


Цитата:
Несколько книг про призмы здесь hoop://publ.lib.ru/ARCHIVES/B/''Biblioteka_priborostroitelya''/_''Biblioteka_priborostroitelya''.html

Спасибо. буду смотреть.
Автор: Cano_J
Дата сообщения: 21.07.2015 19:04
Подскажите пожалуйста, из-за чего при подстановке dll с текстом из примеров земакс, может быть сообщение "Cannot locate 'UserObjectDefinition'"? dll собиралась в microsoft visual c++ v6 и 2015. Ошибка была в 2015 версии "Не удается запустить программу (адрес dll) Неподдерживаемая операция. Неизвестная ошибка 0x800700c1".
В 6й версии ошибок не было, но dll не работает в zemax.
Автор: paparazzo
Дата сообщения: 22.07.2015 18:51

Цитата:
Подскажите пожалуйста, из-за чего при подстановке dll с текстом из примеров земакс, может быть сообщение "Cannot locate 'UserObjectDefinition'"? dll собиралась в microsoft visual c++ v6 и 2015. Ошибка была в 2015 версии "Не удается запустить программу (адрес dll) Неподдерживаемая операция. Неизвестная ошибка 0x800700c1".
В 6й версии ошибок не было, но dll не работает в zemax.


Вы как с или как с++ компилировали?

Если как с++ работать не будет. У С есть такие команды, что в C++ не проходят. Возможно компилятор и ругается...

Например strcpy которая служит для заполнения имён параметров объекта Zemax, её компилятор C++ не распознаёт.
Автор: ILILIL1971
Дата сообщения: 22.07.2015 20:48
В 16-ой версии вроде как добавили поддержку С++ и С#. Подробно еще не изучал...
Автор: Cano_J
Дата сообщения: 22.07.2015 21:13

Цитата:
Вы как с или как с++ компилировали?

Нашел закладку, компилировать как си и заменил расширение файла на с. Результат тот же.
Автор: Paredam
Дата сообщения: 23.07.2015 21:33

Цитата:
Как ориентировать детектор в непоследовательном режиме, зная направляющие косинусы луча.


Coordinate Break and solver - chief ray normal
или в оптимизаторе - RAID=0
Автор: ILILIL1971
Дата сообщения: 24.07.2015 09:47

Цитата:
Coordinate Break and solver - chief ray normal или в оптимизаторе - RAID=0

Речь о непоследовательном режиме.
Автор: paparazzo
Дата сообщения: 28.07.2015 13:12

Цитата:
Coordinate Break and solver - chief ray normal
или в оптимизаторе - RAID=0


Вообщем суть в том, что имея косинусы луча, искомые углы Tilt about X, Tilt about Y, Tilt about Z и матрицы поворота с этими углами, получаем систему трех уравнений, относительно Tilt about X, Tilt about Y, Tilt about Z.
Которую пока не удалось решить...
Система строится так матрица поворота вокруг X умножается на вектор (0,0,1), на полученный вектор умножается матрица поворота Y, потом матрица Z.
В итоге она равна вектору заданному косинусами лучей.
Вектор (0,0,1) из того, что это объект изначально вдоль оси Z ориентирован

Напомню задача - ориентировать объект в непоследовательном режиме, так же как главные лучи для определенных полей последовательной системы.
Ориентация только через углы поворота вокруг осей (Tilt about X, Tilt about Y, Tilt about Z), нету другого способа в Zemax..

Хотя может есть варианты?
Автор: Igorr
Дата сообщения: 28.07.2015 15:26
paparazzo
Попробуйте сформулировать задачу в математическом виде без привязки к земакс, а я попробую ее решить на этой неделе.
Автор: paparazzo
Дата сообщения: 28.07.2015 18:04
Математически всё просто.
Есть единичный вектор с координатами [0,0,1]. Далее мы поворачиваем его вокруг оси X на угол a, при этом поворачиваются оси Y и Z, потом вокруг новой оси оси Y на угол b, потом вокруг новой оси Z на угол с. В итоге имеем единичный вектор с координатами [l,m,n]

нужно найти углы a,b,c

Цитата из Zemax, как этот поворот осуществляется
"Zemax tilts about the local x axis (which rotates the y and z axes to new orientations), then tilts about the new y axis (which rotates the x and z axes), then finally tilts about the new z axis"

Может я что-то напутал и неверно понял.

Буду блаодарен за любую помощь, так как что-то подвис.

Автор: Igorr
Дата сообщения: 28.07.2015 18:46
При такой постановке задачи, вектор как ни крути, он будет иметь координаты [0,0,1]. Подразумеваю, что координаты вектора имеются ввиду не в системе координат XYZ, а в некоей неподвижной системе координат, так?

Добавлено:
Попробую так:

Дано:
1) неподвижная система координат (СК) (X0,Y0,Z0);
2) плоскость со связанной СК (X',Y',Z'): направление осей X' и Y' - произвольно, ось Z' имеет координаты [x0,y0,z0] в СК (X0,Y0,Z0);
3) плоскость последовательно поворачивается вокруг осей X', Y', Z' на соответствующие углы a,b,c ==> имеем координаты оси Z' в СК (X0,Y0,Z0), равные [l,m,n].

Найти: углы поворотов a,b,c.

Задача такая?
Автор: Cano_J
Дата сообщения: 28.07.2015 19:17

Цитата:
Есть единичный вектор с координатами [0,0,1]. Далее мы поворачиваем его вокруг оси X на угол a, при этом поворачиваются оси Y и Z,  потом вокруг новой оси оси Y на угол b, потом вокруг новой оси Z на угол с. В итоге имеем единичный вектор с координатами [l,m,n]

Возможно не понял вопрос. можно связать несколько объектов и последним будет излучатель которые находится внутри polar detector. Ориентировать его нужным образом.
Автор: paparazzo
Дата сообщения: 28.07.2015 20:29

Цитата:
Ориентировать его нужным образом.


Так в этом и проблема. Исходные данные взяты из последовательного режима, это направляющие косинусы или про простому вектор. Углы поворота для непоследовательного режима неизвестны, т.е. я должен найти их, это графы Tilt about X, Tilt about Y, tilt about Z.

Причем в последовательном фигурируют главные лучи, их косинусы, а не повороты объектов.

Добавлено:

Цитата:
При такой постановке задачи, вектор как ни крути, он будет иметь координаты [0,0,1]. Подразумеваю, что координаты вектора имеются ввиду не в системе координат XYZ, а в некоей неподвижной системе координат, так?
 
Добавлено:
Попробую так:
 
Дано:
1) неподвижная система координат (СК) (X0,Y0,Z0);
2) плоскость со связанной СК (X',Y',Z'): направление осей X' и Y' - произвольно, ось Z' имеет координаты [x0,y0,z0] в СК (X0,Y0,Z0);
3) плоскость последовательно поворачивается вокруг осей X', Y', Z' на соответствующие углы a,b,c  ==> имеем координаты оси Z' в СК (X0,Y0,Z0), равные [l,m,n].
 
Найти: углы поворотов a,b,c.
 
Задача такая?


Да, всё задается в исходной системе координат, координаты вектора так и есть в СК (X0, Y0, Z0). Просто вращение происходит хитрым образом, как описано выше. Я так понялсуть этого вращения из справки Zemax.
Т.е. если взять например объект луч в непоследовательном, и задать все повороты по 45 градусов, то луч не будет по центру соответвующего квадранта. Т.е. по сути это доказывает такие хитрые повороты.

Т.е. первый поворот есть поворот вокруг оси X0, но второй поворот вокруг оси Y1 которая повернута относительно X0, Z1 при этом есть повернутая Z0. Далее при вращении вокруг Y1 получаем ось Z2, последний поворот на угол c вокруг Z2 (Z2 это есть Z0 повернутая на углы a вокруг X0, и на b вокруг Y1).

Как я понял вращение происходит согласно матрице поворота http://dic.academic.ru/dic.nsf/ruwiki/1028815
Автор: Igorr
Дата сообщения: 28.07.2015 21:06
paparazzo, не запутывайте условие задачи
Цитата:
Т.е. первый поворот есть поворот вокруг оси X0, но второй поворот вокруг оси Y1 которая повернута относительно X0, Z1 при этом есть повернутая Z0
Вам нужен математический результат - так давайте и будем придерживаться математических формулировок, иначе можно много рассуждать "вокруг да около". Пункты 1),2),3), перечисленные мной, соответствуют действительности?

Ещё уточнения: координаты [x0,y0,z0] и [l,m,n] известны, а неизвестны только a,b,c; и думаю, направление оси Z' совпадает с нормалью к плоскости.

Если все так, то могу приступить к решению этой задачи. В каком виде желательно предоставить результат?
Автор: paparazzo
Дата сообщения: 28.07.2015 21:42

Цитата:
Пункты 1),2),3), перечисленные мной, соответствуют действительности?


По пунктам:
1) Да, есть неподвижная система координат в которой определены координаты векторов исходного [0,0,1] и повернутого [l,m,n]. Соответствует.
2.) Я не совсем понял вашу формулировку с плоскостью, думаю что не так. Поворачивается то вектор [x0,y0,z0], а не плоскость. Т.е. если есть плоскость со связанной системой координат X', Y',Z', то эта система координат совпадает с CK (X0,Y0,Z0) изначально, до всех поворотов. Оси X'=X0, Y'=Y0, Z'=Z0
3) При повороте на угол a получаем повёрнутую систему координат плоскости X',Y',Z'. При этом после поворота ось X' всё ещё совпадает с осью X0, оси Y' и Y0, Z' и Z0 не совпадают. Далее вращаем на угол b вокруг уже повернутой Y'.
Ну и вращение на угол с ничего не даёт, т.к. вектор изначально совпадает с осью Z, потом совпадает с осью Z'

Имеем координаты вектора [l,m,n] после всех этих поворотов в исходной системе координат (X0,Y0,Z0). Его длина при этом не изменилась.

И как я понял в вашей формулировке [x0,y0,z0] и есть вектор [0,0,1]


Цитата:
Если все так, то могу приступить к решению этой задачи. В каком виде желательно предоставить результат?


Желательно конечно иметь формулы связи a,b,c и l,m,n, либо систему уравнений с неизвестными a,b,c решаемую численно.

Добавлено:
При понимании поворотов я руководствовался разъяснением из справки Zemax:

Each object’s position is defined by 6 parameters: the x, y, and z coordinates, and the rotation about the x, y, and z axes. Zemax first decenters in x, y, and z (decenters are orthogonal so the order does not matter). Then Zemax tilts about the local x axis (which rotates the y and z axes to new orientations), then tilts about the new y axis (which rotates the x and z axes), then finally tilts about the new z axis.
Автор: Cano_J
Дата сообщения: 28.07.2015 21:56

Цитата:
Углы поворота для непоследовательного режима неизвестны, т.е. я должен найти их, это графы Tilt about X, Tilt about Y, tilt about Z.

на странице 38 руководства 10 года, случайно не искомая Вами связь?

во сколько бы времени Вы оценили разработку подобного объектива?
Zeiss 21mm f/2.8 ZM
Number of elements/groups 9/7
Angular field, diag./horiz./vert. 90°/80°/58°
Dimensions (with caps) ø 53 mm, length 75 mm
асферик нет
Автор: Igorr
Дата сообщения: 29.07.2015 02:10
paparazzo, понял; на этой неделе сделаю.

Добавлено:
paparazzo
Сделал.
При начальном совпадении CK (X0,Y0,Z0) и (X',Y',Z') (как требовалось) получилось это:
l = sin(b)
m = -sin(a)*cos(b)
n = cos(a)*cos(b)
Решать можно любые два ур-ия.
Если нужна зависимость [l,m,n] в общем виде при произвольной начальной ориентации (X',Y',Z') относительно (X0,Y0,Z0), то могу дать и ее.
Автор: paparazzo
Дата сообщения: 29.07.2015 07:49
Igorr

Спасибо! В общем виде тоже бы неплохо.

Добавлено:

Цитата:
на странице 38 руководства 10 года, случайно не искомая Вами связь?


Нет. на странице 38 совсем другие углы фигурируют.
Автор: Igorr
Дата сообщения: 29.07.2015 15:04
paparazzo

Цитата:
В общем виде тоже бы неплохо

Пусть начальные направляющие косинусы осей СК (X',Y',Z') в (X0,Y0,Z0) есть:
ось X' : Xx, Xy, Xz
ось Y' : Yx, Yy, Yz
ось Z' : Zx, Zy, Zz
Тогда направляющие косинусы Lx,Ly,Lz оси Z' после всех поворотов (вектор [l,m,n]):
Lv = Xv*sin(b) + (-Yv*sin(a)+Zv*cos(a))*cos(b)
v - индекс, равный x, y, z
Автор: A_P_V
Дата сообщения: 29.07.2015 22:37

Цитата:
Zeiss 21mm f/2.8 ZM Number of elements/groups 9/7 Angular field, diag./horiz./vert. 90°/80°/58° Dimensions (with caps) ø 53 mm, length 75 mm асферик нет

Какие требования по качеству? Допустимое виньетирование, дисторсия.
Автор: Cano_J
Дата сообщения: 30.07.2015 10:10

Цитата:
Какие требования по качеству? Допустимое виньетирование, дисторсия.

Автор: yevogre
Дата сообщения: 30.07.2015 13:11
Вам надо именно Биогон или любой Дабл/Гаусс с заданными параметрами?
Автор: Cano_J
Дата сообщения: 30.07.2015 14:29
Желательно биогон, интересно сколько примерно может времени занять расчет подобного объектива. Хотя любой другой с близкими параметрами тоже интересен.
Автор: yevogre
Дата сообщения: 31.07.2015 08:13
В ЗеБэйсе есть парочка Зоннаров. Посмотрите, погоняйте. Там и Дабл Гауссы тоже есть.
Я просто не представляю как это определить по времени.
У каждого своя методика счета, а сколько машине понадобится - кто-ж его знает.
Автор: ILILIL1971
Дата сообщения: 31.07.2015 19:56
А что требуется считать? Оптимизировать под современные стекла? Толерансы для производства?
Автор: yevogre
Дата сообщения: 31.07.2015 21:22

Цитата:
А что требуется считать?

Человек, ИМХО, интересуется расценкой. Отсюда и время на расчет.
Странно, что Биогон. И именно цайсовский, а не классика от Русинова.
Мне интересно - почему?
Автор: Cano_J
Дата сообщения: 31.07.2015 23:41

Цитата:
А что требуется считать? Оптимизировать под современные стекла? Толерансы для производства?


Цитата:
Мне интересно - почему?

Получить конструктивные параметры. Никаких особых причин. Просто тренировка. И интересно как другие люди оценивают задачу. Хотя наверное бесполезный интерес.
К сожалению не знаю разницу между классикой и вариантом Zeiss.
По идее 2004 года объектив - значит должен быть относительно "современным".
Для расценки интересен был еще человеко/час, но с другой стороны выходит забавно - чем быстрее считает человек, тем меньше получает.
Автор: yevogre
Дата сообщения: 01.08.2015 07:33

Цитата:
К сожалению не знаю разницу между классикой и вариантом Zeiss.

Herbert Gross "Handbook of optical systems", том 4-й, стр. 319...322
Вариант Цейса у вас есть (2-ю страничку вы запостили, значит и первая имеется)
Цитата:
Для расценки интересен был еще человеко/час, но с другой стороны выходит забавно - чем быстрее считает человек, тем меньше получает.
У человека, который считает быстрее расценка часа больше.
Зависит от проги, в которой работаете, лицензии, оригинальности решения.
Ну и оригинальности требований, т.е. что первично - ваша система или корпус заказчика.

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378

Предыдущая тема: Maxthon 3.x - быстрый и мощный браузер


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.